DevDock:DeepSeek Harness 的研发账号与服务管理套件

前言

DeepSeek Harness(DSH)采用「一切皆插件」的架构。在智能体与本地开发场景中,开发者需要频繁访问 GitHub、Cloudflare、npm 等平台,这通常意味着在浏览器标签、终端和多个控制台之间来回切换。DevDock 是面向 DSH 的研发账号与服务管理套件,当前提供 GitHub / Git 模块,后续会接入 Cloudflare 与 npm,但对外只保留一个入口、一套操作习惯。

这是什么

DevDock 是一个让开发者在一个面板里完成「看仓库、切账号、提交、推送、撤回」等日常操作的套件。它的 GitHub / Git 模块名为 dsh-harness-push,负责多账号登录切换、仓库浏览与管理、工作区版本树、一键推送与推送前审查。它由 Host 侧和 Client 侧组成:Host 提供完整的 GitHub REST 与 Git 命令封装(含令牌安全注入),Client 提供设置页、左侧仓库面板和工作区侧边栏。你在界面上做的操作,和智能体通过工具做的操作,走的是同一套代码路径。

核心功能

多账号与即时切换

设置页的 Push 页面中,账号卡片展示头像、昵称、@login 与权限范围。右侧箭头展开下拉,可切换或移除账号;下拉箭头左侧有一键跳转该账号 GitHub 主页的入口。切换后所有面板立刻跟随,无需重启。

账号概览

账号卡片包含最近一年贡献热力图与未读通知列表。通知可单条标记已读并跳转。若缺少 read:user 或 notifications 权限,相应卡片会显示提示,但不影响其他功能。

仓库管理

左侧栏 Push 展示当前账号下全部仓库,支持搜索、私有/公开分段与分页加载。列表 / 卡片双视图,卡片分大、小两档,选择会记忆偏好。卡片展示简介、默认分支、更新时间、跳转与管理按钮、语言占比条形图(按 GitHub 真实字节占比,超过 6 种语言折叠为「其他」)、star / fork / issue 指标。支持新建仓库与删除仓库(删除需 delete_repo 权限并二次确认)。

工作区操作

工作区侧边栏 Push 跟随当前会话目录,目前仅支持 GitHub。显示当前分支、owner/repo、ahead/behind、已暂存 / 未暂存 / 未跟踪 / 冲突计数。提供一键提交、推送、拉取、抓取。推送目标可搜索 GitHub 仓库或使用本地远端,每条分支独立记忆上次目标。支持 soft / mixed / hard 三种撤回模式,hard 模式需输入确认。分支操作包括新建、切换、删除(未合并时二次确认)、合并。标签支持打标签并同步推送。暂存支持 stash / stash pop,可选包含未跟踪文件。改动列表按分组展示,可单文件暂存 / 还原,点开查看 diff。提交图展示最近 60 条提交,带 lane 连线、ref 标签、作者与时间,任意节点可检出、反向提交、复制 sha、打标签、在此撤回。若目录还不是 Git 仓库,会显示醒目的「创建 Git 仓库」按钮,可同时创建 GitHub 远端。

推送前审查(Agent 审查)

点「Agent 审查」后是两步弹窗:

  1. 配置:选择模型与思考强度(宿主提供几档就用几档,≥3 档渲染为滑条)。审查项以卡片呈现,按敏感信息 / 隐私 / 完整性 / 质量 / 自定义分组,可多选,卡片区域可滚动。底部自定义提示词可一键「存档为预设」,下次直接勾选。
  2. 确认:列出将使用的模型、思考强度(可再改)、涉及文件(默认折叠)、将执行的审查项。可返回修改。
  3. 结果:按严重度排序,标注文件与行号并给出修复建议。

两道关卡:规则扫描(不花钱、必定执行)与模型审查。规则扫描识别 ghp_ / github_pat_ / sk- / AKIA / xox / 私钥块 / Bearer 长串 / 硬编码密码。命中即报 blocker,且密钥原文永不出现在界面、日志或工具结果中;REPLACE_ME、<your-token> 等占位符不会误报。模型审查把选中的审查项与自定义提示词合成一次请求;模型不可用或失败时自动降级为只跑规则扫描并在结果中注明,绝不阻塞推送。

同一套能力同时暴露为模型工具,工具名为 github_link。可用命令包括 status、log、push、pull、commit、repos、accounts、create_repo、release、review。push 和 release 支持通过 owner + repo 指定目标,智能体可直接「建仓库 → 推送 → 打标签发布」而无需人工配置远端。

安装与启用

命名说明

