🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面宠物 rpegorov/agent-pet

DeepSeek Harness
rpegorov17 天前有提交已提供中文文档扫描:含敏感能力

用桌面宠物实时显示编码智能体状态并就地回应权限请求

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add rpegorov/agent-pet
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/31) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    plugins/dsh-agent-pet/client.js:17
    const response = await fetch(url, { signal: controller.signal, cache: 'no-store' });
  • 写入本地文件
    plugins/dsh-agent-pet/index.js:53
    mkdirSync(dirname(file), { recursive: true, mode: DIR_MODE });
  • 读取本地文件
    plugins/dsh-agent-pet/index.js:54
    if (existsSync(file) && statSync(file).size > ROTATE_BYTES) renameSync(file, `${file}.1`);
  • 写入本地文件
    plugins/dsh-agent-pet/index.js:54
    if (existsSync(file) && statSync(file).size > ROTATE_BYTES) renameSync(file, `${file}.1`);
  • 读取本地文件
    plugins/dsh-agent-pet/index.js:54
    if (existsSync(file) && statSync(file).size > ROTATE_BYTES) renameSync(file, `${file}.1`);
  • 写入本地文件
    plugins/dsh-agent-pet/index.js:55
    appendFileSync(file, `${JSON.stringify(event)}\n`, { flag: 'a', mode: FILE_MODE });
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

桌面宠物,实时显示你的编程智能体(Claude Code、Codex、DeepSeek Harness)在做什么,还能让你直接回应它们的权限提示词

README

由 DeepSeek 最新模型翻译生成
agent-pet 给编码智能体用的桌面悬浮宠物。每个活跃智能体对应一个角色(Claude Code、Codex、DeepSeek Harness,或任何能执行 shell 命令的东西);她的情绪跟着智能体走,智能体请求权限时,宠物会在气泡里显示提示词,你不用切换窗口就能回答。 agent-pet 显示权限气泡 宠物只在会话正在工作、等你回应或刚刚结束时出现。一切都在本地:智能体把 JSON 行追加到文件,悬浮层读取这个文件。不经过网络,也没有账号;可选的 DSH 插件会开一个仅限回环的端口(127.0.0.1),供悬浮层的打开会话命令使用。 环境要求 - macOS 14 或更高版本 - Swift 6 工具链(Xcode 或 Command Line Tools) - Python 3(macOS 自带;安装脚本会用到) ChatGPT(聊天应用)没有本地插件 API,所以无法与它集成。在 ChatGPT.app 里运行的 Codex 由下面的 Codex 插件覆盖。
展开完整文档(README 剩余 1 节)
agent-pet

给编码智能体用的桌面悬浮宠物。每个活跃智能体对应一个角色(Claude Code、Codex、DeepSeek Harness,或任何能执行 shell 命令的东西);她的情绪跟着智能体走,智能体请求权限时,宠物会在气泡里显示提示词,你不用切换窗口就能回答。

agent-pet 显示权限气泡

宠物只在会话正在工作、等你回应或刚刚结束时出现。一切都在本地:智能体把 JSON 行追加到文件,悬浮层读取这个文件。不经过网络,也没有账号;可选的 DSH 插件会开一个仅限回环的端口(127.0.0.1),供悬浮层的打开会话命令使用。

环境要求

- macOS 14 或更高版本
- Swift 6 工具链(Xcode 或 Command Line Tools)
- Python 3(macOS 自带;安装脚本会用到)

ChatGPT(聊天应用)没有本地插件 API,所以无法与它集成。在 ChatGPT.app 里运行的 Codex 由下面的 Codex 插件覆盖。

安装

git clone https://github.com/rpegorov/agent-pet.git
cd agent-pet
scripts/install.sh # build, install to ~/.local/agent-pet, hook up Claude Code and Codex
scripts/install.sh --launch-agent # also start the overlay at login

install.sh 还接受 --no-claude-hooks 和 --no-codex-hooks(配合下面的插件使用),以及 --uninstall。

接入智能体

对同一个智能体,要么用插件,要么用 install.sh 的钩子,不要两者都用。两者同时启用会让每个事件投递两次、每个权限请求询问两次;事件发送端不做去重,因为它分不清哪个钩子先触发。插件只负责钩子接线,所以先跑一次 scripts/install.sh --no-claude-hooks --no-codex-hooks,装好二进制和悬浮层。

Claude Code。 install.sh 会把钩子写进 ~/.claude/settings.json。或者用插件:

/plugin marketplace add rpegorov/agent-pet
/plugin install agent-pet@agent-pet

Codex。 install.sh 会把钩子写进 ~/.codex/hooks.json,并在 ~/.codex/config.toml 里信任它们。或者用插件:

codex plugin marketplace add rpegorov/agent-pet
codex plugin add codex-agent-pet@agent-pet

用命令行安装时,Codex 不会信任插件的钩子,所以在你批准之前它们不会生效(见「疑难排查」)。走 install.sh 这条路没有这一步。

DeepSeek Harness(DSH)。 plugins/dsh-agent-pet 是独立的 DSH 插件。在配置档的 package.json 里加依赖 "dsh-agent-pet": "link:/path/to/agent-pet/plugins/dsh-agent-pet",把 "dsh-agent-pet" 加进 dsh.profile.bundles,安装,然后重启 DSH。它会汇报会话状态,并允许悬浮层在 Harness 界面里打开会话或发起聊天。

