@angel-gp/dsh-client-ui-gitpeek:DeepSeek Harness 的 GitHub 数据面板

前言

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 是不同的配置。

  1. 运行安装命令
    建议让 Agent 执行以下命令:
dsh plugin --profile web add github:Angel-GP/dsh-gitpeek#main
dsh --profile web --dump-config

如果是 DSH Desktop,将 web 替换为 desktop。

  1. 验证安装
    检查 --dump-config 输出中是否包含以下内容:
# == @angel-gp/dsh-client-ui-gitpeek
- id: gitpeek
  name: '@angel-gp/dsh-client-ui-gitpeek'
  1. 重启
    手动重启 DSH Web Host。重启后,GitHub 标签页应出现在 Trajectory 旁边。

使用方法

  1. 获取 PAT 令牌
    在 GitHub 设置中生成 Fine-grained token,仅授予最小权限:Actions(只读)、Contents(只读)、Metadata(只读),并限制在特定仓库。

  2. 配置 PAT
    在 DSH 界面的 GitHub 插件中输入生成的 PAT 令牌。

  3. 查看数据
    在 GitHub 插件中输入仓库名称(例如 owner/repo),点击 Refresh 加载三列数据。

安全与注意事项

  • PAT 加密安全:PAT 使用 AES-256-GCM 加密,密钥在浏览器中。虽然存储的是密文,但任何能在该浏览器运行 JavaScript 的脚本(如扩展或同源脚本)都能解密它。因此请仅授予最小权限,不要在其他服务中使用此令牌。
  • 持久化范围:插件将数据存储在浏览器的 localStorage 中,作用域为 origin(协议 + 主机 + 端口)。如果 DSH Web Server 每次启动的端口不同,localStorage 会清空,保存的数据会消失。
  • Profile 配置:安装时必须使用 GUI 实际运行的 profile。DSH Desktop 默认使用 desktop profile,如果误装到 web profile,GUI 中不会显示该标签页。

总结

该插件通过在 DSH 会话中并排展示 GitHub 的关键数据,减少了上下文切换的时间。它提供了加密的存储机制和自动刷新功能,适合需要频繁查看仓库状态的智能体开发场景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