DeepSeek Harness Hub
← 返回列表

工程驾驶舱插件LLYlab/DSHEssentialTools

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

运行项目、分支对话、回滚快照并管理插件与开销

自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/16 · 已提供中文文档

DSH 永久插件:LVAL 工程运行/代码查看/程序版本快照回退 + VTD 虚拟对话树(编辑/重试/分支、消息小版本)+ DET 管理器。A permanent DeepSeek Harness plugin: project run & code viewer, program snapshots, an in-session conversation tree (edit/retry/branches), message micro-versions and a feature manager.

综合分
30.8
GitHub 分
30.8
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-essential-tools
npm 包 dsh-essential-tools 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-essential-tools @ 2.7.0
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 09:05:41

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-typert-protocol@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DET · dsh-essential-tools — 将 DeepSeek Harness 变成可用工程驾驶舱的插件。
让 AI 驱动你自己已登录的浏览器 · 分支、编辑并重试任何对话 · 运行 / 快照 / 回滚真实项目 · 管理每一个插件和你花费的每一个 token

快速开始 ·
用户指导手册 ·
更新日志 ·
安全 ·
功能总览

😤 问题所在

如果你在 AI 代理参与循环的情况下开发真实代码,你肯定已经知道这四个痛点:

| 痛点 | 如今大家的做法 | DET 的做法 |
| --- | --- | --- |
| 🧠 一步走错就毁掉整个对话 — 你想从第 12 条消息重新提问,而不是从头开始 | 复制粘贴到新对话,丢失所有上下文 | VTD:编辑 / 重试任意消息 → 生成一个真正的隐藏分支,用  切回,并且工作区代码会随你一起回滚 |
| 🌐 AI 看不到也点不了你看到的东西 — 你已登录的仪表盘、内部页面、file:// 页面 | 截图、粘贴、手把手教、重试 | DET 浏览器扩展:模型通过你自己控制的 localhost 桥接(关闭 / 只读 / 写入 / 开启)驱动你已登录的 Edge/Chrome |
| 🛠 构建-运行-查看-检查是手动循环 | 每小时 Alt-Tab 切到 IDE 和终端 40 次 | 右侧工具栏:▶ 运行 · 🗎 文件树 + 预览/编辑 · 🕘 程序快照与回滚 |
| 💸 你完全不知道一次会话花了多少钱 | 月底才发现 | 角落实时显示余额 + 各模型价格 + 每轮成本 + 高峰/低谷估算 |

DET(插件 dsh-essential-tools)是永久性 DeepSeek Harness 插件,一次性解决这四个问题——并在此基础上增加了完整的插件管理器、对话记忆层和安全审计。它存在于你的 web 配置中,重启后依然保留,并显示在设置 → 插件清单中。

🎁 零配置: 不设置项目路径时,所有对话/token/插件功能开箱即用。只有在你想要 ▶ 运行时才需要添加路径。

✨ 功能导览
🌐 浏览器控制——重头戏
一个真正的 MV3 扩展(Edge / Chrome)通过仅限 localhost 的 WebSocket(127.0.0.1:9123)连接到 DSH 主机,因此模型可以操作你已经登录的浏览器——内部工具、仪表盘、网页邮箱、本地 file:// 页面,无论你打开了什么。

- 读取: read_text · read_dom · screenshot · get_url · get_title
- 写入: navigate · click · fill · run
- 六个模型工具: det_browser 以及 web_human_search(像人一样搜索)、web_insite_search(在你打开的标签页中查找)、web_act、web_inspect、web_focus
- 权限旋钮由你掌控——四档开关位于扩展弹窗中,DSH 只能读取它:
| 模式 | 模型可以 |
| --- | --- |
| 关闭 off | 什么都不行 |
| 只读 read | 读取页面(文本 / DOM / URL / 截图) |
| 只写 write | 导航、点击、填写、运行——但不会返回任何页面内容 |
| 启用 on | 完整的读取 + 写入 |
- 双重门禁: 除非网络权限 = 第 4 级(使用你的浏览器),否则主机甚至拒绝启动桥接;低于该级别时,det_browser 在到达你的浏览器之前就会被阻止。
- 感知审批: 在完全访问模式之外,浏览器操作会经过 DSH 的 tools/pre-execute 审批流程;完全访问则豁免。
- 加固措施:来源校验握手、通过固定函数 + 参数注入(绝不使用 new Function)、仅使用 DSH 指定的 tabId,并且桥接只保留最新的扩展连接,这样过期的 MV3 service worker 就无法吞掉你的命令。

