前言¶
在 DeepSeek Harness(DSH Desktop)里做智能体或脚本开发时,工作区往往就是某个 Git 目录:改代码、切分支、提交、推送是高频动作。若每次都要切到终端或外部 Git 客户端,会话上下文会被打断。社区插件 dsh-codex-parity(维护者 LingYingNX)只做一件事:在会话头部工作区 pill 左侧增加独立的「Git」入口,点开是轻量菜单,在当前会话记录的 cwd 下真实执行 Git 操作,风格接近 Codex 侧的 Git 面板,而不是再包一层完整 IDE。
这是什么¶
dsh-codex-parity 是面向 DSH Desktop 的插件,通过 Cordis patch 注册宿主 RPC 与 Web 客户端 UI 槽位,零 npm 运行时依赖、无构建步骤即可安装 release 包。插件不注入 DOM、不轮询;Git 按钮由宿主按槽位顺序渲染在工作区 pill 左侧。
| 项目 | 说明 |
|---|---|
| 仓库 | LingYingNX/dsh-codex-parity |
| 目录页 | skillhub.cn/plugins/LingYingNX/dsh-codex-parity |
| 版本(package.json) | 0.1.0 |
| 许可证 | MIT |
| 引擎要求 | Node >=22;DSH >=0.2.0-rc.2 <0.3.0 |
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。安装前请自行查看源码与许可证。
核心功能¶
入口在会话头部工作区 pill 左侧的「Git」按钮(图标 + 文字,与右侧按钮组分离)。菜单顶部汇总当前分支与总增减,例如 main +154 -117。
菜单能力(来自 README,已核实):
- 提交:弹窗填写 commit message,执行
git add -A后提交。 - 推送:推送当前分支;若无 upstream,会提示需先手动建立。
- 切换分支:搜索并切换本地分支;当前分支带勾号,并显示未提交文件数。
- 创建并切换:输入新分支名,以当前分支为基点创建并切换。
- 初始化 Git:目录尚非仓库时可用;已是仓库时该项置灰。
非 Git 仓库时,提交、推送、切换分支置灰,仅「初始化 Git」可用(初始化项在菜单最下)。
界面字体统一为思源黑体 Light(回退思源黑体常规族,再回退系统无衬线),面板字号为基准的 1.2 倍。
架构简述¶
两半分工、无构建依赖:
| 文件 | 职责 |
|---|---|
dist/formal-host.mjs |
Git RPC:ping、gitState、gitCommit、gitPush、gitBranchSwitch、gitBranchCreate、gitInit |
dist/formal-client.cjs |
Git 按钮、菜单、分支与提交弹窗、操作 toast |
工作目录取自会话 header 的 cwd;所有 Git 命令在该目录执行。客户端注册 shell.overlay(toast)与 conversation.session.header.utilities(Git 入口);后者 kind: list 升序渲染,原生工作区 pill(open-in-app)为 order: -10,Git 按钮为 order: -20,故落在 pill 紧左侧。菜单与弹窗为挂于 document.body 的浮层,内联 position: fixed 定位。
安装与卸载¶
安装使用 release 目录下的 tarball(路径按你本地克隆或下载后的 <插件目录> 替换):
dsh plugin --profile desktop add <插件目录>\release\dsh-codex-parity.tgz
卸载:
dsh plugin --profile desktop remove dsh-codex-parity
说明:上述命令来自仓库 README;请勿凭插件名自行拼接 dsh plugin add github:owner/repo 等形式,除非官方文档另有说明。
典型用法¶
- 在 DSH Desktop 打开目标会话,确认 header 中工作区
cwd指向你要操作的目录。 - 点击工作区 pill 左侧 Git,查看顶部分支名与
+/-汇总。 - 需要提交时选「提交」,填写 message 后确认(插件会先
git add -A)。 - 需要远端同步时选「推送」;若提示无 upstream,在终端或外部工具中为当前分支设置 upstream 后再推。
- 需要换线时选「切换分支」或「创建并切换」;空目录或非仓库时先用「初始化 Git」。
开发侧若从源码维护,README 给出:
npm test # 离线测试
node scripts/pack.mjs # 重新打包 release tarball
适用场景与注意¶
适合:在 DSH Desktop 单会话内频繁做轻量 Git 操作、希望入口与工作区 pill 同屏的开发者。
注意:
- 插件以当前 DSH 进程权限在
cwd执行真实git命令,安装前应阅读dist/formal-host.mjs与 RPC 实现,确认符合你的安全策略。 - 推送依赖本机已配置的 Git 凭据与 remote;无 upstream 时需手动建立,插件不会自动设置。
- DSH 版本需落在
package.json的engines.dsh范围内,否则可能存在兼容问题。
结尾¶
dsh-codex-parity 把提交、推送、分支切换与仓库初始化收到会话头一颗 Git 按钮里,减少在 Harness 与外部 Git 工具之间来回切换。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。