@zifeng1023/dsh-bot

workflowtested: passnpmMIT

Always-on AI teammate: hand it a recurring task in one sentence; dry-run rehearsal by default, snapshot before every real run, one-click rollback, CNY budget circuit-breaker, per-run cost transparency.

下载量 / Downloads
1,348
依赖体积 / node_modules
9.45 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add @zifeng1023/dsh-bot

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-bot — DSH 里的常驻 AI 队友

一句需求交给 Bot 长期值守;每次动作先演习、可批准、可整单回滚。

一个运行在 DeepSeek Harness 里的插件。

它是干什么的

用一句自然语言,把重复性的守护工作交给一个有记忆、有预算、可回滚的 AI 队友。

你只需要说:

「每过 4 小时报告一次我的服务运行状态」
「每天早上 9 点汇总一下 Git 提交」
「持续盯着这个目录,有新文件就整理归档」

Bot 会接手这件事:按时自动执行、记住每次的结果、把报告发给你——而你对它有三重控制权(见下)。

三分钟上手

1. 安装插件(见下文「安装」),重启 DeepSeek Harness

2. 在聊天框说需求:包含「每过 N 小时 / 每天 / 持续盯着」这类节奏词,Bot 面板会出现「新接手」角标

3. 确认接手:Bot 会先复述它理解的目标与节奏,你确认后它先跑一次演习(dry-run,无真实副作用)

4. 放行真实执行:演习没问题,说「真实执行吧」——之后到点自动运行

5. 看结果:

  • 运行完成后收到系统通知(可在设置里改为「仅异常时打扰」+ 免打扰时段)
  • 打开 DSH 设置 → Bot → 最近运行,每一轮的状态、token、费用、渠道(免费/付费)一目了然,点开看完整详情
  • 运行报告全文在 ~/.dsh/bot/runs/ 按月归档

为什么值得信任:三根支柱

🧠 记得住

具名身份、独立工作区、跨会话记忆。它知道自己上次做到哪、你偏好什么格式、目标推进到第几轮——而不是每次醒来都是陌生人。

🎯 守得住

目标驱动(一次性任务 / 常驻守护),节奏到点自动跑。Bot 只能报告进展或标记卡住,「做完了」永远由你拍板——它不能自己宣布胜利。

🔄 收得回

这是与其他常驻 Agent 最大的差异:

风险 · Grok Bot / Dots · dsh-bot

演习会真实执行("演习发邮件" = 真发了) · 是 · 默认 dry-run,工具分发前拦截

停止 ≠ 撤销已完成的操作 · Dots 官方承认 · 执行前后双快照,一键整单回滚

成本失控 · 无上限 / 额度制黑箱 · 人民币预算熔断(运行中增量熔断)+ 花费逐轮透明

审计只有最近 20 条 · 是 · 全量保留,每次工具调用一条记录

一句话:大厂卖「AI 同事住进云电脑」,这里卖「这位同事干活前后你有一键后悔药」。

功能一览

  • 25 个工具:Bot 管理 / 目标 / 记忆 / 执行 / 流程(Routine)/ 快照回滚 / 调度 / 通用联网抓取(http_get,防 SSRF + pick 路径提取),清单见 [docs/TOOLS.md](./docs/TOOLS.md)
  • 运行记录 UI:设置页内固定高度滚动 / 分页器两种形态可切换,逐轮费用透明(免费渠道、付费渠道、无价目渠道三种标记分明)
  • 系统通知:运行完成/失败桌面提醒,仅异常打扰模式 + 免打扰时段
  • 模型兜底:环境变更导致绑定的模型不可用时自动切换到可运行渠道,并在运行记录中如实标注
  • 成本三态展示:¥0 有两种含义(真免费 vs 算不出来),UI 上长得不一样

安装

# 从插件市场(推荐):DSH 设置 → 插件市场 搜索 dsh-bot
# 从 npm
dsh plugin add dsh-bot
# 本地开发
dsh plugin add link:D:/path/to/dsh-bot
宿主要求:DSH ≥ 0.2.0。已在 0.2.1-rc.x 与 0.2.2-rc.x 上验证;0.2.2 起工具执行改为批量签名,桥接层会按宿主版本自动选择调用形态。

开发

npm run verify:all   # typecheck + 静态检查 + 单测 + 构建 + client 契约 + e2e
npm run test         # 330 个单测
node dev/gen-tools-doc.mjs   # 重新生成工具清单文档

改动必须过 verify:all;工具数量与 HTTP 路由数量有注册断言(删了/漏了会红)。

模型渠道建议

渠道 · 适配状态 · 说明

deepseek-official / deepseek-account · ✅ 推荐 · 验证最充分:文本协议 + 双轮回喂 + 流稳定性都打磨过

deepseek-web · ✅ 可用 · 免费网页渠道

其他渠道(our-free-model / zcode / qoder / trae…) · ⚠️ 逐步优化 · 可能出现空回复或流中断;每个版本公告会注明本版优化了哪个渠道

遇到「模型返回了空内容」? 九成是渠道兼容性问题——先换 DeepSeek 系渠道试试。

诚实限制清单

  • 演习本身计费:dry-run 拦截的是工具执行,模型调用是真实的
  • 桌面休眠:DSH Desktop 关闭/休眠时调度器停转,错过的轮次只补最后一次(面板有心跳指示)
  • 单实例假设:两个 DSH 实例共用同一 ~/.dsh/bot 会互踩
  • 通知依赖 GUI 进程:系统通知由 Web GUI 页面轮询驱动,浏览器页面完全关闭时不会响(宿主未向插件暴露原生通知 API)
  • 未知成本模型:价格表没覆盖的模型显示「无价目」而不是 ¥0——它可能真的花钱
  • 工具能力边界:Bot 工具来自插件注册 + 宿主暴露两层;宿主环境差异看 ~/.dsh/bot/.plugin-loaded.json 诊断
  • 宿主升级可能改变契约:DSH rc/minor 升级若改动工具执行签名或 client 加载方式,需要插件同步适配;升级后先在「诊断」里看一眼再跑真任务

遇到问题?

三步,别先禁用插件重装:

1. 打开诊断:DSH 设置 → Bot → 诊断,点「复制诊断」。它包含宿主注册数、client 加载状态与版本、崩溃记录、模型可用性四层结论。

2. 贴到 issue:把诊断文本贴到 GitHub Issues,附上你当时想做什么、面板有没有出现。

3. 桌面端起不来:用崩溃对话框的第三个按钮「禁用第三方插件、备份 profile patch 并重启」,进来后再按诊断里的「下一步」处理。

常见结论对照:「client 版本 ≠ 当前版本」→ 重装插件;「registeredCount < 期望」→ 看 registerErrors;「llmReady=false」→ 检查模型渠道配置。

文档

  • [立意与竞品](./docs/POSITIONING.md) — 为什么做「可托付」这一层
  • [技术设计](./docs/DESIGN.md)
  • [工具清单](./docs/TOOLS.md)(自动生成)
  • [宿主契约](./docs/HOST-CONTRACT.md) — 宿主实际怎么工作,以及踩过的九个坑
  • [经验教训](./docs/LESSONS.md) — 从事故文档蒸馏的工程原则

License

MIT

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::7,最后更新 2026-11-06

Links

GitHub · Homepage · npm

Same category