➡️ 设置:browser-extension/README.md · 深入阅读见指导手册

🌲 VTD——虚拟对话树
别再丢弃对话了。

- 编辑 / 重试任意用户消息 → 创建一个真正的分支子会话(origin: vtd-fork,在侧边栏中隐藏)。你的原始对话线程不受影响。
- 消息上的  分支选择器:在分支之间跳转,DET 会为你快照工作区并恢复目标分支的代码(消息微版本)。
- 流式分支视图: 没有固定的 4 秒轮询——主机会发出 generating 信号,因此标签页在 token 流动时以约 700 毫秒刷新,空闲时以约 2.5 秒刷新,自动滚动,并显示“正在生成…”。
- 产品原生渲染: 仅显示真实用户气泡,上下文注入折叠收起,工具调用/结果以卡片呈现,推理过程折叠,细粒度 Markdown。
- 消息微版本: baseline / edit / retry / auto-switch 自动记录并可恢复。

🖥 右侧工具栏——无需离开聊天即可进行项目工作
| | 工具 | 功能 |
| --- | --- | --- |
| ▶ | Run | 找到你的入口点(main/entry/run .py/.cpp,或 .sln/.slnx),用 MSBuild 构建,启动程序 |
| 🗎 | Files | 工作区文件树(可折叠、计数、缩进),点击可在模态框中预览或编辑 |
| 🕘 | 版本 | 程序级快照:手动快照 / 回滚(先自动备份)/ 删除 — 仅代码文件 |
| 🧩 | 插件 | 跳转到插件管理器 / 本对话的插件开关 |
| 🛡 | 安全 | 审计日志与安全开关 |

MSBuild 缺失或配置错误?自动发现:vswhere → 常见 VS 安装目录 → PATH,缓存 60 秒,lvalInfo 会报告实际使用的路径。

🧩 全局插件管理器 — 一个库,五个级别,两条安装路径
- 库贯穿整个进程(存储域 dsh_global_plugins,重启后依然保留)。每个插件都带有一个级别:
全局启用 always · 对话AI可自行决定启用 ai-auto · 对话内AI需审批启用 ai-approve · 不再会有新启用 frozen · 全局禁用 disabled
- 引入插件: ① 从任意运行中的对话提升一个实时动态 Cordis 插件;② 搜索商店(GitHub / 市场 / 排行榜 / 雷达),附带缓存的 AI 摘要;③ 粘贴清单 URL。
- 从 GitHub 有两种方式: ① 直接下载(det_global_plugin_github_direct);② AI 阅读源码并重写一个等效、更安全的版本(det_global_plugin_github_rebuild → det_global_plugin_github_save)— 第三方代码绝不会被执行,两条路径都会返回病毒/漏洞警告。
- 常驻插件(例如 dbs)拥有一个干净的启用/禁用开关,通过加载器热卸载/重载,重启后依然保留,并刷新 UI(det_global_plugin_set_enabled)。
- 启动守卫: 持久化的启用状态会在启动时重新应用;连续 bootFailLimit 次启动失败(默认 2 次)会自动禁用所有全局插件,因此坏插件永远不会让你的启动变砖。
- 对话内工具: det_global_plugin_list/enable/disable/scan_installed/import_installed/set_enabled/github_direct/github_rebuild/github_save/store_search。

🧭 MDA · CDM · TCT — 记忆与成本控制
- MDA(Mixing Dialogue Agent)分层: native / workspace 组 / model 组(可从侧边栏 🔀 MDA 分组 折叠树)。
- CDM(CrossDialogueMemory): cdm_list / cdm_search(默认限定工作区,cross=true 可升级为跨区)/ cdm_read — 取回你在另一个对话中已经想清楚的内容。
- TCT(Temp Chat Tool): det_tct — 一个提示词,可选预设(review / summary / format / brainstorm),带类型的权限,一条反馈字符串,会话销毁,不持久化任何内容。
- 模型协作(model 组): mda_card 用 TCT 写入某个模型的档案;mda_activate 将工作分派给另一个模型(⚠ 极其消耗 token,默认关闭);mda_create_no_workspace_agent 启动一个无工作区代理。

