前言¶
在 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 倉庫。