dsh 的 git 插件
32.2/100
综合分
3
GitHub 星标
609
npm 周下载
—/5
用户评分
数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @linxueyuan/dsh-gitnpm 源 · @linxueyuan/dsh-git 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@linxueyuan/dsh-git @ 1.0.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/9 11:21:10
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-client-ui-primitives给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
最近更新
在 GitHub 查看全部 →v1.2.02026-10-13
设置面的这一版:插件设置搬到「插件」页 ▸ @linxueyuan/dsh-git 详情页的配置区,那一页设置重写成宿主风格并补齐全部配置项,界面文案开始跟随宿主语言。
dsh plugin --profile add @linxueyuan/dsh-git
npm:< · 安装后重启 DSH 并硬刷新页面(host 半是 Node 模块,不随页面刷新重新加载)。
---
· 变更
· 插件设置换了入口:从「设置 ▸ 内置插件」的页签搬到「插件」页 ▸ @linxueyuan/dsh-git 详情页的配置区。
原来的两个席位都不再使用 —— plugins.item(渲染在「插件」页的官方组里,而那是官方设置页的席位)
与 settings.plugins.tab(「内置插件」清单分区的一个页签)。现在是官方为「bundle 自己的配置」留的
keyed 席位 plugins.bundle.config,key 取 bundle 的包名 @linxueyuan/dsh-git
(不是配置命名空间 dsh-git:宿主按包名派发,写错会让整段配置区静默消失)。
卡片内容与数据面一条未动:宿主 Config(autoSec)、GitHub Desktop 那几页偏好、令牌与仓库清单都在。
scripts/verify-plugin.mjs 新增一条反向判据钉住「席位 key === package.json 的 name」。
· 详情页里的设置项打平成一个列表(改前抄的是设置弹窗那套横向页签)。
六个页面(账号 / Git / 外观 / 通知 / 提示与确认 / 无障碍)现在各是一个带标题的小节,
同时可见、一列到底;不再需要先点页签才能看到内容,也不再有多余的一层页签控件。
末尾那块「插件配置(宿主设置文档)」保持不变。
· 详情页那一页设置重写成宿主风格,不再复刻 GitHub Desktop 的偏好页。
分组(按旧页签顺序):通用(界面缩放)、账号、Git、外观、通知、
提示与确认、Diff 与无障碍,末尾是插件配置(宿主设置文档) 里的 Pulls 自动刷新周期。
控件用宿主自己的 Switch 与令牌,与 DSH 设置界面的观感一致。
GitHub Desktop 那几页偏好(账号 / Git / 外观 / 通知 / 提示与确认 / 无障碍)没有删 ——
它们仍在右侧栏齿轮打开的偏好弹窗里。
· 设置页补齐了全部配置项(改前的第一版宿主风格页面只放了其中一部分):
账号(登录态 / 退出登录 / 登录 GitHub.com 的设备码流程 / 企业实例地址 / 个人访问令牌)、
Git 身份(姓名 / 邮箱 / 默认分支,写全局 git config)、
外观(主题 / 标签宽度 / 日期·时间·数字格式 / 优先绝对日期)、
通知(多一个「发送测试通知」与「本次会话已发出 N 条」)。
· 账号那一组与偏好弹窗共用同一个状态机(令牌表单默认收起、点了才展开;非 github.com
的实例不再静默登 github.com,而是展开令牌表单并说明原因)。已登录时只留一行身份
(头像 + @login)与「退出登录」按钮,登录面整块收起 —— 改前同屏既有「已登录 @x」
又摆着「请输入访问令牌」。头像地址与镜像 Accounts 页同源,两处必然一致。
· 设置页占满可用宽度。改前它被一条同名的无关规则(.gw-settings{width:min(560px,…)},
属于 Desktop 风格的设置弹窗)卡在 560px —— 设置页自己的类名前缀现在统一成
gw-plugin-settings*,不再与那一套重叠。
· 设置项的样式对齐 dsh-context:标签在左、控件在右,枚举是胶囊下拉(36px 高 / 18px 圆角),
输入是全宽文本框,分组标题 + 一条细分隔线,提示行 12px 次要色;动作类配置项(退出登录 /
登录 / 发送测试通知)是同一套胶囊按钮。
· 界面文案开始跟随宿主语言(中文 / English)。这一版覆盖的是上面那一页设置;
其余界面文案仍是既有的中文/英文原样,后续增量迁移。插件在「插件」列表里的标题与说明
也随语言切换(locale/zh.json / locale/en.json)。
· 兼容
· 端到端部署测试已在 @deepseek-ai/dsh@0.2.0-rc.2 上通过(run)。
---
Full Changelog:
v1.0.02026-10-07
在 DSH 官方右侧栏里装一个本地 Git 工作台,连同四个 GitHub 远端页签 —— 一个插件、六个页签:Changes(按文件暂存、逐行 diff、提交)、History,以及 Code / Issues / Pull requests / Actions(远端由 host 半代理)。提交信息由 DSH 里已经配好的模型生成,不依赖 Copilot,也不需要额外的 API key。
dsh plugin --profile add @linxueyuan/dsh-git
npm:< · 安装后重启 DSH 并硬刷新页面(host 半是 Node 模块,不随页面刷新重新加载)。
---
首个版本。
· 新增
· 官方右侧栏页签 —— 在 DSH 右侧栏注册一个 tab(实例 id dsh-git,显示名 git),
与官方其它页签同一套交互;侧栏「插件」页与「设置 ▸ 内置插件」两处都有设置卡片。
· 多仓库下拉 —— 你显式添加过的本地仓库;登录 GitHub 后还能列出你有权限的远端仓库。
· Changes —— 文件级暂存 / 取消暂存、逐行 diff、提交(摘要 + 描述),
提交信息可由 DSH 模型列表里已配好的模型生成。
· History —— 提交列表;选中提交显示说明、短 sha 与 +/− 统计,
以及该提交改动的文件与逐行 diff。
· Code —— 远端文件树;没有远端时退化为本地工作区视图,不是空页。
· Issues —— 列表 + 详情,可新建、评论、关闭 / 重开。
· Pull requests —— 列表 + 详情,可新建 PR。
· Actions —— workflow runs 列表,可重跑或取消。
· 同步与分支 —— fetch / pull / push;强推只允许 --force-with-lease
(全库没有裸 --force)。分支可切换、新建、重命名;可检出某个提交(分离头)或 cherry-pick。
· 克隆 —— 走 host 半,且关掉 protocol.ext.*。
· GitHub 登录 —— Personal Access Token(细粒度需 Contents R / Issues RW /
Pull requests RW / Actions RW;经典 Token 用 repo);
在 profile 里填了 OAuth App 的 clientId 时额外提供设备码登录。
· 安全
· /dsh-git/* 路由只接受 loopback 请求,局域网 / 远程访问一律 403。
· git 只能操作你显式添加过的仓库清单里的路径,其他路径返回 workspace-unknown。
· 令牌只存在 host 半:挂在宿主凭据接缝 ctx.credentials 的 GITHUB_TOKEN 上,
界面只显示尾 4 位;git 通过环境变量拿凭据,不进 argv、不进 .git/config。
令牌不在插件的通用状态域里(整域读 / 写 / 导出 / 备份都不会带上它)。
· GITHUB_TOKEN=… dsh 是只读覆盖(写它会被拒),轮换令牌不需要改代码。
· 静止保护是明文 + 文件权限(文件 0600 / 目录 0700),没有加密 ——
与宿主 credentials-local 自己的做法一致,详见 README 的「GitHub 登录与令牌」一节。
· 已知边界
· 远端页签以 GitHub 为准;本地未推送的提交在 Code 树里看不到对应文件。
· 暂存是文件级的(M1),没有 hunk 级暂存。
---
构建说明。 本版本的 npm 产物是发布时本机构建的,对应提交 e2e0286(该提交的 package.json 与 npm 上那份逐字段一致);当时工作区含尚未提交的 src/ 改动,因此无法从任一提交逐字节重建这份 tarball。之后的版本走 .github/workflows/release.yml,从 tag 的干净检出构建,可复现。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成@linxueyuan/dsh-git
把本地 Git 装进 DeepSeek Harness 的官方右侧栏:多仓库下拉、Changes / History 本地操作、Code / Issues / Pull requests / Actions 远端页签,提交信息由 DSH 模型列表里的模型生成。
你会得到
另外这些是所有页签共用的:
- 多仓库下拉 —— 你显式添加过的本地仓库;登录 GitHub 后还能列出你有权限的远端仓库。
- 同步与分支 —— fetch / pull / push;强推只允许 --force-with-lease(全库没有裸 --force)。分支可切换、新建、重命名,也能检出某个提交(分离头)或 cherry-pick。
- 没有远端也能用 —— Code 页签在本地仓库上退化为本地工作区视图,不是空页;Issues / PR / Actions 需要远端,缺远端时给的是可读说明而不是报错。
- 提交信息交给模型 —— host 半读 diff,走 ctx.llm 里你已经在 DSH 配好的任意 provider。
- 设置里能找到它 —— 侧栏「插件」页 ▸「已安装」▸ @linxueyuan/dsh-git ▸ 详情页的配置区:界面缩放、diff 勾选标记、通知与几个确认开关,外加插件自己的配置文档(Pulls 自动刷新周期)。
展开完整文档(README 剩余 1 节)
@linxueyuan/dsh-git 把本地 Git 装进 DeepSeek Harness 的官方右侧栏:多仓库下拉、Changes / History 本地操作、Code / Issues / Pull requests / Actions 远端页签,提交信息由 DSH 模型列表里的模型生成。 你会得到 另外这些是所有页签共用的: - 多仓库下拉 —— 你显式添加过的本地仓库;登录 GitHub 后还能列出你有权限的远端仓库。 - 同步与分支 —— fetch / pull / push;强推只允许 --force-with-lease(全库没有裸 --force)。分支可切换、新建、重命名,也能检出某个提交(分离头)或 cherry-pick。 - 没有远端也能用 —— Code 页签在本地仓库上退化为本地工作区视图,不是空页;Issues / PR / Actions 需要远端,缺远端时给的是可读说明而不是报错。 - 提交信息交给模型 —— host 半读 diff,走 ctx.llm 里你已经在 DSH 配好的任意 provider。 - 设置里能找到它 —— 侧栏「插件」页 ▸「已安装」▸ @linxueyuan/dsh-git ▸ 详情页的配置区:界面缩放、diff 勾选标记、通知与几个确认开关,外加插件自己的配置文档(Pulls 自动刷新周期)。GitHub Desktop 那几页偏好仍在右侧栏齿轮里。 它是怎么做的 一个 npm 包里是两个半边:浏览器半只画界面(注册官方右侧栏 tab,本地操作走 /dsh-git/),host 半与 dsh 同进程,跑 git、注册路由、保管令牌、调模型。远端页签不直接打 GitHub,而是由 host 半代理,令牌因此从不进入浏览器。 - /dsh-git/ 只接受 loopback 请求;局域网 / 远程访问一律 403。 - git 只能操作你显式添加过的仓库清单里的路径(其他路径返回 workspace-unknown)。 - clone 关掉 protocol.ext.。 - 令牌只存在 host,读 / 写 / 日志只有一处:src/host/credential-bridge.ts。 安装 从 npm 安装(npm 包名是 scoped 的 @linxueyuan/dsh-git) dsh plugin --profile <profile> add @linxueyuan/dsh-git 从本地目录安装(开发态) dsh plugin --profile <profile> add /path/to/dsh-git 注意是 @linxueyuan/dsh-git 而不是无 scope 的 dsh-git,后者已被他人占位(0.0.1,纯占位包,仓库链接 404)。 安装后重启 DSH 并硬刷新页面(host 半是 Node 模块,不随页面刷新重新加载)。 GitHub 登录与令牌 两种登录方式:点「登录 GitHub.com」走设备码(开箱可用,包内已带 App),或填 Personal Access Token(细粒度 Token 要 Contents R / Issues RW / Pull requests RW / Actions RW;经典 Token 用 repo)。 ⚠️ 内置的是 GitHub App,要先把它安装到你的账号 / 组织 —— 没装的表现是登录成功但看不到任何仓库。它的用户令牌 8 小时后过期,插件会自动续期。 想换成自己的 App:在 profile 的 cordis.patch.yml 里填 clientId,或给 DSH_GIT_CLIENT_ID 环境变量(写 off 关掉设备码登录)。 - id: dsh-git name: '@linxueyuan/dsh-git' config: clientId: 'Ov23li…' # 自己建的 App 的 Client ID 令牌只在 host 侧,浏览器只看得到尾 4 位;静止时是明文 + 0600 权限,没有加密。 已知边界(M1) - 远端页签以 GitHub 为准;本地未推送的提交在 Code 树里看不到对应文件。 开发 npm install # 依赖:esbuild(打包)+ typescript / eslint / sass(闸门) npm run build # lib/index.js(host, esm) + lib/client.js(browser, ModuleLoader 包装) npm run check # 产物语法检查(node --check) npm run lint # ESLint npm run typecheck # 类型闸门 npm run check:static # 一条命令跑齐所有静态闸门(check-all 自动发现并汇总) CI 只跑发布物(构建 → 产物语法 → 包可用性:清单自洽、宿主能加载、运行时依赖都已声明、发布内容完整且不含源码): npm run build && npm run check && node scripts/verify-plugin.mjs 下面这些闸门是本地的源码卫生工具,不在 CI 里 —— 它们盯的是「这个仓库自己怎么写的」,与「装上能不能用」无关,其中一部分是长期棘轮债: | 闸门 | 拦下的静默失败 | | check-integration | 产物没跃升 / 镜像不可达 / 类名缺失 | | check-generated | 生成物与源码不同步(npm run check:generated:rebuild 会重跑构建逐字节比对) | | check-base-recipes | 类名在、但真正的样式配方不在编译闭包里 | | check-scope-roots | 作用域根在同一条选择器里出现两次 ⇒ 永不匹配 | | check-sass-leaks | 产物里残留未编码的 $var ⇒ 浏览器静默丢弃整条声明 | | check-unreachable-ancestors | 规则在,但它要求的祖先元素从不渲染 | | check-lint / check-types / check-scripts-types | ESLint / 客户端类型 / scripts/* 自己的类型 | 退出码契约:0 = 通过(允许带已登记的棘轮债务)、1 = 有未登记缺陷、2 = 跳过。 License MIT · 第三方声明:THIRD-PARTY-NOTICES.md
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LinXueyuanStdio/dsh-git
dsh 的 git 插件
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7
这是你的仓库?认领条目