📊 DeepSeek 余额 · 定价 · 每轮成本
- 角落状态卡片:余额来自 api.deepseek.com/user/balance,每 5 秒刷新一次,可展开查看多币种明细和距耗尽天数估算。
- 按模型价格标签从官方定价页面解析(优先人民币页面,美元作为备选),在高峰 / 非高峰之间切换(北京时间周一至周五 09:00–12:00 和 14:00–18:00 为高峰),缓存 6 小时,并带有最后可用值回退。
- 你所处对话的每轮成本。
- 密钥处理:仅由宿主解析(配置 → DSH 凭据接缝 → 环境变量),只存在于请求头中——绝不写入磁盘,绝不记录日志,绝不发送给客户端。没有中间人代理,没有密钥账本,没有遥测。网络仅访问 api.deepseek.com 和 api-docs.deepseek.com。

🛡 安全审计 + 网络权限层级
- 可选的执行前审计:每次工具调用都会获得一次独立的模型审查;高风险调用会被 deny 并记录日志(secCmdAudit、secPromptDefense)。⚠ 每次调用都会增加延迟和 token 消耗。
- 网络权限——5 个层级(输入行中的内联下拉菜单,持久化为 det.webperm):

| 层级 | key | 含义 |
| --- | --- | --- |
| 禁用网络 | off | 完全无网络 |
| 官方API搜索 | api | 仅 DeepSeek 官方 API(余额/定价需要 ≥1) |
| 搜索API搜索 | search | 搜索 API;通用抓取需要 ≥2 |
| 静默浏览器仿真 | silent | 无头浏览器仿真(读取页面) |
| 使用用户浏览器 | browser | 驱动你的真实浏览器(det_browser 需要恰好此层级) |

🎛 总开关——一键恢复原生 DSH
设置 → DET 管理器打开时,在各功能开关上方有一个总开关(det.features.master,默认开启)。

- 关闭 = 完全原生。 DET 只保留两样东西:此管理器页面和开关本身。其他所有内容均被卸载——▶🗎🕘🧩🛡 工具栏、角落的余额/成本/MMS 卡片、网络权限控件、VTD 标签页和消息操作、MDA 侧边栏覆盖层、全局插件和 MDA 设置项、所有 det_ / web_ 模型工具和系统提示注入、安全审计钩子、本地浏览器桥接,以及侧边栏注册表自检。MDA 分组重置为 native。
- DET 管理的插件也会被停止——且仅限这些。 范围是全局插件库:绑定到加载器条目的记录(通过扫描已安装插件 → 导入,会写入 moduleName)且实际处于开启状态。常驻插件通过加载器热卸载,动态插件则停止其按会话实例。不在库中的插件——例如 dlt,它在其自己的设置页面上有自己的总开关——属于它们自己,绝不会被触碰。容器/内置条目(cordis:include,它拥有整个 cordis.yml 子树)绝不会被禁用,框架包(@deepseek-ai/)或 DET 本身也不会。
- 停止是经过验证的,而非假设的。 每个目标都会从加载器重新读取并重试一次;任何拒绝停止的目标都会在管理器页面上报告(⚠ 未能停用 + 原因),而不是被声称已停止。声称常驻但未绑定到任何加载器条目的库记录会单独列为未停止(det.master.unmanaged),并附有指向导入操作的提示。已停止集合会快照保存在 det.master.paused 中(带有 applied 标志),并在开关重新打开时恢复;常驻插件的浏览器端部分只有在页面刷新一次后才会消失,因此面板上有一个刷新按钮。
- 开启会恢复全部内容——包括重新加载主开关停止的插件(常驻插件重新挂载,会话启用记录被恢复,以便 gpSync 将它们带回)。各功能开关保留其保存的值。该开关即时生效并持久化——无需重启,而且关闭它是可逆的,因为每个注册都作为 disposer 持有。
- 在主开关开启的情况下,各功能开关仍像以前一样工作:关闭插件管理器会禁用所有全局插件;关闭 MDA 会使分组恢复为原生行为。

✅ 指示符遵循实际情况
全局插件列表从不猜测:
- 常驻插件由宿主加载器报告(这是唯一决定插件是否被挂载的东西),因此 启用/禁用 是真实状态。如果 DET 存储的意图与加载器不一致,DET 会纠正记录、标记卡片,并同时显示 fiber 阶段(失败 / 仍在加载)。
- 会话状态区分已保存的启用记录与实际正在运行*:只有在运行处于活动状态时才显示“本会话运行中”,否则显示“已启用记录 · 未运行”或“本会话未打开 · 打开后恢复”。面向模型的 det_global_plugin_list 报告相同的实际状态。

