Keet CLI

Polar Sponsor
爱发电 赞助
.NET 9.0

安全操作和改进 Keet CLI 项目以及 Keet ↔ OpenClaw 桥接。用于只读检查、调试、文档、发布检查以及桥接支持。

Keet CLI.

功能概述

Keet CLI.是一项面向实际任务的技能,主要用于Overview. 在 Keet Messent 和 Keet QQ OpenClaw 桥面工作流程操作或改进 Keet-cli 项目时使用此技能;默认只读检查;

核心要点

  • 全部使用 Keet pr。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Keet CLI

概述

在操作或改进 keet-cli 项目(用于 Keet Messenger 及 Keet ↔ OpenClaw 桥接工作流)时,使用本技能。

默认采用只读检查模式。将所有实时 Keet 个人资料数据和私密聊天内容视为敏感信息。不得泄露密钥、恢复材料、私密消息、邀请/个人资料代码,或生成的桥接状态。

使用前请务必验证项目源码:https://github.com/projectreturn/Keet-cli。

必需的安全守门机制

执行任何外部操作或状态变更操作前,必须获得用户对以下各项的明确确认:

  • 精确的 Keet 个人资料/存储路径,
  • 精确的目标聊天或房间,
  • 精确的外发消息/操作内容,
  • 该操作是否可能启动长期运行的进程,
  • 推送前 Git 仓库、分支及提交差异(commit diff)的精确信息。

除非用户明确要求执行对应操作,否则禁止加入邀请、创建聊天、路由额外聊天、打印恢复/账户材料,或推送代码。

快速工作流

  1. 定位项目仓库。常见默认路径:/openclaw/workspace/keet-cli。
  2. 使用前验证来源可信性与本地状态:
git remote -v
git status --short --branch
npm run lint
node src/cli.js --help
  1. 优先使用只读命令。
  2. 在执行任何 send、bridge、daemon、invite、chat 或 Git 推送操作前,确认全部所需安全守门机制已通过。
  3. 完成编辑后,在报告完成前运行 npm run lint 并检查 git diff。

只读命令

除非用户指定其他检出路径,否则均在仓库根目录下执行。

npm run lint
node src/cli.js --help
node src/cli.js inspect
node src/cli.js rooms
node src/cli.js messages --limit 10
node src/cli.js tui

仅当用户提供或确认了路径时,才覆盖 Keet 存储路径:

KEET_APP_STORAGE=/confirmed/path/to/app-storage node src/cli.js inspect

状态变更命令

仅在用户明确确认个人资料、目标聊天及具体操作后,方可执行以下命令:

node src/cli.js send '已确认的消息文本'
node src/cli.js send-file --caption '已确认的说明文字' /confirmed/file/path
node src/cli.js bridge
node src/cli.js daemon --socket .keet-cli.sock
node src/cli.js daemon-send --socket .keet-cli.sock current
node src/cli.js watch --interval 2000

对于 send-file,发送前须确认文件路径、目标聊天及说明文字;对于 watch、daemon、supervisor 或桥接模式,需向用户说明该进程是否会持续运行,以及如何终止它。

敏感数据规则

  • 将 Keet 个人资料存储、账户/恢复材料、私钥、令牌、邀请/个人资料代码、桥接状态及含私密消息的日志,全部视为敏感数据。
  • 禁止提交实时 Keet 个人资料存储、生成的状态文件、日志、私密聊天截图或复制的私密消息。
  • 除非用户明确要求检查特定消息,否则避免打印消息内容。
  • 在摘要与错误信息中,对密钥及私密消息内容进行脱敏处理(redact)。
  • 在共享/群组上下文中,不得暴露用户专属的聊天名称、密钥、路径、消息内容或操作细节。

存储锁模型

Keet Desktop 与 keet-cli 不应同时访问同一份实时存储。Keet 使用设备文件/FD 锁保护数据库。

若因锁机制导致命令失败,请按以下步骤排查:

  1. 检查 Keet Desktop 或其他 keet-cli 进程是否已在使用该个人资料。
  2. 优先通过 daemon --socket .keet-cli.sock 显式批准一个长期运行的主控进程,并将 CLI/桥接操作统一经由 daemon-send 路由,而非启动相互竞争的会话。
  3. 未经用户明确批准,不得终止用户进程。

TUI 模式

仅在确认无其他实时 Keet 主控进程使用相同存储的前提下,方可启用 TUI 模式进行交互式本地检查:

node src/cli.js tui

TUI 支持列出房间、选择房间、查看近期消息及发送消息。其中“发送”属于状态变更操作:发送前须先确认目标聊天及确切消息内容。

守护进程 / REPL 模式

仅当需要重复执行读取/发送操作,且用户已批准启动长期运行进程时,方可启用守护进程模式:

node src/cli.js daemon --room ROOM_ID --socket .keet-cli.sock

常用 REPL 命令:

/status
/messages 10
/send 已确认的消息文本
/send-md **已确认** _markdown_
/send-file /confirmed/file/path 已确认的说明文字
/rooms
/current
/use ROOM_ID
/quit

套接字(socket)自动化调用每次仅接受一条 JSON 命令:

node src/cli.js daemon-send --socket .keet-cli.sock status
node src/cli.js daemon-send --socket .keet-cli.sock send '{"text":"已确认的消息","format":"plain"}'
node src/cli.js daemon-send --socket .keet-cli.sock send-file '{"filePath":"/confirmed/file/path","caption":"已确认的说明文字"}'

当存在默认守护进程套接字时,send 和 send-file 将优先尝试通过守护进程执行;若失败,则回退至直接 Core 会话。可通过设置 KEET_CLI_NO_DAEMON=1 强制使用直接模式,或设置 KEET_CLI_DAEMON_STRICT=1 使失败时不回退而直接报错。

此举可避免独立的 watch、send 和 send-file 进程之间产生冲突。

Watch 模式

仅在用户确认个人资料与聊天范围后,方可启用 Watch 模式:

node src/cli.js watch --interval 2000

默认忽略本地/自身发出的消息。仅在调试确有需要时,才使用 --include-local 参数。

Keet ↔ OpenClaw 桥接

首次调试时,请以前台方式运行桥接:

node src/cli.js bridge
node src/cli.js bridge --daemon-socket .keet-cli.sock --config bridge.config.json

仅在用户确认需要持久化进程后,方可启用 supervisor/container 模式。

当守护进程已拥有 Keet 个人资料时,优先使用 --daemon-socket。在此模式下,桥接将复用已有守护进程,而非自行启动 Core 侧车(sidecar)。

一个安全的桥接实现必须满足以下要求:

  • 默认禁用多房间路由功能,
  • 仅转发配置白名单中显式批准的聊天,
  • 上报邀请/成员事件但不自动加入或响应,
  • 当目标聊天不明确时,以失败关闭(fail closed)方式处理,
  • 除非调试需要,否则忽略自身/本地回显消息,
  • 持久化足够状态,以避免重复回复并维持选定的模型模式,
  • 在配置启用时,本地处理 Keet 音频消息:仅从 Keet 的本地文件链接下载、使用本地 Whisper 进行转录,并转发转录文本而非原始音频,
  • 支持显式的模型切换命令,例如 lokal、online 和 modell status,
  • 禁止记录私密消息内容或密钥,
  • 任务完成后提供停止命令或自动终止。

发布检查清单

发布或公开前,请执行以下检查:

npm run lint
git status --short --branch
git diff --stat
git log --oneline -5

执行任何 Git 推送前,须确认将使用的仓库、分支、差异(diff)以及凭证/身份。禁止在公开技能内容中嵌入私钥路径或打印私钥。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134万人学习