← 返回列表
未验证
DSHDeepSeek Harness插件维护主仓库monorepo。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/17 · 已提供中文文档
综合分
30
GitHub 分
30
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add mzzsfy/dsh-plugin该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-plugin
DSH(DeepSeek Harness)插件维护主仓库(monorepo)。
仓库结构
dsh-plugin/
├── packages/ # DSH 插件包
├── scripts/ # 发版脚本、全包加载冒烟
├── tests/ # 仓库级测试(dev-link)
└── docs/ # 本地资料(dsh 本地不入库;rsww-v5 设计文档所在)
npm 发行的包统一使用@mzzsfy/格式
插件一览
| 名称 | 功能 | 简单原理 | 类型 |
| --- | --- | --- | --- |
| @mzzsfy/dsh-usage-panel | 多平台 LLM 账号余额与额度面板:配置 DeepSeek/OpenRouter/Kimi/智谱/MiniMax/NewApi/自定义端点,定期自动查询并画趋势图,用量/余额阈值与窗口重置多通道通知 | 定时调用各平台查询接口并存快照(分频 + 指数退避防风控),面板用自绘 SVG 画余额/额度趋势,快照分档留存;阈值与重置事件经通知通道推送 | DSH 双端插件(settings 槽位 + web 路由) |
| @mzzsfy/dsh-usage-dash | 用量统计面板:天/小时/分钟三粒度 token 与请求统计、活跃热力图、会话底栏信息接管与回合费用芯片、多条件分时段定价费用估算;复刻自 HaoyueQin/dsh-usage-statistics-panel,致谢原作者 | host 端订阅会话事件采集用量落存储域,web 路由供面板查询;client 端设置面板 + 底栏接管与官方动作行回合费用芯片;定价规则按精确/通配与时段/星期/号段多条件匹配 | DSH 双端插件(storage 域 + web 路由 + 槽位注入) |
| @mzzsfy/dsh-maintain | 版本与运维一体化:自动发现新版本、一键升级、安全重启,重启后页面自动恢复 | 监测 npm dist-tag 发现新版本;升级即执行自定义命令({tag} 占位符);重启走优雅退出(5 秒兜底),页面轮询检测宿主恢复后自动刷新 | DSH 双端插件(settings 槽位 + web 路由) |
| @mzzsfy/dsh-think-expand | 流式思考自动展开:始终显示最新一条思考,手动操作优先,打开会话仅展开最后一条,卸载无残留 | 纯前端观察流式渲染,新思考出现即收起上一条;无设置项,安装即自动生效 | DSH 纯前端插件(client 模块,DOM 观察) |
| @mzzsfy/dsh-turn-notify | 回合事件通知:声音 / 系统弹窗 / 页内提示 / webhook / IM 五通道,六类事件独立开关,多窗口只响一次 | host 端观察回合状态,client 端发声;同浏览器多窗口按 localStorage 认领保证唯一发声;非回环 HTTP 访问降级 toast + 标题闪烁 | DSH 双端插件(host 观察投影 + client 发声) |
| @mzzsfy/dsh-session-manager | 会话管理三合一:超期会话自动归档(阈值可配)、归档面板(取消归档 / 两段式删除 / 回收站还原)、归档推送提示 | host 启动补扫、每日周期轮与新会话创建三路触发同一幂等归档评估(阈值与周期均可配,timer 软依赖缺失自动降级);删除移入系统回收站可恢复,面板维护已删台账并支持一键重新挂载 | DSH 双端插件(host 自动归档 + client 面板) |
| @mzzsfy/dsh-toast | 全局浮出通知 Toast 库:多条并存栈式展示,自动消失与常驻确认两种生命周期,供各插件发送操作反馈与事件通知 | 普通 npm 依赖(非 dsh 插件,不声明 dsh.bundle.patch),不进 profile 表层 manifest(市场不显示);经消费插件 dependencies 声明随装,作为传递依赖实体落入顶层 node_modules(hoisted),dsh 启动 fallback 补链兜底,dev-link junction 保开发热更;消费插件 cordis.patch.yml 代挂其宿主占位条目使 client 进入模块表,经 dsh.client.external require 使用;容器直挂 body 顶部居中,样式全取宿主令牌 | DSH 公共 client 依赖库(external require) |
| @mzzsfy/dsh-rs-workflow | 若水工作流 v5:人在场的强规则编排——主循环协作编排、分段推进、结构化产出契约强制校验、审批原语、运行中排队/注入/取消/暂停/断点续跑、全量运行记录无截断回看;用户自建模板经设置页管理,每套模板一键释放为一个模式 | 角色行:board(/api/rsww/ 运行中心+模板管理+配置,host 平面)/orchestrator(preset 平面,主循环七工具+分段 continuable job)/template-tool(preset 平面,AI 模板编辑入口);实现与设计文档见 docs/rsww-v5/(仓库本地) | DSH 插件(host 单角色 + 预设层两角色) |
| @mzzsfy/dsh-llm-pi-gateway | 把会话 sessionId 注入发往 newapi 等 LLM 网关的每个请求,供网关做请求亲和性粘性路由(prompt cache 命中是结果);装上即零感知接管官方 pi-ai 路由,卸载即还原 | 请求体按协议写入 sessionId 派生标记(anthropic metadata.user_id / openai prompt_cache_key);亲和头携带裸 sessionId(anthropic / openai-completions 经 compat sendSessionAffinityHeaders 开启);metadata 模板透传、静态 headers 兜底;bundle patch 以官方 schema 接管路由 | DSH host 端插件(pi-ai 透传 adapter) |
| @mzzsfy/dsh-model-capability-editor | 模型能力编辑器:可视化编辑各模型的思考档位与图片输入(多模态)声明 | 读取官方 describe 拿当前声明,表单编辑后整组写回 settings.yaml(未编辑条目保留,冲突字段级重放不静默覆盖);官方模型行内直接挂编辑块,锚点破坏时浮动入口兜底 | DSH 纯前端插件(模型页行内注入 + 浮动回退) |
| @mzzsfy/dsh-settings-nav-icons | 设置导航分区图标:把千篇一律的齿轮换成各分区专属图形,并为插件市场卡片头像槽提供插件图标,重载页面即恢复官方图标 | 观察设置导航 DOM 与市场卡片 DOM,按分区显示文本匹配贴图;插件面板可声明自己的图标,语言切换自动重贴 | DSH 纯前端插件(DOM 观察) |
| @mzzsfy/dsh-auto-trust-all | 动态信任所有实际到达的 Host 并把 web 默认绑定翻转为 0.0.0.0:泛域名等无法枚举的入口免改启动命令,认证层(原生 cookie 与会话闸门)不动 | 包装 webServer 全部路由(回溯 + 遮蔽注册方法)把 Host 头实时注册进 webRuntime.trustedHosts,闸门每请求实时读数组;容量 maxHosts 默认 100,按最久未访问(LRU)淘汰,行级 config 配置无 GUI;启动横幅与注册/淘汰 console 直出;webRuntime 走服务事件延迟激活,卸载经 disposer 断开注册 | DSH host 端插件(bundle patch 覆盖 + 路由包装) |
| @mzzsfy/dsh-cron-board | 定时任务看板:环境变量集中管理(多值展开/dotenv 导入导出)+ cron 定时任务,执行体支持本地脚本与 dsh 会话任务(fresh 每次新建 / pinned 固定会话) | host 端 croner 解析 cron 触发,全局并发闸门与超时收尾,错过的触发不补跑;web 路由供看板/环境变量/日志三面板;会话任务经 sessionController 投递,支持允许时段与忙时跳过 | DSH 双端插件(web 路由 + settings 槽位) |
| @mzzsfy/dsh-context-manager | 对话增强:历史输入浮层(Alt+↑ 唤起,workspace/session/global/prompts 四范围导航与即时搜索,常用提示词收藏)、插话撤回(未应用插话撤回输入框重编辑)、对话分叉(重写式 fork:该轮不带入子会话,原输入自动回填供编辑重发,支持进行中轮分叉与分叉后自动重发)、家族版本环(‹ n/m › 同源分叉家族序位与直接跳转);dsh-session-manager 历史输入功能的独立延续包 | Host 聚合工作区历史缓存(~/.dsh/historyPrompt/,解压 + stat 指纹增量对齐)经 /api/context/ 路由供浮层查询;分叉走宿主 sessions 服务面 fork+open(follow 开场帧建轮锚点),成功自动打开子会话并回填草稿;家族环由 sessions.list 快照 parentSessionId 建链投影,零新 RPC | DSH 双端插件(host 路由 + client 注入) |
安装与更新:缩短 pnpm 宽限期
pnpm 的 minimumReleaseAge 是新包发布后的安装宽限期(防供应链投毒)——刚发版的插件会因此装不上或装到旧版。建议永久改为 6 小时:
pnpm config set --global minimumReleaseAge 360
单位为分钟(6h = 660 = 360),写入全局 pnpm 配置,对所有项目生效。刚发版想立刻安装,可单次绕过:pnpm install --config.minimum-release-age=0。
开发与测试
要求 Node >= 22(各包 engines 字段;其中 dsh-settings-nav-icons 为 >=20,dsh-rs-workflow 未声明 engines)。
- 包内测试:14 个含 test/ 目录的包执行 npm test(即 node --test "test/.test.mjs");@mzzsfy/dsh-rs-workflow 未声明 test 脚本,以 node --test "test/.test.mjs" 直接运行,已按 docs/rsww-v5/ 实现,全绿
- CI(.github/workflows/test.yml):提交推送与每 3 天定时触发,amd64/arm64 双架构并行,各自全量跑 10 轮(smoke-load + 全部含 test/ 目录的包自动发现;宿主 peer 以钉版包装入仓库根 node_modules 作解析桥,包间依赖以 @mzzsfy 符号链接解析、不经 registry,均不入库)
开发态链接(dev-link)
node scripts/dev-link.mjs all # 归一 profile 依赖行(^线上最新)+ 对账 dsh.profile.bundles + 挂工作副本 junction
node scripts/dev-link.mjs # 单包模式
node scripts/dev-link.mjs all --unlink # 恢复纯 registry 版本
- 开发态合法形态:已发布包依赖行 = ^线上最新,未发布包(线上 404)依赖行 = file:/packages/(dev-link 自动写入,出版本后重跑自动归一);工作副本挂载一律 = junction;公共依赖包(如 dsh-toast)无表层依赖行(残留行由 dev-link 删除),由消费插件 dependencies 声明随装 + dsh fallback 补链兜底
- dsh.profile.bundles 由 dev-link 对账(镜像官方 dsh plugin reconcilePlugins 语义):清单内插件包且依赖行已声明即入层,公共依赖包或无依赖行即出层;装载层变化不走热重载,重启 dsh 后生效
- link 时在 home 补丁层(~/.dsh/cordis.patch.yml)维护 hmr 覆盖行:仓库 packages 保存即热重载(host 半区约 1 秒,client 半区刷新页面),卸链时移除
dsh-usage-panel 的无 IO 纯逻辑层(src/parsers.mjs)由其 npm test 覆盖。包元数据:dsh-usage-panel peerDependencies 为 @deepseek-ai/dsh-settings(>=0.1.2-alpha.2)、@deepseek-ai/schemastery(>=3.18.0)与 react(^18.2.0);@mzzsfy/dsh-rs-workflow 为 @deepseek-ai/dsh-settings(>=0.1.2-alpha.2)、@deepseek-ai/dsh-tools(^0.1.1-rc.2)与 @deepseek-ai/schemastery(^3.18.1);@mzzsfy/dsh-maintain 为 @deepseek-ai/dsh-settings(>=0.1.2-alpha.2)、@deepseek-ai/schemastery(>=3.18.0)与 react(^18.2.0)。peer 不落盘(profile pnpm autoInstallPeers: false),开发态由目录逐级兜底解析到 dsh 本体全局安装目录,CI 无 dsh 本体时以钉版包装入仓库根 node_modules 作解析桥。
发布
推荐走仓库级发版脚本(内置版本校验、测试、发布后回读验证与打 tag):
node scripts/publish.mjs dsh-usage-panel # 发单个包
node scripts/publish.mjs all # 按序发全部
node scripts/publish.mjs --dry-run # 只打印动作,不执行
node scripts/publish.mjs --bump patch # 本地版本已发布时自动升 patch 再发
规则:
- 版本管控以 git tag 为事实源:每包独立 tag,形如 -v(如 @mzzsfy-dsh-usage-panel-v0.1.0);发布成功后脚本自动提交该包版本号变更并把 tag 打在该提交上,推送由维护者执行(git push --tags)
- 发版判定(本地版本==线上时)以 tag 后的包目录提交数为准:无提交 → 跳过(该包无需发版);有提交 → 拒绝发布并提示提交数,须显式 --bump 才发(防止代码已变而版本号未动被漏发);本地 tag 缺失 → 补打 tag 并跳过
- 本地版本低于线上时拒绝发布(防版本回退);高于线上时直接发布(--bump 仅适用于本地等于线上的场景)
- 各包 package.json 的 npmPublish 脚本是无校验的单包发布命令,仅在明确清楚后果时使用
- 发布要求本机已 npm login(2FA 账号需配置 otp 或使用 automation token)
License
MIT,见 LICENSE。扫码进群