其他任何东西(脚本、任务运行器、其他智能体):

agent-pet-emit send --agent glm --session task-1 --label "refactor" --mood working
agent-pet-emit send --agent glm --session task-1 --mood complete

事件协议

agent-pet-emit 每发生一个事件,就往 ~/.agent-pet/events.jsonl 追加一行(可用 AGENT_PET_LOG 覆盖路径);浮层会跟踪这个文件。文件超过 512 KiB 后轮转为 events.jsonl.1。

{"v":1,"agent":"claude","session":"5e9d","mood":"working","label":"Bash","ts":1792276251.42}

mood 取值为 idle、working、attention、complete 或 ended(移除会话)。label 最多 40 个字符。以下字段可选,未知时省略:cwd、app(宿主应用的 bundle id)、tty、detail(权限摘要,最多 200 个字符)、permission(待处理请求的 id)。

衰减规则:working 状态 120 秒无事件即隐藏,complete 10 秒后隐藏,attention 10 分钟后隐藏,会话静默 30 分钟即丢弃。智能体的宠物显示其活跃会话中优先级最高的 mood:attention、working、complete。

权限气泡

浮层运行时,agent-pet-emit permit(PermissionRequest 钩子)会在气泡里显示待处理的工具调用,带 Deny、In agent 和 Allow 三个按钮,以及倒计时。

- 气泡显示完整的工具输入(格式化后的 JSON,上限 8 KiB)。输入被截断或无法读取时,不提供 Allow。
- In agent 把提示词交还给智能体自己的对话框。倒计时结束前无人应答(最长 40 秒,由 AGENT_PET_PERMIT_WAIT 秒数控制,默认 30),或浮层停止运行,就照常弹出原生对话框。宠物从不自动允许。
- 会向你提问的工具(AskUserQuestion、ExitPlanMode)不会变成气泡。
- 请求存放在 ~/.agent-pet/permissions/(仅所有者可访问),在应答、过期或钩子被杀掉时删除。
- 浮层自身的文案(Deny、In agent、Allow、状态标签)是英文,不做本地化;来自智能体的标签(工具名、会话标题)按原样显示。
- 要关闭气泡,退出浮层(钩子随后保持静默),或在智能体的钩子配置里把 PermissionRequest 命令从 permit 改成 hook。

隐私

agent-pet 把所有数据留在你的 Mac 上,不向网络发送任何内容。

- 写入内容。 ~/.agent-pet/events.jsonl 每个钩子事件一行:智能体名称、会话 id、mood、简短标签(工具名、会话标题或通知文本)、工作目录、宿主应用的 bundle id、终端 tty,权限请求还包含工具调用摘要(最多 200 个字符)。提示词、工具输出和文件内容不记录。
- 权限请求。 请求待处理期间,~/.agent-pet/permissions/ 保存其完整工具输入(最多 8 KiB)。请求被应答、过期或钩子被杀掉时删除该文件;超过 2 分钟的残留会被清理。
- 访问权限。 目录仅所有者可访问(0700),日志为 0600。日志在 512 KiB 时轮转,保留一份上一版文件。
- 读取内容。 浮层读取事件日志;要打开 Claude Desktop 会话时,还会读取 ~/Library/Application Support/Claude/claude-code-sessions 里的会话索引(只读)。选中 Terminal 或 iTerm2 标签页时走 AppleScript,macOS 会弹一次「自动化」权限请求。
- 系统日志。 点击和跳转记录在子系统 agent-pet 下,包含智能体、会话 id、应用和打开的 URL;不记录工具输入和路径。
- 网络。 没有对外连接。DSH 插件监听一个仅限回环的端口,只接受本地进程和 Harness web UI 发来的命令;浮层通过 127.0.0.1 与它通信。

删除 ~/.agent-pet 即可清除全部记录数据。

卸载

scripts/install.sh --uninstall

会移除二进制文件、钩子、信任条目和 LaunchAgent。留下一个空操作的 agent-pet-emit 桩,这样还开着的会话不会报「命令不存在」;重启这些会话后再删掉桩。插件用 /plugin uninstall、codex plugin remove 移除,或直接编辑 DSH 配置档。

故障排查

- 什么都没出现。 浮层在运行吗(pgrep -x AgentPet)?智能体干活时 ~/.agent-pet/events.jsonl 有增长吗?如果没有,说明钩子没装好,或者智能体是在装钩子之前启动的;重启智能体。
- Codex 插件钩子不生效。 Codex 0.163 不信任用 codex plugin add 安装的插件带来的钩子;只有加 --dangerously-bypass-hook-trust 时它们才会运行。在 Codex 里批准这些钩子(/hooks),或者改用 scripts/install.sh,它会自己写入信任条目。改过钩子命令后要重跑 install.sh:信任绑定的是命令文本。
- DSH 的改动没生效。 DSH 会缓存插件 ES 模块;安装或编辑插件后重启它。
- DSH 命令被拒绝。 插件的桥接只应答 Harness web UI 的来源(http://127.0.0.1:50306)和本地进程;从其他来源提供的 UI 读不到它的队列。

许可证

MIT。Sources/AgentPet/Resources 里的精灵图按同一许可证收录。
预览分享卡片长什么样 ↓rpegorov/agent-pet
分享 · DeepSeek Harness Hub
rpegorov/agent-pet

用桌面宠物实时显示编码智能体状态并就地回应权限请求

这是你的仓库?认领条目

回到顶部