DeepSeek Harness 的 Git 面板插件,为 AI 编程助手提供可视化 Git 操作界面。
30.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-git」归属 dushaobindoudou/dsh-git,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add writeCasually/dsh-git该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 46 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-git」归属 dushaobindoudou/dsh-git,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-git @ 0.0.1
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 10:40:00
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件scripts/build.mjs:4
const packageManifest = JSON.parse(await readFile(new URL('package.json', root), 'utf8')) - 读取本地文件scripts/build.mjs:5
const hostSource = await readFile(new URL('src/index.js', root), 'utf8') - 读取本地文件scripts/build.mjs:6
const clientSource = await readFile(new URL('src/client.js', root), 'utf8') - 写入本地文件scripts/build.mjs:19
await mkdir(new URL('lib/', root), { recursive: true }) - 写入本地文件scripts/build.mjs:20
await writeFile(new URL('lib/index.js', root), hostSource) - 写入本地文件scripts/build.mjs:21
await writeFile(new URL('lib/client.js', root), clientBundle) - 执行外部命令来自配置/变量scripts/watch.mjs:10
const child = spawn(process.execPath, ['scripts/build.mjs'], {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 可视化查看git状态
- 查看diff
- 提交与文件预览
README
由 DeepSeek 最新模型翻译生成dsh-git
DeepSeek Harness 的 Git 面板插件,为 AI 编程助手提供可视化 Git 操作界面。
功能特性
核心功能
- Git 状态查看:实时显示当前分支、暂存区、未暂存和未跟踪文件
- 文件差异对比:查看未暂存和已暂存的文件差异,支持语法高亮
- 一键提交:快速提交所有变更(git add -A && git commit)
- 文件预览:直接查看工作区中的文件内容
- 悬停查看回合改动:鼠标悬停官方「本轮文件改动」行的文件名,就地弹出该文件的回合 diff
界面组件
- Git 面板:集成在 DeepSeek Harness Web UI 中的浮动面板
- 悬停 diff 弹窗:跟随官方「本轮文件改动」chip 的浮层,左右对照展示该文件的回合 diff
- 差异查看器:面板与弹窗共用的 diff 视图,显示增删行数
安装方式
方式一:本地安装(推荐开发调试)
1. 构建插件:
node scripts/build.mjs
2. 安装到 DeepSeek Harness:
cd /path/to/deepseek-harness
pnpm dsh plugin --profile web add /path/to/dsh-git
3. 启动并验证:
pnpm dsh --profile web --dump-config
展开完整文档(README 剩余 1 节)
dsh-git DeepSeek Harness 的 Git 面板插件,为 AI 编程助手提供可视化 Git 操作界面。 功能特性 核心功能 - Git 状态查看:实时显示当前分支、暂存区、未暂存和未跟踪文件 - 文件差异对比:查看未暂存和已暂存的文件差异,支持语法高亮 - 一键提交:快速提交所有变更(git add -A && git commit) - 文件预览:直接查看工作区中的文件内容 - 悬停查看回合改动:鼠标悬停官方「本轮文件改动」行的文件名,就地弹出该文件的回合 diff 界面组件 - Git 面板:集成在 DeepSeek Harness Web UI 中的浮动面板 - 悬停 diff 弹窗:跟随官方「本轮文件改动」chip 的浮层,左右对照展示该文件的回合 diff - 差异查看器:面板与弹窗共用的 diff 视图,显示增删行数 安装方式 方式一:本地安装(推荐开发调试) 1. 构建插件: node scripts/build.mjs 2. 安装到 DeepSeek Harness: cd /path/to/deepseek-harness pnpm dsh plugin --profile web add /path/to/dsh-git 3. 启动并验证: pnpm dsh --profile web --dump-config pnpm dsh --profile web --port 3080 4. 打开 http://127.0.0.1:3080,会话头部应出现 Git 按钮。 方式二:从 npm 安装 dsh plugin --profile web add dsh-git 方式三:本地开发链接 cd /path/to/dsh-git pnpm link --global dsh plugin --profile web add dsh-git 使用说明 基本操作 1. 打开 Git 面板:点击会话头部的 Git 按钮 2. 查看状态:面板默认显示"变更"标签页,列出所有文件变更 3. 查看差异:点击文件名查看具体差异内容 4. 提交代码:切换到"提交"标签页,输入提交信息后点击提交 5. 预览文件:切换到"预览"标签页,输入文件路径查看内容 界面说明 - 变更标签页: - 显示当前分支信息和远程同步状态 - 分类显示已暂存、未暂存、未跟踪文件 - 支持查看未暂存和已暂存的 diff - 显示最近回合的修改摘要 - 提交标签页: - 输入提交信息 - 一键提交所有变更(自动执行 git add -A) - 预览标签页: - 输入相对路径查看文件内容 - 支持代码高亮显示 悬停查看官方「本轮文件改动」的 diff 聊天里官方的「本轮文件改动」行完全由官方 ui-deliverables 渲染,本插件不再占用 conversation.chat.turnTail(单赢家 chain 槽),也不再渲染自己的回合卡: - 鼠标停在某个文件名 chip 上约 140ms,即在其下方弹出该文件的 diff 浮窗; - 弹窗头部 = 状态徽标 + 完整路径 + 回合号 + +A −R;正文是左右对照的 diff (左侧旧行、右侧新行,逐行对齐;短的一侧补占位格),hunk 按文件行序排列; - 头部 ⇄ 滚动 / ↵ 折行 按钮切换长行的两种读法(选择在当前页面内保持):默认折行——长行在自己那一栏折行,两栏永远等于浮窗宽度,左右同时看全;切到滚动则左右各成一个独立滚动区(参考 VSCode diff):*每侧都有自己的横向滚动条且常驻可见,滚动其中一侧另一侧跟着滚,两侧行号与代码始终列对列对齐;横向拖动时行号与 +/- 列固定不动(sticky 钉在左缘),拖到长行中段也知道是第几行; - 两侧行号是文件真实行号(host 把每个 hunk 在磁盘文件里定位后回填 oldStart/newStart);定位不到时行号留空,不会拿 hunk 内 1..N 冒充真实行号; - 弹窗按视口取宽(min(1180px, 视口 − 32px)),两栏代码各得一半,必要时会盖住右侧栏—— 比压缩成聊天列宽度更容易看全代码; - 鼠标移入弹窗可继续滚动查看,移开后约 180ms 关闭;滚动聊天流、窗口尺寸变化或按 Esc 立即关闭; - chip 自带的原生 tooltip 在浮窗打开期间会被暂时静音,避免两层提示叠在一起; - 该回合该文件没有记录(比如改动来自 bash)时,弹窗内给出说明而不是报错。 数据来自 host 的 dshGit/turnDiff,按 sessionId+turn 客户端缓存:同一回合的多个文件只请求一次。回合号取自官方 DOM 的 [data-turn-tail](纯工具回合没有该属性时回退到聊天行 的 [data-chat-turn]),完整路径取自 chip 的 title;会话 id 由插件在会话头部捕获。 host 只统计成功的 write/edit:被拒的 edit(tool/result 带 isError)不会进入 diff。 实现细节见 docs/design.md 第 17 节。 技术实现 架构设计 - 双面包结构:仓库根目录就是一个 dsh.bundle 包,host 与 web client 打包在同一个包内 - 独立 RPC 通道:插件用自己 inject 的 webServer 直接注册 /dsh-git 前缀路由(POST 一个 Connection envelope),复用 connection.requestRejection 做 Host/Origin 与浏览器会话鉴权;不占用 /api 拦截器,也不依赖 connection.rpc.handle() 的内部 owner 上下文(该路径在当前 harness 行会抛 cannot get property "webServer" without inject,导致插件整体不激活:每个 dshGit/ 请求都是 405) - 零代码生成:不依赖 typert 或其他代码生成工具 API 接口 插件通过 RPC 暴露以下方法: | 方法 | 说明 | 参数 | | dshGit/status | 获取 Git 状态 | sessionId | | dshGit/diff | 获取文件差异 | sessionId, staged?, path? | | dshGit/commit | 提交变更 | sessionId, message | | dshGit/readFile | 读取文件内容 | sessionId, path | | dshGit/recentTurns | 获取最近回合修改 | sessionId, limit? | | dshGit/turnDiff | 回合的文件级 diff(悬停弹窗数据源) | sessionId, turn | 数据源 - 会话日志:从 DSH 会话日志中提取工具调用和结果 - Git 命令:通过 subprocess.spawn 执行 git 命令 - 文件系统:使用 DSH 的 fs 服务读取文件 开发指南 项目结构 dsh-git/ ├── src/ │ ├── index.js # Host 端插件逻辑 │ └── client.js # Web 客户端 UI 组件 ├── scripts/ │ ├── build.mjs # 构建脚本 │ ├── watch.mjs # 开发监听脚本 │ ├── verify-host.mjs # Host 传输/RPC 回归校验(无需 harness) │ └── verify-client.mjs # 客户端槽位/浮窗回归校验(需 DSH_CHECKOUT) ├── lib/ # 构建产物(自动生成) ├── docs/ # 设计文档 ├── cordis.patch.yml # 插件配置 └── package.json 构建命令 构建 pnpm build 开发模式(监听 src/ 变化并重建 lib/) pnpm dev Host 传输层回归校验(/dsh-git 路由注册、鉴权、envelope、dispatch;无需 harness) pnpm verify:host 客户端回归校验(官方「本轮文件改动」行不被抢占 + 悬停 diff 弹窗) DSH_CHECKOUT=/path/to/deepseek-harness pnpm verify:client 两者一起跑 pnpm verify 打包发布 pnpm pack 依赖关系 Host 端依赖: - @deepseek-ai/dsh-connection - 连接服务 - @deepseek-ai/dsh-subprocess - 子进程管理 - @deepseek-ai/dsh-session-query - 会话查询 - @deepseek-ai/dsh-fs - 文件系统服务 - @deepseek-ai/dsh-session-persistence - 会话持久化 Client 端依赖: - @deepseek-ai/dsh-client-connection - 客户端连接(RPC) - @deepseek-ai/dsh-client-ui-conversation - 会话 UI(头部动作槽位 + 聊天 DOM) - @deepseek-ai/dsh-client-ui-layout - 布局 UI(shell.overlay) 客户端不 import 官方 ui-deliverables:官方「本轮文件改动」行原样渲染,插件只读取它的 DOM 约定([data-produced-files-row] button[title]、[data-turn-tail])来定位悬停目标。 发布说明 发布到 npm 构建 node scripts/build.mjs 打包 pnpm pack 发布(需要 npm 权限) npm publish 作为社区插件 1. 仓库添加 dsh-plugin topic 2. 提交到 deepseek-harness-plugins 聚合仓库 3. 用户通过 dsh plugin add 安装 设计文档 详细设计文档位于 docs/ 目录: - design.md - 完整设计文档,包含架构、需求分析和实现细节 - build.md - 打包方式选型与产物契约 - release.md - 发布清单与流程说明 许可证 MIT License
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
writeCasually/dsh-git
DeepSeek Harness 的 Git 面板插件,为 AI 编程助手提供可视化 Git 操作界面。
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目