dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
给 DSH 的 Agent 预设:标准模式的工具栈,外加写进人格提示的四条工作纪律——每个项目最多四个文档(项目介绍、方案设定、改动记录、现状与下一步);文档只写当前状态,不记 AI 修改历史、不留被推翻的旧方案;用户没有明确指令就不提交、不推送、不开 PR;动手前先复述目标与验收标准、只做手术式最小改动、没验证不说已修复,汇报用大白话。
An agent preset for DeepSeek Harness (DSH): the full standard tool stack, plus the discipline to think before it types.
中文版: README.zh.md
The whole preset lives in cordis.patch.yml: it inserts one @deepseek-ai/dsh-agent-preset row into the profile and registers a preset with the id complex-project. The package ships configuration only — no host code, no browser UI — so there is very little that an upgrade can break.
The standard preset gets work done, but it will not hold a line on its own: diffs creep, project docs turn into changelogs, and code goes up before you said so.
This preset writes four rules into the persona prompt, so every session starts with them already in force:
| Rule | In one line |
|---|---|
| Four documents | A project keeps at most four docs: intro, decisions, change log, current state & next steps |
| Current state only | No AI edit history, no superseded decisions, no leftover "stage 1–5" wording |
| Commit/push red line | No git commit, git push, or PR until you explicitly say so |
| Careful coding + plain language | Restate the goal and the done-criteria first, make surgical diffs, lead reports with the conclusion |
The tool stack matches the standard preset — bash/pwsh chosen per platform, file read/write and search, tasks and background jobs, skills, plan mode, compaction, subagents and workflows, web fetch, the TODO tool, present. What differs is the persona prompt and the documentation rules:
persona — the four-document policy, current-state-only docs, the commit/push red line, the careful-coding rules, and plain-language reporting;agent-instructions — still loads your global AGENTS.md (64 KB cap);planning / compaction / delegation — same groups and isolation settings as standard;tool-plugin-manager — disabled, so the agent cannot rewrite its own plugin tree.⚠️ The persona block deliberately sets no
suffix. DSH registers onlyproviderandmodelas prompt variables; any other{{name}}throws during prompt assembly and the whole turn fails before a single request is sent. The working directory is injected by the runtime context already, so declaring it here is redundant as well as fatal.
# from npm (recommended — prebuilt install, no build approval)
dsh plugin --profile web add dsh-complex-project-preset
# or from the repository / a local directory
dsh plugin --profile web add https://github.com/sueqet/dsh-complex-project-preset
dsh plugin --profile web add link:<local-dir>
Restart the profile (run dsh web again, or restart the desktop app) — a preset is a row in the profile composition, not a runtime hot-load.
Uninstall: dsh plugin --profile web remove dsh-complex-project-preset
If your profile's cordis.patch.yml already declares - id: preset-complex-project by hand, installing this package registers the same preset twice and DSH reports Duplicate agent preset: complex-project. To switch over:
- id: preset-complex-project ... block from your cordis.patch.yml;dsh plugin --profile <name> add dsh-complex-project-preset;Only one package should provide complex-project at a time.
Requires DSH ≥ 0.1.7-rc.2 (the preset registry @deepseek-ai/dsh-agent-preset-registry joins the base composition there) and Node.js ≥ 22.19.0. Verified on DSH 0.1.7-rc.2 and on the desktop build 0.2.1-rc.2.
The Node floor is the harness's own rather than this package's: DSH compositions call process.getBuiltinModule, which Node ships from 22.3 onwards. This package is a manifest plus one YAML patch — no host code, no browser code, no install-time scripts — so it never loads JavaScript of its own, and the floor only mirrors where DSH can run at all.
After a restart, open the mode picker for a new session: 复杂项目模式 (order 2, right after the standard preset) should be listed. Start a session with it and ask about the project's current state — the answer should talk in terms of the four documents rather than freeform.
From the CLI you can also inspect the composed tree:
dsh --profile web --dump-config | grep -A3 preset-complex-project
npm test # checks manifest + cordis.patch.yml consistency, including !!js parsing
npm pack --dry-run
tools/smoke.mjs verifies that dsh.bundle.patch points at a file that exists, that repository points back at this repo, that every required preset field is present, that child row ids are unique, and that the persona prompt is neither truncated nor carrying a stray suffix. It parses the patch with the harness's own loadOverlayPatches when available, so !!js expressions behave exactly as they do at boot.
MIT © 2026 sueqet