三个名字各司其职:品牌为 DevDock,模块为 GitHub / Git,npm 包为 dsh-harness-push。npm 包名是 dsh-harness-push,GitHub 仓库名是 dsh-push。插件内部标识(工具名 github_link、路由 /api/push/*、设置页与侧边栏入口)不受影响。

从 npm 安装(推荐)

dsh plugin --profile desktop add dsh-harness-push

从本地目录安装

dsh plugin --profile desktop add "<插件目录>\dsh-push"

也可以在 DSH 的插件管理器里选择 local directory 指向该目录。

从源码构建

git clone https://github.com/QingJing5906/dsh-DevDock.git
cd dsh-push
npm install          # 仅测试需要,插件本身零运行时依赖
npm test             # 11 组测试 + 可达性审计

安装完成后:

  • 设置面板新增 Push 一页
  • 左侧栏新增 Push 图标
  • 右侧栏 + 菜单新增 Push 标签页
  • 智能体获得 github_link 工具

典型用法

  1. 打开 设置 › Push,点「+ 添加新账号」,粘贴一个 GitHub Personal Access Token。
  2. 用 dsh 在任意 Git 仓库目录里开会话,右侧栏打开 Push。
  3. 改几个文件 → 展开「改动」勾选要提交的内容 → 写提交信息 → 提交并推送。
  4. 推送前想检查一遍,先点 Agent 审查,看完结果再推。

权限(GitHub token scopes)

用途 需要的 scope
读取仓库、分支、发布,推送 / 拉取 repo(私有仓库必需)或 public_repo
创建仓库 repo
删除仓库 delete_repo
贡献热力图 read:user(缺失时该卡片显示提示,不影响其他功能)
未读通知 notifications(缺失时列表为空)
发布与附件 repo

推荐一键勾选:repo、delete_repo、read:user、notifications。

安全

  • Token 只保存在 %DSH_HOME%\push\state.json(Windows 下为 C:\Users\<你>\.dsh\push\state.json)。POSIX 系统以 0600 写入;Windows 写入后用 icacls 去除继承并只授权当前用户。真正的边界仍是该目录自身的 ACL。
  • Token 永不出现在 HTTP 响应、日志、git 命令回显或工具结果中。
  • 推送通过一次性 http.extraheader 注入,不写入 .git/config;每次调用都是独立注入,不依赖全局凭据助手。
  • 所有错误信息在返回前都会经过脱敏(任意认证方案、ghp_ / github_pat_ 形态、私钥块)。
  • 破坏性操作(删除仓库、hard 撤回、清空工作区、删除发布)要求显式确认;删除仓库还需 delete_repo scope。

架构概览

dsh-push/
├── index.js            # Loader 入口(字节稳定 + 内容哈希缓存破坏)
├── cordis.patch.yml    # 插件行声明
├── client.js           # 浏览器侧:设置页 / 仓库面板 / 工作区标签页
├── src/host/
│   ├── index.js        # 服务与路由表(~60 条)/ 模型工具
│   ├── git.js          # GitRunner:异步 git 封装 + 认证注入 + 脱敏
│   ├── github.js       # GitHub REST 客户端(node:https,零依赖)
│   ├── review.js       # 规则扫描 + 模型审查
│   └── store.js        # 单文档原子状态(账号、设置、推送记忆、审查预设)
├── locale/             # zh / en
├── tests/              # 11 组测试 + 可达性审计
└── CONTRACT.md         # Host↔Client 接口契约

Host ↔ Client 通过 webServer 注册的 /api/push/* 路由通信,统一 JSON 信封 {ok, data} / {ok: false, error}。非 GET 请求要求 x-dsh-plugin: push 头,防跨站触发。所有主题颜色走宿主 CSS 变量,自动跟随明暗主题。

适用场景与注意

DevDock 适合需要在 DSH 中集中管理 GitHub / Git 账号、仓库与推送流程的场景,尤其是需要智能体与人工操作行为一致、或希望对推送内容进行模型审查的场景。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。当前仅支持 HTTPS 远端推送;SSH 远端需要自行配置好 ssh-agent。设备码登录需要填一个 GitHub OAuth App 的 Client ID。网络无法访问 api.github.com 或 github.com:443 时,插件会把原始错误如实显示(含脱敏),不会静默失败。

结尾

DevDock 通过统一入口与 Agent 审查,把日常研发操作收敛到 DSH 一个面板里。它为智能体与开发者提供了同一套 GitHub 能力,减少跨平台切换的上下文成本,同时通过规则扫描与模型审查降低推送风险。更多细节与源码见项目仓库:https://github.com/QingJing5906/dsh-DevDock

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

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

小夜