dsh-tide
DeepSeek Harness 插件:看时机的优雅暂停 —— 峰谷切换问询优雅暂停、余额不足强制降级收尾、看门狗自动唤醒续跑。双交接(人 + 模型),日志全留痕 适合需要精细化控制API调用成本、在高峰期或低余额时自动交接任务的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wobenshiwomu/dsh-tide工作机制(全部使用公开 API,已在本机 DSH 源码逐项验证)
| 环节 | 机制 |
|---|---|
| 时间驱动 | 宿主 setInterval tick(默认 10s);峰谷为北京时间周一至五 09:00–12:00、14:00–18:00(peakWindows 可覆盖,支持 leadMinutes 提前量) |
| 注入提醒/审计 | session.append('user/message', msg, { surfaceOp: 'append' }) —— surfaceOp 在回合外上下文是必须的(surface 契约),审计元数据在 source.tide 字段 |
| 唤醒模型 | ctx.sessionController.resolveAgent(sid) → agent.followup(message) → ctx.sessions.flush()(与 dsh-schedule 同款用法) |
| 收尾产物 | submit_pause_handoff 工具:human 交接写工作目录 TIDE-PAUSED-handoff.md(+归档),model 交接写 $DSH_HOME/storages/dsh-tide/handoffs/.md 并随唤醒注入 |
| 余额 | 官方 GET {baseUrl}/user/balance(Bearer,key 走 ctx.credentials → 环境变量兜底),免费不耗额度 |
| 状态 | 内存状态机 + 落盘 state.json(暂停项跨重启);问询窗口/暂停标记可从会话日志重建(跨进程可用) |
配置项(全量 · 全部可选,不配置即取默认)
| 键 | 默认 | 说明 |
|---|---|---|
askEnabled | true | 峰时提醒总开关 |
peakWindows | 周一至五 09:00–12:00 / 14:00–18:00 | 峰段(北京时间),格式 " -" |
leadMinutes | 0 | 峰时提醒提前量 |
askTimeoutSeconds | 15 | 提醒中承诺的回复窗口 |
askValidMinutes | 10 | 窗口后仍有效的答复时限(超过视为继续) |
guardWhileWrapping | true | 收尾期间拦下"开新战线"工具(denyPattern) |
denyPattern | job_|create_goal|update_goal|todo_write|send_message|subagent|workflow|ralph | 收尾期拦截正则 |
activeWindowMinutes | 720 | 只提醒最近活跃过的会话 |
balanceEnabled | true | 余额降级总开关 |
lowBalanceCNY | 5 | 低余额触发线(≤ 即触发) |
resumeBalanceCNY | 20 | 恢复线(> 即唤醒) |
balancePollSeconds | 60 | 常规余额轮询间隔 |
watchdogSeconds | 900 | 暂停后的看门狗间隔 |
balanceBaseUrl | https://api.deepseek.com | 余额接口 base |
apiKeyRef | DEEPSEEK_API_KEY | 凭据服务引用名 |
tickSeconds | 10 | 宿主 tick 间隔 |
storageDir | $DSH_HOME/storages/dsh-tide | 状态与模型交接目录 |
debugSeedSessions | [] | 调试:预置为"已追踪"的会话 ID |