- 桌面应用
- 交互助手
【免费下载链接】clawd-on-desk
A pixel desktop pet that watches Claude Code, Codex, Cursor & other AI coding agents — so you don't have to.
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):
| 配置键 | 类型 | 默认值 | 含义 |
|---|---|---|---|
enabled | boolean | false | 总开关,仅显式开启才生效 |
applicationId | string | "" | 自定义 App ID(17~20 位数字);留空时使用官方默认 ID |
privacyShowProject | boolean | false | 是否在状态行附加当前项目文件夹名(隐私开关) |
mirrorPetAnimation | boolean | false | 是否镜像宠物实时动画 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 自定义回答。安全加固包含三层:
- fail-closed 认证:审批与澄清回调在允许用户未设置时一律拒绝(与既有审批回调保持对等);
- 秘密脱敏:外发的提问/选项文本经过 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 在提问文本里引用密钥导致泄入聊天记录; - 本地化:卡片文案支持五种语言。
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 的死代码迁移卡片渲染层被删除,运行时迁移状态机保留。
五、升级指南
- 版本元数据:
package.json与package-lock.json中的 release 元数据为0.12.0。 - 无需 prefs 版本迁移:本版本无 prefs 版本迁移;新键
discordPresence、feishuApproval、agents.qoderwork由 schema 归一化器在首次启动时回填默认值。 - Discord Rich Presence:从
设置 -> Discord开启,默认使用官方 Application ID,无需 Discord 开发者设置。 - 飞书通道:当前仅支持feishu.cn,SDK 域名硬编码为飞书域,无区域/域名设置,Lark 国际版租户不支持。
- Remote Approval 设置迁移:Telegram、Feishu、LAN Approval 统一归入新的Remote Approval侧栏入口,按通道分子页。
- Kimi 用户:hook 注册优先指向 Kimi Code(
~/.kimi-code);legacy Kimi CLI 安装继续可用。hook 在启动时自动重新同步。 - 升级后至少启动一次:让 hook 注册与 Antigravity wrapper 在下一次启动同步时刷新(自动完成,只需一次启动)。
- 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.
相关推荐
res-downloader 视频资源嗅探完整上手指南:不装抓包工具也能下载视频号无水印视频
res downloader 视频资源嗅探完整上手指南:不装抓包工具也能下载视频号无水印视频 想把刷到的视频存下来,右键另存,存完却打不开;想抓真实地址,抓包工
桌面应用网络音视频Clawd on Desk 实战指南:一款实时感知 AI 编码 Agent 状态的像素桌面宠物
Clawd on Desk 实战指南:一款实时感知 AI 编码 Agent 状态的像素桌面宠物 Clawd on Desk(以下简称 Clawd)是一款运行在
桌面应用交互助手DLSS Swapper 指南:把游戏里的超采样 DLL 更新到最新版,全程可回滚
DLSS Swapper 指南:把游戏里的超采样 DLL 更新到最新版,全程可回滚 不少游戏随包附带的超采样 DLL(比如 nvngx_dlss.dll )已经
桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考