Bundle
dsh-poor-mode
穷鬼模式(Poor Mode):钱包优先的 DSH agent preset,供应商感知的分时省钱。先分析用户意图与任务复杂度,复杂任务让用户选择「立即执行」或「闲时执行」——按当前供应商的实际计费规则判断:DeepSeek 峰谷价闲时半价;固定计价的平台则退化为纯延后队列。支持 ~/.dsh/poor-mode-providers.json 自定义任意平台的分时规则。基于 dsh-liangshen 的 preset 同步架构。
- Source
- superkonka
- License
- Apache-2.0
- Updated
- Updated 8 days ago
Readme
# 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 行为:
1. 收到任务先做「一分钟分析」:意图、复杂度(步骤数/改动面/推理深度/数据量)、紧急度、预估成本;
2. **简单任务**(≤5 步、小改动、纯问答、用户要求马上做)→ 直接立即执行,不打扰;
3. **复杂任务** → 先调 `poor_mode_clock` 拿当前峰/谷、价格倍率与下次闲时开始时间 → 用 `ask_user_question` 让用户选:
- **立即执行**:按当前费率马上做(开头一句话说明时段与费率);
- **闲时执行**:`poor_mode_queue` 入队,明确告知下次闲时开始时间(如「今天 18:00」/「周六 00:00」)与省下的费用;闲时回合回来时优先按队列执行、完成后标记 done;
4. 每个新回合先查队列:若当前为闲时且有排队任务,优先排空队列。
省钱 ≠ 降质:不跳过必要步骤;穷鬼模式省的是「时间差价」,不是「该做的事」。任务执行中跨过峰谷边界不中断,按发起时用户的决定执行到底。
## 内置工具(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` 写入(每次调用实时重读,无需重启):
```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)。
## 安装
```sh
# 从 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 为穷鬼模式策略(复杂度判断 → 立即/闲时选择 → 队列排空)。
## 验证
```sh
# 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。
Install
dsh plugin --profile web add github:superkonka/dsh-poor-mode
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-poor-mode from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.