前言¶
DeepSeek Harness (DSH) 的开发过程中,需要频繁查看 GitHub 仓库的状态:Actions 运行是否通过、最近有哪些提交、是否有新发布。如果每次都切换窗口或标签页,会打断工作流。@angel-gp/dsh-client-ui-gitpeek 是一个联网工具插件,它能在 DSH 的会话界面中直接显示 GitHub 的 Actions、Commits 和 Releases 数据。
插件简介¶
这是一个为 DSH 提供的只读 GitHub 数据面板。安装后,它会在 DSH 的第三个标签页(紧邻 Trajectory)出现。三列并排展示 Actions 运行、Commits 和 Releases,每列独立滚动,数据通过 GitHub REST API 在浏览器端获取。由 Angel-GP 维护,遵循 MIT 协议。
核心功能¶
- 三列布局:Actions 运行、Commits 和 Releases 三列并排,每列独立滚动。
- 加密存储:记住多个仓库以及一个 PAT 令牌。令牌使用 AES-256-GCM(Web Crypto)加密后存储在 localStorage 中。密钥保留在浏览器,存储的值永远不是明文。
- 分页加载:每列通过 GitHub 的 Link header 分页,提供 Load more 按钮(每页 30 次运行 / 30 次发布 / 100 个提交)。
- 自动刷新与缓存:进入会话时显示缓存数据,随后在后台刷新一次;切换保存的仓库会自动刷新;点击 Refresh 手动刷新。
- 并行获取与独立错误报告:三列并行获取数据,一列失败不影响其他两列,且会分别报告错误。
安装与启用¶
安装前请确保环境满足以下条件:
- dsh 和 pnpm 在 PATH 中(DSH Desktop 安装后自带,需打开新的 PowerShell)。
- git 在 PATH 中且可访问 github.com。
- 确认当前 GUI 运行的是哪个 profile。DSH Desktop 默认使用 desktop profile,而 web 是不同的配置。
- 运行安装命令
建议让 Agent 执行以下命令:
dsh plugin --profile web add github:Angel-GP/dsh-gitpeek#main
dsh --profile web --dump-config
如果是 DSH Desktop,将 web 替换为 desktop。
- 验证安装
检查--dump-config输出中是否包含以下内容:
# == @angel-gp/dsh-client-ui-gitpeek
- id: gitpeek
name: '@angel-gp/dsh-client-ui-gitpeek'
- 重启
手动重启 DSH Web Host。重启后,GitHub 标签页应出现在 Trajectory 旁边。
使用方法¶
-
获取 PAT 令牌
在 GitHub 设置中生成 Fine-grained token,仅授予最小权限:Actions(只读)、Contents(只读)、Metadata(只读),并限制在特定仓库。 -
配置 PAT
在 DSH 界面的 GitHub 插件中输入生成的 PAT 令牌。 -
查看数据
在 GitHub 插件中输入仓库名称(例如 owner/repo),点击 Refresh 加载三列数据。
安全与注意事项¶
- PAT 加密安全:PAT 使用 AES-256-GCM 加密,密钥在浏览器中。虽然存储的是密文,但任何能在该浏览器运行 JavaScript 的脚本(如扩展或同源脚本)都能解密它。因此请仅授予最小权限,不要在其他服务中使用此令牌。
- 持久化范围:插件将数据存储在浏览器的
localStorage中,作用域为 origin(协议 + 主机 + 端口)。如果 DSH Web Server 每次启动的端口不同,localStorage 会清空,保存的数据会消失。 - Profile 配置:安装时必须使用 GUI 实际运行的 profile。DSH Desktop 默认使用
desktopprofile,如果误装到webprofile,GUI 中不会显示该标签页。
总结¶
该插件通过在 DSH 会话中并排展示 GitHub 的关键数据,减少了上下文切换的时间。它提供了加密的存储机制和自动刷新功能,适合需要频繁查看仓库状态的智能体开发场景。