☰
Clawd on Desk v0.12.0 发版详解:远程审批通道、Discord 状态同步与更广的 AI 编码 Agent 覆盖
2026/10/9 12:12:11 网站建设 项目流程
  • 桌面应用
  • 交互助手

【免费下载链接】clawd-on-desk

A pixel desktop pet that watches Claude Code, Codex, Cursor & other AI coding agents — so you don't have to.

项目地址:https://gitcode.com/gh_mirrors/cl/clawd-on-desk
点击查看免费下载

v0.12.0 是 Clawd on Desk 的一次「远程审批 + Agent 覆盖」版本:它带来了 Discord Rich Presence 状态同步、WSL 自动发现与一键配对、飞书远程审批通道、Telegram 澄清提问(AskUserQuestion)支持、LAN Approval(beta),并新增 Kimi Code 与 QoderWork 两类 Agent 接入,同时围绕 Windows PowerShell 窗口闪烁、Antigravity stdin 处理、macOS IME 遮挡与多显示器 mini 模式做了成规模的修复。读完本文,你将掌握这些新能力的启用方式、配置键含义、底层实现路径与升级注意事项,可直接对照本仓库源码进行验证。

一、版本总览

根据 docs/releases/release-v0.12.0.md,本版本的核心定位是remote-approval(远程审批)与 agent-coverage(Agent 覆盖),共包含:

  • 新增特性 10 项:Discord Rich Presence、WSL 自动发现与一键配对、飞书远程审批、Telegram 澄清提问(beta)、LAN Approval(beta)、Kimi Code 支持、QoderWork 支持、上下文/账号用量条、不可逆操作提示、专属漫游行走动画;
  • Bug 修复与加固 14 组,覆盖 Windows、macOS、WSL、Telegram/飞书通道与权限气泡等多个面;
  • 移除 2 项:Hardware Buddy(Clawstick)集成与 Telegram 迁移卡片渲染层;
  • 迎来8 位首次贡献者。

发布元数据方面,package.json 与package-lock.json中的版本被置为0.12.0(当前仓库后续已演进到 1.2.0,但 v0.12.0 发布时的版本标记即为此值)。

二、新特性:从远程状态到远程审批

