English | 中文
dsh-kit
面向 DeepSeek Harness (dsh) 的页面能力套件插件:给 DSH 的浏览器界面加装可选能力,
每个能力独立、互不依赖;全部关闭时 DSH 保持原版。
功能
工作台住在官方右侧边栏(宿主 0.1.5+ 的 sidebar.right):diff / 知识库 / 日程 /
后台任务 / 浏览器各一张 dock 签,知识库签里再分文档签(一页一签)。工作区文件的查看
走官方文件预览(kit 在其头部补一枚「下载到本机」);工作区文件不做插件内编辑——
编辑走 VS Code 或让 agent 改。
索引类视图(文件树、源代码管理、知识库目录)共用左侧边栏一格,对话列常驻。
- 终端(工具行开关 / Ctrl+/):底部多标签终端坞,绑定开启时所在会话(宽度跟随
对话列),隐藏时后台 shell 继续运行;引擎为官方 webTerminals 服务(PTY 归宿主:
系统用户权限、刷新页面进程不断、shell 选择),需要 DSH 0.1.6+
- 文件树(工具行开关 / Ctrl+,):以会话工作区为根浏览、新建/重命名/删除
(回收站)/复制路径 / @ 到对话;点文件交官方右栏文件预览打开,库内的 md 页
则直达知识库阅读签(只读)
- 源代码管理(工具行开关 / Ctrl+Alt+.):页内 git 工作台——暂存/取消暂存/
放弃/提交、点文件在右栏 diff 签看差异(全文件着色,提交图谱可钉定任一提交的
历史版本对比)、分支切换与新建删除、↑↓ 同步(先拉后推)、提交图谱;
非 git 目录可一键初始化
- 日程(入口在右栏开始页条目与待办卡;无 composer 钮、无专属快捷键):
日程 pane 内左待办 + 右周网格 + 本周统计;agent 经
schedule_query/schedule_create
只读汇总、只建不改(人主导);数据结构化落盘 $DSH_HOME/dsh-kit/schedule.json
- 知识库(工具行开关 / Ctrl+Alt+K,默认关):默认地址开箱即用(数据目录下
dsh-kit\vault,可在设置改绝对路径)——纯只读阅读面:左栏目录树选页,右栏
「知识库」签里每页一个文档签(可多开、✕ 单关),[[双链]] 页内跳转(前进/后退,
[[页#标题]] 落到对应小节)+ 阅读条「目录/反链」+ 全文搜索(文件名优先打分);
与对话互通——聊天里的 vault 路径点击直达、树上「@」把页面/选区插进输入框;
库就是普通 md 目录,插件只读不写(不建目录、不碰 git),写入交给 agent 文件工具或你的本地编辑器
- 后台任务(入口在右栏开始页条目与自动跟随):列出会话运行中的后台任务,可查看
输出、结束任务(等同官方
job_output/job_kill)。输出随任务常显、按保留窗口留存
(最近 2MB),刷新页面或多开标签页都能重新读到,不与模型侧 job_output 抢量;
终态行的「关闭」= 从列表移除并释放那份保留窗口(此后刷新只剩一行空行)
- 内置浏览器(右栏「浏览器」签,默认开):agent 以 7 个
browser_* 工具驱动系统 Edge
(vendored playwright-core,专用持久 profile)——快照→动作→断言的 GUI 测试循环、
截图(多模态模型直看,否则落盘);面板显示 agent 浏览器的实时画面,
点击/滚轮/键入直接作用于同一页面(人机共驾);agent 每次导航自动把浏览器签拽到眼前
- 技能管理(设置面板新页):工作区/用户级/技能池三组展示,支持复制、移动、删除、
禁用/启用;被同名技能覆盖者打虚线徽标
- 手机访问(设置面板新页):手机扫码连上本机 dsh web——令牌鉴权网关(默认端口
3090,可改),默认每次启动关闭;局域网与远程双通道,HTTP/WS 全量透传
- 网页搜索(自 dsh-free-search 并入):免 key 引擎链替换付费的
deepseek-official——
专用引擎(GitHub / arXiv / StackExchange / HN,按查询特征参与)优先,其后通用引擎
Tavily(免 key)→ Bing → Sogou 逐个故障转移;可经设置卡开关与条数
- 会话监视(默认开):回合因 429 限流等可重试错误终态结束后,等待自动发送
「继续」(连续自动续跑次数有上限)——覆盖所有会话,页面切后台也能续;只认「刚把
这一轮打死的那个失败」,回合正常做完或被你手动停止时残留在会话里的旧 429 不会
再续(点过「停止」的一律不续);流式输出重复内容(死循环征兆)时自动停止回合并
续跑(这条只作用于当前打开的会话);有动作时 composer 上方显示横幅可取消
- 会话通知(默认开,一个开关管全部提醒):回合收尾、上下文压缩完成、或 agent 提问 / 等你批准工具调用 /
提交计划待批时弹桌面通知(浏览器 Notification API,点击通知回到对应会话)——页面切到
后台标签/别的窗口、或事件发生在你没打开的那个会话时提醒;人正看着该会话时不打扰。
限流自动续跑期间不会误报「完成」(真的停下时才提醒);压缩通知覆盖打开过的会话
(官方只为当前会话拉历史,没打开过的会话看不到它的压缩)。权限在设置卡里一键申请
(未授权时退化为标签标题上的未读计数)
- 设置卡:dsh-kit 配置卡——各功能独立开关、快捷键自定义(终端/文件树/源代码管理/
知识库/侧栏左右两键)、隐藏官方「工作区文件」入口、搜索结果条数、知识库目录、会话监视参数、
会话通知与通知权限、手机访问
安装与更新
安装最新 release(推荐):
dsh plugin --profile web add "github:zhouzhencheng07/dsh-kit#semver:*"
或跟踪 main 分支最新提交:
dsh plugin --profile web add "github:zhouzhencheng07/dsh-kit"
更新到最新版:
dsh plugin --profile web update dsh-kit
本包声明了 dsh.bundle.patch,会被激活为 profile 的 bundle 层。安装/更新后重启
dsh web:工具行出现文件树/源代码管理/知识库/终端四个开关,工作台以官方右侧边栏
承载(五类 dock 签),AI 的 web_search 同时切到免费多源搜索。
宿主版本要求:dsh ≥ 0.1.5(依赖官方右侧边栏服务 sidebar.right)。
老宿主没有该服务时插件照常加载,但工作台签不会出现、入口按钮点了没有面板——
先升 dsh 再装本插件。
工作原理
src/*.ts → dist/(tsc 构建产物入库):宿主半边——挂 /tree、/read、/raw
(Range/206)、/fs/op、/upload、/git/*、/browser(内置浏览器 WS)、/jobs/*、
/schedule/*、/vault/*(知识库)、/skills、/phone/*(手机网关)等端点
client/bundle.js:浏览器半边(手写 ModuleLoader bundle,零构建)——
conversation.input.left 注册四个入口钮;官方右栏 sidebarRightTabs 注册五类 dock 签、
pane 正文经 sidebar.right.pane.tab 提供;终端坞引擎为官方 webTerminals 服务;
设置卡注册进插件管理页 plugins.bundle.config 槽位
client/vendor/*:xterm / TipTap 富文本 / KaTeX / qrcode,全部按需懒加载,
由 /dsh-kit/vendor/* 静态伺服
src/web-search.ts + src/engine-chain.ts + src/engines/*:向 web seam 注册
free-search provider,受设置卡 searchEnabled 门控
cordis.patch.yml:把 dsh-kit 插件行 insert 进 bundle 层,web 行 searchProvider
改为 free-search
- 宿主侧
node-pty/ws/@deepseek-ai/* 不声明依赖:运行时从 profile fallback
node_modules 解析(声明了 pnpm 会装出第二份实例)
环境要求
- dsh ≥ 0.1.5(官方右侧边栏)
- Node.js ≥ 22(dsh 自身要求)
- 零 dependencies 声明;宿主半边 TS 源码 + 预构建
dist,浏览器半边零构建
许可证
MIT