dsh-poor-mode
穷鬼模式 Poor Mode — 供应商感知的分时省钱 DSH agent preset:复杂任务可选「立即执行」或「闲时执行」(DeepSeek 峰谷半价;其他平台可自定义规则)
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 27, 2026
- Updated
- Aug 27, 2026
Introduction
dsh-poor-mode — 穷鬼模式(Poor Mode)
钱包优先的分时执行 agent preset:先分析用户意图目标,复杂任务先问「立即执行」还是「闲时执行」——闲时(周末/夜间等,价格是高峰的一半)再动手,省一半 token 钱;简单/紧急任务直接立即执行。
与「梁神模式」(dsh-liangshen)同一套 preset 同步架构:Host 启动时把内置 preset 同步到 ~/.dsh/.agent-presets,新建会话即可在预设选择器中选择「穷鬼模式」。
原理
DeepSeek 自 2026-08-17 起实行峰谷定价(官方定价页:https://api-docs.deepseek.com/zh-cn/quick_start/pricing):
| 时段 | 时间(北京时间) | 价格 |
|---|---|---|
| 高峰 | 周一至周五 09:00–12:00、14:00–18:00 | ×1.0 |
| 闲时 | 其余所有时间(周末全天、夜间、午休) | ×0.5 |
穷鬼模式把这个规则固化进 agent 行为:
- 收到任务先做「一分钟分析」:意图、复杂度(步骤数/改动面/推理深度/数据量)、紧急度、预估成本;
- 简单任务(≤5 步、小改动、纯问答、用户要求马上做)→ 直接立即执行,不打扰;
- 复杂任务 → 先调
poor_mode_clock拿当前峰/谷、价格倍率与下次闲时开始时间 → 用ask_user_question让用户选:- 立即执行:按当前费率马上做(开头一句话说明时段与费率);
- 闲时执行:
poor_mode_queue入队,明确告知下次闲时开始时间(如「今天 18:00」/「周六 00:00」)与省下的费用;闲时回合回来时优先按队列执行、完成后标记 done;
- 每个新回合先查队列:若当前为闲时且有排队任务,优先排空队列。
省钱 ≠ 降质:不跳过必要步骤;穷鬼模式省的是「时间差价」,不是「该做的事」。任务执行中跨过峰谷边界不中断,按发起时用户的决定执行到底。
内置工具(preset 内)
| 工具 | 作用 |
|---|---|
poor_mode_clock | 按供应商输出分时计费状态:所处时段、价格倍率、下次低价窗口开始时间与费率表(内置 DeepSeek 档;其他平台默认 flat 固定计价档;支持自定义档位) |
poor_mode_queue | 延迟任务队列(enqueue / list / done / remove / clear),默认存于 ~/.dsh/poor-mode-queue.json(可用 DSH_HOME 覆盖) |
其他模型 / 服务商(多平台适配)
峰谷规则是 DeepSeek 特有的——其他平台(Anthropic / OpenAI / 各类中转 / 本地部署)多数没有分时折扣。穷鬼模式因此是供应商感知的:
poor_mode_clock按「供应商档位」回答问题。内置只有两档:- deepseek:上文峰谷规则(含官方费率表);
- flat:固定计价 —— 输出会明确说明「闲时执行不省钱」,persona 相应把选择退化为纯延后(如实告知用户,不虚构节省金额)。
- preset 配置可切默认档(
agent.cordis.yml中poor-mode-clock行的config.provider)。 - 自定义任意平台:在
~/.dsh/poor-mode-providers.json写入(每次调用实时重读,无需重启):
{
"my-relay": {
"label": "某个中转站",
"schedule": {
"type": "peak-windows",
"timezone": "Europe/Berlin",
"weekdays": [1, 2, 3, 4, 5],
"windows": [{ "start": 540, "end": 1080 }]
},
"offPeakPriceRatio": 0.75,
"priceTable": {
"unit": "USD / M tokens",
"source": "https://...",
"models": [
{ "model": "x", "inputCacheHit": { "offPeak": 0.05, "peak": 0.1 }, "input": { "offPeak": 1.5, "peak": 3.0 }, "output": { "offPeak": 4.5, "peak": 9.0 } }
]
}
},
"no-discount-provider": { "label": "固定计价", "schedule": { "type": "flat" } }
}
调用时也可传参数临时切换:poor_mode_clock(provider: "my-relay")。窗口边界为「开始含、结束不含」;weekdays 用 ISO 星期数(周一=1)。
安装
# 从 GitHub(推荐,lib 已随仓库构建好,装完即用):
dsh plugin --profile web add github:superkonka/dsh-poor-mode
# 本地源码方式(本目录):
dsh plugin --profile web add link:/绝对/路径/dsh-poor-mode
# 发布到 npm 后:
dsh plugin --profile web add dsh-poor-mode@latest
装完完整重启 dsh web,新建空 session,预设选择「穷鬼模式」。插件会在启动时把 presets 同步进 ~/.dsh/.agent-presets(升级插件后重启即自动更新)。
配置
| 键 | 默认值 | 行为 |
|---|---|---|
enabled | true | 总开关:关闭后预设同步与公告都不执行。 |
announceToAgent | false | 按需开启:向 agent 系统提示注入本插件公告。默认关闭,保持系统提示词干净。 |
可在 Web 设置界面(插件配置,即时生效)或 profile patch 中编辑。
与梁神模式的差异
- 相同:preset 同步架构、settings 命名空间、mount-once 防重、agent.cordis.yml 结构校验、host-only 插件形态。
- 不同:
- 不启用两阶段锚定(无 tool-bootstrap 裁剪)——首轮即完整工具目录;穷鬼模式聚焦「分时省钱」行为,不为省钱牺牲工具能力;
- 新增
poor_mode_clock(峰/谷时钟 + 官方费率表)与poor_mode_queue(延迟任务队列)两个 preset 内工具; - persona 为穷鬼模式策略(复杂度判断 → 立即/闲时选择 → 队列排空)。
验证
# 1) preset 结构校验
npm run validate
# 2) 单元冒烟(纯函数)
node -e 'import("./presets/poor-mode/poor-mode-clock.mjs").then(m => console.log(m.poorModeStatus("2026-08-27T10:00:00+08:00")))'
# 3) 运行时
# 重启 dsh web 后确认 ~/.dsh/.agent-presets/poor-mode/ 存在;
# 新会话选「穷鬼模式」,给一个复杂任务,观察是否先询问「立即执行 / 闲时执行」;
# 选「闲时执行」后查看 ~/.dsh/poor-mode-queue.json。
许可
插件本体 Apache-2.0;preset 组合与部分实现改编自 dsh-liangshen(Apache-2.0,zhu1090093659)与 DeepSeek Harness(MIT),详见根目录 NOTICE 与 presets/poor-mode/NOTICE。