🚀 快速开始(60 秒)

要求: Windows、DeepSeek Harness 0.1.1-rc.2+、PowerShell、一个 web 配置文件(首次运行 dsh web 时自动创建)。

选项 A — 从克隆安装(推荐:安装并注册插件)
.\install.ps1 -Profile web

选项 B — 手动,完全等效
dsh plugin --profile web add dsh-essential-tools

选项 C — 直接从 GitHub 安装(无需 npm)
dsh plugin --profile web add github:LLYlab/DSHEssentialTools

然后重启 DSH。dsh-essential-tools 会出现在设置 → 插件清单下,并带有自己的 DET 管理器部分。

该包声明了 dsh.bundle.patch(→ cordis.patch.yml),因此
上述三个命令中的任何一个都会自行将插件注册到配置文件的 bundle 层中——
你无需手动编辑 cordis.patch.yml。下面的手动 insert 仅用于
直接从源代码检出进行挂载。

手动注册 / 添加项目路径 / 配置参考

追加到 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml:

- insert:
- id: dsh-essential-tools
name: 'dsh-essential-tools'
config:                      # 可选 — 仅在 ▶ 运行 / 🗎 文件 / 🕘 版本工具中需要
lvalRoot: 'C:\path\to\project'
srcDir: 'C:\path\to\project\src'
solution: 'C:\path\to\project\App.slnx'
msbuild: 'C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe'  # 可选,自动发现
configuration: 'Debug'
platform: 'x64'
rollbackTargetDefault: 'minor'
bootFailLimit: 2           # 连续启动失败次数达到此值后自动禁用所有全局插件

将 config 留空,除项目工具外的所有功能仍可正常工作。

可选:启用浏览器扩展

1. edge://extensions(或 chrome://extensions)→ 启用 开发者模式 → 加载解压缩的扩展 → 选择 browser-extension/。
2. 在 DET 中,将 网络权限 = 使用用户浏览器 (tier 4)。
3. 点击扩展图标并选择一种模式 — 从 只读 开始,仅在需要时再提升权限。
4. 让模型在你打开的标签页上工作;观察 DET 中的 浏览器控制 状态块。

v1 动态加载(仅限开发)

使用 cordis_define 配合 plugin/host.js + plugin/client.js,然后 cordis_run。v2(npm)是受支持的路径。

📚 文档

| 文档 | 内容 |
| --- | --- |
| docs/GUIDE.md | 🧑‍🏫 用户指导手册 — 安装、首次运行演练、每项功能的逐步说明、权限模型、常见问题、故障排除、卸载 |
| docs/DET功能.md | 功能清单:25 个模型工具、75 个端点、8 个 UI 插槽、存储域、权限层级 |
| docs/DET修改.md | 变更/开发日志:更改了什么以及为什么 |
| docs/DET运行思路.md | 架构与运行时流程 |
| docs/SECURITY.md | 安全设计、五维审查、已知边界、缓解措施 |
| CHANGELOG.md | 发布历史 |
| ARCHITECTURE.md | 实现级架构 |

🔒 一段话讲安全
插件代码以 DSH 进程的真实权限运行——这不是沙箱,因此只启用你信任的代码(DET 在每次安装前都会大声提醒这一点)。DET 额外提供的保护包括:对每个主机侧 fetch 的 SSRF 防护(仅限 http/https、URL 中不得包含凭据、拒绝私有/回环/元数据地址、解析后重新检查 DNS 以阻止重绑定、手动重定向逐跳重新验证、最多 5 跳)、15 秒超时和 Content-Length 预检查、可疑代码扫描并在商店安装时附带 commit-SHA 来源信息、对 cmd.exe argv 加引号以杜绝参数拆分/注入、浏览器桥接绑定到 127.0.0.1 并采用来源校验的握手以及宿主无法覆盖的扩展侧门控、对 Full access 之外的浏览器操作进行审批路由,以及一条绝不持久化你的 API 密钥的凭据路径。黑名单扫描器是提示,而非边界;真正的边界是你的审批。

🤝 贡献
欢迎在 LLYlab/DSHEssentialTools 提交 issue 和 PR。浏览器扩展必须通过加载未打包扩展的方式进行测试;npm 包从不附带它(.npmignore)。

许可证
MIT © 2026 L2959159224

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群