Skip to content
dsh.fish
Agent preset

dsh-minimal-pro

??pro -- DeepSeek Harness minimal-based agent preset: Windows-friendly pwsh/bash shell, first-request anchored bootstrap, and a curated set of everyday tools.

Source
qldth
installs
1 installs
License
MIT
Updated
Updated 2 days ago

Readme

# 极简pro · DSH Minimal Pro

一个基于 **DeepSeek Harness** 官版「极简模式」升级而来的 agent preset:「先极简开局、再放开工具」的首次请求锚定 + Windows 友好的外壳 + 一小批常用工具。

中文 · [English](./README.en.md)

> DeepSeek Harness 极简模式 的 Windows 友好升级版。Display name: **极简pro** · preset id: `minimal-v3`

---

## 特点 (Features)

**1. 保持极简血缘**
- 沿用极简模式的 `complete: true` 人设与无运行上下文快照(`includeRuntimeContext: false`),不引入上下文压缩。
- 同样是「固定 persona + 少量工具」的低打扰配方,不附带子代理 / 工作流 / 计划模式等重型能力。

**2. 首次请求锚定(anchored bootstrap)**
- 参考社区 `anchored-standard` 的研究思路:DeepSeek V4 对**首轮可见的工具 schema** 很敏感。
- **第 1 个请求**只暴露 `str_replace_editor` + 当前生效的外壳,让模型以极简的「工具语义」开局;
- **第一次 `tool/call` 或 `assistant/message` 之后**,自动放开完整工具目录;
- 阶段由**持久会话事件**推导,断线恢复 / reload 后依然保持(请求 #1 永远是锚定目录,请求 #2 起永远是全量)。

**3. 对抗 Windows 不适配 bash**
- 官版极简模式用的是持久 bash 终端(PTY 只在 Linux/macOS 可用,Windows 上跑不起来)。
- 极简pro 换用标准模式官方平台门控外壳:**非 Windows 用 `bash`、Windows 用 `pwsh`**,零外部依赖、不改 DSH 源码。

**4. 补足的常用工具**
在极简双工具之外选入一小批「常用」工具:

| 类别 | 工具 |
|---|---|
| 文件读写 | `read` / `write` / `edit` / `read_image`(共享极简的本地非沙箱 `fs`) |
| 文件检索 | `glob` / `grep` |
| 网页搜索 | `web_search` |
| 交互 | `ask_user_question` |
| 待办 | `todo_write` |
| 后台任务 | `job_list` / `job_kill` / `job_output` |
| 目标跟踪 | `create_goal` / `get_goal` / `update_goal` |

---

## 文件结构

```
agent.cordis.yml      # preset 组合(bootstrap 必须排第一行)
preset.yml            # 显示名/描述/排序
bootstrap.mjs         # 首次请求锚定的自研插件(本地相对路径 .mjs)
```

---

## 安装

把本仓库的 `agent.cordis.yml`、`preset.yml`、`bootstrap.mjs` 复制到 DSH 的用户预设根下的一个目录里:

```powershell
# 预设 id 即目录名(必须匹配 [a-z0-9][a-z0-9-]*)
$dir = "$env:USERPROFILE\.dsh\.agent-presets\minimal-v3"
New-Item -ItemType Directory -Force -Path $dir
Copy-Item agent.cordis.yml, preset.yml, bootstrap.mjs -Destination $dir
```

然后**重启 DSH**,在 Web 界面新建会话时选择 **极简pro** 即可。

### 自定义
- 想调整「首轮锚定」行为:编辑 `bootstrap.mjs` 里的 `promotedFor`(切换触发条件)或 `keepBootstrapOnly`(首轮保留的工具)。
- 想增减工具:编辑 `agent.cordis.yml` 的行即可(`read`/`write`/`edit` 由 `tool-fs` 提供,`glob`/`grep` 由 `tool-fs-search` 提供)。

---

## 它是怎么工作的

`bootstrap.mjs` 是一个不注入任何服务的本地插件行(`name: ./bootstrap.mjs`)。它注册两个 waterfall 监听:

- `system-prompt/assemble`:拿到最终拼装完的工具目录后,在「未晋升」阶段把它收窄成 `str_replace_editor` + 当前外壳;晋升后原样放行。
- `agent/pre-step`:未晋升阶段剥离自动注入的 skill 目录 / AGENTS.md 摘要。

「晋升」信号 = 会话日志中第一条 `tool/call` 或 `assistant/message`(`promoteOn: either`,对「首回复不做工具调用」也健壮)。任何内部错误都会安全降级为「返回全量目录 / 保留全部上下文」,不会卡死会话。

---

## 与相关社区项目的异同

| 项目 | 做法 | 极简pro |
|---|---|---|
| [ChangedenCZD/dsh-minimal-turbo](https://github.com/ChangedenCZD/dsh-minimal-turbo) | 极简模式 Windows 适配 | 同为「极简 + 少量标准工具 + Windows」,但它叠加 `tool-pwsh` 于持久 bash 之上,且无首轮锚定 |
| [liceses/dsh-gitbash-preset](https://github.com/liceses/dsh-gitbash-preset) | 把极简 bash 映射到 Git for Windows 的 MSYS bash | 它保持纯双工具极简、只换 bash 执行器;极简pro 用原生 `pwsh` 且加了常用工具 + 锚定 |
| [xiaobright/dsh-anchored-standard](https://github.com/xiaobright/dsh-anchored-standard) | 首轮极简锚定后放开完整 standard | 锚定思路一脉相承,但它会落到 ~25 个 standard 目录;极简pro 只放开自己的一小组工具 |

---

## License

[MIT](./LICENSE)。组合与 `bootstrap.mjs` 由本仓库作者编写;组合骨架派生自 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(MIT)的 `minimal` / `standard` preset,并受社区 anchored 思路启发。

Install

# Copy the composition to $DSH_HOME/.agent-presets/dsh-minimal-pro/agent.cordis.yml

Profile: web

Source