2.1 Discord Rich Presence:零配置镜像 Agent 状态(#215、#508、#644、#649、#650)

Clawd 可以把当前正在运行的 AI 编码 Agent 状态镜像到你的 Discord 个人资料中。官方「Clawd on Desk」Application ID 内置在应用里,开箱即用,不需要任何 Discord 开发者后台配置;自定义 App ID 作为折叠的高级选项保留。

从源码看,该功能的两个核心模块是:

  • src/discord-presence-settings.js:配置归一化与校验。内置的DEFAULT_CLAWD_DISCORD_APP_ID = "1525141423328854179",这是公开的 App ID(非 Token);APP_ID_RE = /^[0-9]{17,20}$/校验用户自定义 ID 必须是 17~20 位数字雪花值。
  • src/discord-presence-rpc.js:基于 Discord 本地 IPC 管道的 Presence 桥接。ipcCandidatePaths()在 Windows 上探测\\?\pipe\discord-ipc-0..9,在 POSIX 上遍历XDG_RUNTIME_DIR下的discord-ipc-*(含 Snap 与 Flatpak 路径变体);握手(HANDSHAKE/READY)、SET_ACTIVITY帧、PING/PONG、断线指数退避重连(最大 30s)全部在createDiscordPresenceBridge中实现。

设置键与默认值(discordPresence预配置对象,见 src/prefs.js 与 src/discord-presence-settings.js):

配置键类型默认值含义
enabledbooleanfalse总开关,仅显式开启才生效
applicationIdstring""自定义 App ID(17~20 位数字);留空时使用官方默认 ID
privacyShowProjectbooleanfalse是否在状态行附加当前项目文件夹名(隐私开关)
mirrorPetAnimationbooleanfalse是否镜像宠物实时动画 GIF(比粗粒度状态透露更多细节,故单独 opt-in)

实现细节与隐私契约:

  • 状态被收敛为粗粒度标签(COARSE_LABEL):idle→Idle、thinking→Thinking、working→Working、waiting→Waiting for input;juggling/carrying/sweeping 统一归入 working 桶,避免瞬时动作放大成公开状态。
  • 负载构造buildPresencePayload()采用严格白名单:只读取state、badge、完成标志等状态字段,sessionTitle、assistantLastOutput等敏感快照字段永远不会进入 Presence。
  • Discord 会直接丢弃state/details超过 128 字符的SET_ACTIVITY,因此ACTIVITY_FIELD_MAX = 128会按码点截断文件夹名拼接。
  • 发送采用最小 5 秒间隔(MIN_SEND_INTERVAL_MS = 5000)的节流 + 变化才发布(publish-on-change)机制,规避 Discord IPC 节流并合并快速翻转。
  • pickDominantSession()与 HUD 使用同一套优先级判定(getStatePriority),保证 Discord 与悬浮 HUD 对「当前活跃会话」的认知一致,并自动丢弃被快照构建器折叠进hiddenFromHud的过期 Codex 会话。
  • 官方图标走CLAWD_ICON_URL(静态 PNG);若开启动画镜像,则按SVG_GIF映射表把宠物当前 svg 状态动画映射到assets/discord-presence/下的放大 GIF(如clawd-typing.gif、clawd-juggling.gif),以large_image形式展示实时精灵动作。

启用方式:设置 -> Discord中开启即可,无需 Discord 开发者设置。对应测试见 test/discord-presence-rpc.test.js 与 test/discord-presence-settings.test.js。

2.2 WSL 自动发现与一键配对(#565)

Clawd 现在可以自动枚举 WSL 发行版(wsl.exe探测,见 src/wsl-utils.js 与 src/wsl-deploy.js),把 Agent hook 一键配入 WSL 侧,并给会话打上 WSL 来源标记,让 Windows/WSL 混用环境在会话列表中保持可读。检测与刷新逻辑位于 src/agent-installation-detector.js(wslAgents/wslDistros/wslPending状态字段),配套测试见 test/agent-installation-detector-wsl-refresh.test.js。

重要前提:WSL 配对要求mirrored 网络模式(.wslconfig中配置networkingMode=mirrored)。默认 NAT 模式下 Windows 侧服务绑定在127.0.0.1,WSL 虚拟机无法访问,配对的 hook 无法上报;配对步骤检测到该情况时会主动告警。

2.3 飞书远程审批通道(#511)

权限请求现在可以从飞书(feishu.cn)批准或拒绝,加入 Telegram 成为第二个远程审批通道。配置对象为feishuApproval(src/prefs.js),归一化逻辑在 src/feishu-approval-settings.js:平台字段platform限定为feishu/lark枚举,SDK 域名硬编码为飞书域,用户无法输入 host(这同时保证了 App Secret 永远不会被发往任意域名)。

版本限制:本版本仅支持飞书(feishu.cn),不提供区域/域名设置,Lark(国际版)租户不在支持范围内。完整开通指引可参考 docs/guides/feishu-lark-remote-approval.md。

2.4 Telegram 澄清提问 AskUserQuestion(beta,#609、#651)

当 Agent 提出澄清性问题时,Telegram 与飞书通道会把选项渲染成交互式卡片,并支持带引号的 Other 自定义回答。安全加固包含三层:

  1. fail-closed 认证:审批与澄清回调在允许用户未设置时一律拒绝(与既有审批回调保持对等);
  2. 秘密脱敏:外发的提问/选项文本经过 src/secret-redact.js 的redactSecrets()处理——Telegram bot token(\d+:[A-Za-z0-9_-]{20,})、Authorization头、Slack webhook URL、sk-前缀 token、xoxSlack token、GitHub PAT、AIza/AKIA云密钥、KEY=val形状的秘密键值对以及长数字 ID 都会被替换为<redacted:...>占位符,防止 Agent 在提问文本里引用密钥导致泄入聊天记录;
  3. 本地化:卡片文案支持五种语言。

Beta 阶段有两个已知保真度边界(已追踪于 #659):长问题的显示形式与答案键可能不一致、选项标签超过 32 字符时的处理。此外,如果 Agent 的属性(agent 归属)标注错误,本版本也一并修复,并给 CodeBuddy 安装器补了所有权测试。

2.5 LAN Approval(beta)与设置侧栏整合(#645)

Remote Approval 设置被整合到单一侧栏入口 + 按通道分子页的结构下(Telegram、Feishu、LAN Approval 各占一个子页签)。LAN 通道在 beta 开关后发布,属于「仅限局域网内可信环境」的能力,预期仍有粗糙边缘。

2.6 Kimi Code 支持(#593、#563)

新的 Kimi Code CLI(数据目录~/.kimi-code)与旧版 Kimi CLI(~/.kimi)并行支持,启动时自动注册 hook。安装器 hooks/kimi-install.js 中清晰区分两种配置路径与两种钩子命令风格:

  • legacy Kimi CLI:~/.kimi/config.toml;
  • Kimi Code(TypeScript CLI):~/.kimi-code/config.toml(对齐上游apps/kimi-code/src/utils/paths.ts);
  • hook 命令形式:当前版使用... kimi-hook.js" --permission-mode=<mode>(argv 后缀),legacy 版使用CLAWD_KIMI_PERMISSION_MODE=<mode> "node" "...kimi-hook.js"环境变量形式。

kimi-code 目标还内置了写前校验(解析即将写入的[[hooks]]块,非法 key、未知事件、越界 timeout、非单行 TOML 命令都会抛错),避免破坏上游严格 schema。

2.7 QoderWork IDE Agent 支持(#598、#510)

QoderWork 会话获得仅状态跟踪(Phase 1),镜像既有 Qoder 集成。对应 hook 安装器为 hooks/qoderwork-install.js,安装脚本见 package.json 的install:qoderwork-hooks。预配置默认值(src/prefs.js)显示 QoderWork 为 state-only:permissionsEnabled: false(权限气泡默认关闭)、notificationHookEnabled: true。

2.8 上下文与账号用量条(#590)

Claude Code 1M 上下文检测得到修正;Antigravity 的 HUD/仪表盘新增上下文与账号用量条。配套实现可在 Antigravity 状态栏相关 hook(hooks/antigravity-statusline.js)与上下文用量逻辑(hooks/context-usage.js)中查看。

2.9 权限气泡不可逆操作提示(#613、#625)

当权限气泡中的命令看起来「不可逆」时,气泡会显示警告徽章。实现具备四个特性:引号感知的片段切分(避免把引号内的参数误判为命令)、命令位置锚定、输入扫描上限(避免无限扫描长命令)、暗色模式主题适配。对应测试见 test/bubble-irreversible.test.js。

2.10 专属漫游行走动画(#612、#580)

Calico 与 Cloudling 主题获得各自的自由漫游行走动画;螃蟹获得方向感知的蟹步(含镜像翻转)。动画资源位于 assets/gif 与 assets/svg 目录中。

三、Bug 修复与加固

3.1 Windows PowerShell 窗口闪烁(#627、#628、#630)

hook 事件不再每次冷启动一个 PowerShell 窗口:会话级快照缓存 + 滑动 TTL,spawn 时携带-WindowStyle Hidden。后续加固由首次贡献者 @Schlaflied 完成(#628),对应的安装器断言可见于 test/antigravity-install.test.js。

3.2 Antigravity stdin 可靠性(#568、#582、#585、#638、#641)

修复了 hook runner 永不关闭 stdin 导致的首 token 停滞问题:改为EOF 驱动读取 + 2 秒安全网,增加sid=default诊断输出,并修复 Windows(cp65001)下 Antigravity wrapper 向 hook stdin 泄漏 UTF-8 BOM 的问题。

3.3 Telegram 远程审批加固(#600、#611)

  • 气泡禁用时审批仍可用;
  • 摘要降级路径恢复正常;
  • 卡片文本中$替换问题修复;
  • 审批 / Direct Send / 设置界面完成本地化;
  • 纯远程「跳转到终端」(go to terminal)解析为no-decision而不是挂起 hook。

3.4 macOS IME 遮挡(#626)

文本输入气泡不再遮挡 macOS IME 候选窗口,IME 编辑状态可见性统一走单一入口往返传递。

3.5 Mini 模式保持所在显示器(#547)

从 mini 模式恢复时,宠物停留在吸附的那块显示器上,不再跳到相邻显示器。

3.6 Windows 可执行文件图标(#621)

打包配置移除signAndEditExecutable: false,重新为 exe 注入图标与版本信息(相关构建配置见 package.json 的build.win段)。

3.7 Qoder Windows hooks(#597、#615)

Qoder hook 命令改为 bash 可移植写法,使 Windows 上经由 bash 执行 Qoder hook 的环境恢复可用;QoderWork 的 Windows hook 同样采用 bash 可移植形式(与 #615 对齐)。

3.8 WSL 共享 Codex 配置(#544、#594)

Codex hook 条目写入双命令字段(command+commandWindows),使 Windows 与 WSL 共享的CODEX_HOME两侧都能工作。

3.9 全屏任务栏回归(#586、#587)

hit-window 可聚焦翻转之后重新断言skipTaskbar,宠物在全屏 overlay 期间不再重新出现在任务栏。

3.10 混合 DPI 漫游尺寸(#569、#579)

行走尺寸锚定,宠物跨不同 DPI 的显示器漫游时不再被放大。

3.11 宠物隐藏时权限热键(#601、#604)

即使宠物窗口被隐藏,可见气泡的 Allow/Deny 全局热键仍然生效。

3.12 Telegram 编码清理(#622)

移除残留 BOM,恢复 #609 引入的 Telegram 字符串中的 mojibake 箭头。

3.13 远程审批发布前加固(pre-release)

  • Telegram 审批回调在允许用户未设置时 fail-closed(与澄清提问对齐);
  • 飞书卡片中 Agent 可控文本剥离 Markdown/结构字符与秘密,防止伪造状态行或注入提及;
  • 澄清提问/选项文本离开桌面之前先做秘密脱敏;
  • 非字符串的 tool-input 字段不再导致权限气泡崩溃。

四、移除项

  • Hardware Buddy(Clawstick)集成移除(#646):实验性硬件伴侣集成退役。hardwareBuddy预配置键不再被读取;已有 prefs 文件中的残留键被无害忽略(schema 归一化行为见 src/prefs.js)。
  • Telegram 迁移卡片层移除(#647):v0.9.0 的死代码迁移卡片渲染层被删除,运行时迁移状态机保留。

五、升级指南

  1. 版本元数据:package.json与package-lock.json中的 release 元数据为0.12.0。
  2. 无需 prefs 版本迁移:本版本无 prefs 版本迁移;新键discordPresence、feishuApproval、agents.qoderwork由 schema 归一化器在首次启动时回填默认值。
  3. Discord Rich Presence:从设置 -> Discord开启,默认使用官方 Application ID,无需 Discord 开发者设置。
  4. 飞书通道:当前仅支持feishu.cn,SDK 域名硬编码为飞书域,无区域/域名设置,Lark 国际版租户不支持。
  5. Remote Approval 设置迁移:Telegram、Feishu、LAN Approval 统一归入新的Remote Approval侧栏入口,按通道分子页。
  6. Kimi 用户:hook 注册优先指向 Kimi Code(~/.kimi-code);legacy Kimi CLI 安装继续可用。hook 在启动时自动重新同步。
  7. 升级后至少启动一次:让 hook 注册与 Antigravity wrapper 在下一次启动同步时刷新(自动完成,只需一次启动)。
  8. Windows 上的 Codex:双字段commandWindows(#544)仅被 2026-05 前后的 Codex 构建识别;旧版 Codex 会忽略它并在 Windows 上运行 POSIX 命令形式——若在 Windows 使用 Codex,请升级 Codex。

六、已知限制

  • 飞书通道尚未在 feishu.cn 租户上完成端到端真机验证;流程按飞书域实现但未经实机确认,欢迎反馈。
  • QoderWork 支持仅为状态跟踪(Phase 1),且尚未在装有 QoderWork 的机器上做过打包构建冒烟测试。
  • LAN Approval 为 beta:预期存在粗糙边缘,仅视为局域网可信环境使用。
  • WSL 配对要求mirrored 网络模式(.wslconfig中networkingMode=mirrored);NAT 模式下 Windows 侧127.0.0.1服务对 WSL 虚拟机不可达。
  • Discord Rich Presence 真机验证由贡献者完成;发布后计划进行打包构建回归。
  • Codex 终端聚焦仍不可用(官方 hook 与 JSONL 回退均不携带可用终端 PID)。
  • macOS 与 Linux 打包版自动更新仍为手动下载;git checkout 用户可通过 git 模式更新器升级。

七、贡献者

v0.12.0 迎来8 位首次贡献者:@KaiC5504(Discord Rich Presence #508)、@V1staz(WSL 自动发现与一键配对 #565)、@yanguibao1997(飞书通道 #511)、@JasonZH6600(Telegram 澄清提问 #609 与远程审批加固 #600)、@Yike-Ye(用量条与 Claude Code 1M 检测 #590、macOS IME 遮挡 #626)、@royhuang91(mini 模式显示器恢复 #547)、@Schlaflied(PowerShell 快照 spawn 加固 #628)、@xiaoshidefeng(QoderWork 集成 #510/#598)。此外还有回归贡献者 @chrono-meta(不可逆操作提示 #613),以及 @rullerzhou-afk(creator)、@YOIMIYA66(维护者评审与 QA)、@Bynlk(Mobile/PWA 伴生线持续维护)。

如果希望核对后续演进,可继续阅读同一目录下的 docs/releases/release-v0.13.0.md 与 docs/releases/release-v1.0.0.md;远程审批的整体架构还可在 docs/guides/telegram-approval.md 与 docs/guides/feishu-lark-remote-approval.md 中进一步了解。

  • 桌面应用
  • 交互助手

【免费下载链接】clawd-on-desk

A pixel desktop pet that watches Claude Code, Codex, Cursor & other AI coding agents — so you don't have to.

项目地址:https://gitcode.com/gh_mirrors/cl/clawd-on-desk
点击查看免费下载

相关推荐

上一篇:Kubernetes Handbook 实战指南:Secret 配置与敏感信息管理
下一篇:Presto 0.293 版本发布详解:Thrift 序列化、Router 增强、原生执行与连接器新特性全解读

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询