DeepSeek Harness分支UI插件
A customized DeepSeek Harness git branch UI plugin.
安装
dsh plugin --profile web add github:dsh-mixxed/dsh-client-ui-git-branchGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
一个 dsh(DeepSeek Harness)out-of-tree 插件:在对话输入栏中、模型选择的正左侧
(conversation.input.right)添加一个 git 分支选择器。
安装
从 npm 安装插件(已发布为
@dsh-mixxed/dsh-client-ui-git-branch):dsh plugin --profile web add @dsh-mixxed/dsh-client-ui-git-branch包声明了
dsh.bundle(包内自带cordis.patch.yml),因此dsh plugin add会自动把它追加进 profile 的dsh.profile.bundles层栈,下次启动自动挂载——无需手动编辑 cordis.patch.yml。从旧版本(未声明 bundle)升级:请删除
$DSH_HOME/profiles/<name>/cordis.patch.yml中旧的ui-git-branch挂载行——bundle 层现在会提供它,两者并存会挂载两次。重启 profile(新增插件的发现需要重启)并刷新浏览器页面。打开工作区为 git 仓库的会话, 模型选择左侧即出现分支 chip。
源码构建(开发 / 离线)
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
npm pack # 生成 dsh-mixxed-dsh-client-ui-git-branch-<version>.tgz
dsh plugin --profile web add ./dsh-mixxed-dsh-client-ui-git-branch-<version>.tgz
功能特性
- 座位位于模型选择左侧,chip 与菜单外观与模型选择完全一致
- 仅当本机安装了
git且当前会话工作区是 git 仓库时才显示 - 分支模糊搜索(子串或按序子序列匹配),带清除按钮
- 列表最多同时展示 5 行;更多分支通过列表内部滚动条查看(不滚动页面)
- 当前分支以不同颜色特别标注(品牌蓝 + 勾选图标)
- 上游关联信息(VSCode 风格):每个分支显示其远程短名(
origin/main),配彩色 领先/落后提交计数(↑2琥珀色 /↓3绿色),上游被删除时显示红色gone标记; 纯本地分支不显示任何关联信息。当前分支不同步时,触发器 chip 上也会显示同样的徽标 - 本地 / 远程分组——见 分支分组
- 新建分支:弹窗输入分支名,从 HEAD 创建并自动签出(
git switch -c);非法名实时 提示,重名冲突显示 git 原始报错 - 切换分支带冲突检测:切换失败(通常是未提交改动会被覆盖)弹出 Toast 显示 git 原始报错
- 完整 中 / 英 i18n 与多主题自动适配(全部基于
--dsw-*设计令牌) - 分离 HEAD 安全(触发器回退显示
HEAD);无提交的新仓库也能列出当前分支
分支分组
列表在两个 sticky 标题下分组展示:
- 本地分支——全部本地分支。有关联远程的分支保留其上游映射
(
master → origin/master,含领先/落后计数)。 - 远程分支——仅显示远程存在、本地没有对应分支的分支
(
origin/HEAD符号引用与裸远程 ref 已排除)。
交互行为:
- 模糊搜索同时作用于两个分组;无匹配项的分组自动折叠隐藏。
- 点击远程分支:创建本地跟踪分支并切换(
git switch --track origin/feature→ 本地feature跟踪origin/feature),随后该分支移入本地分组。 - 点击本地分支:切换工作树(
git switch);切换被阻止(通常是未提交改动会被覆盖) 时弹出 Toast 显示 git 原始报错。
验证
dsh --profile <name> --dump-config | Select-String ui-git-branch
组合后的配置包含 ui-git-branch 行,且 $DSH_HOME/profiles/<name>/package.json 的
dsh.profile.bundles 中列出了 @dsh-mixxed/dsh-client-ui-git-branch(由 dsh plugin add
自动追加)。
重启后,输入栏显示分支 chip;展开可见分组列表、搜索框与「新建分支」入口。
开发
pnpm run typecheck # 严格 tsc(src + tests)
pnpm test # vitest:host 逻辑(fake runner)+ 真实 git 集成 + jsdom 组件测试
pnpm run build # esbuild 双产物 → lib/index.js(node ESM)+ lib/client.js(浏览器 CJS 闭包)
开发用独立测试 profile:git-branch-dev(与用户的 web profile 隔离),以
dsh --profile git-branch-dev --port 3800 启动。
许可证
MIT
原始 README: https://github.com/dsh-mixxed/dsh-client-ui-git-branch/blob/main/README.zh.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。