DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Math Agent Preset — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
M

@local/math-agent-preset

Math Agent Preset

Math_Agent:适用于 DeepSeek Harness 的数学训练/辅导预设,从不替受训者解题。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:RepInS-01/math-agent#ed81061ecf5aff443a95b8eb2c601dcd75697c95
README兼容性版本

兼容性与来源证明

Math Agent Preset 以 @local/math-agent-preset 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/18

版本

1.0.0stable
2026/10/18

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
未声明
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 agents-orchestration 分类下经过校验的插件。

Headless@deepseek-ai/dsh-headlessdsh one-shot bundle:基于 dsh-base 的直接核心 Agent/Session 运行器,不包含 Host、HTTP 或浏览器层Experimental Agent Team Profile@deepseek-ai/dsh-experimental-agent-team-profile在一个实验性捆绑包中提供 Agent Teams 协作、工具和 Web UIExperimental Ralph Bundle@deepseek-ai/dsh-experimental-ralph-bundle使用全新代理执行明确请求的重复工作。Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

Math_Agent

A math training preset for DeepSeek Harness — not a problem solver.

Rather than solving problems for the trainee, it provides rapid feedback to help sharpen mathematical understanding and build intuition. It features a programmatic zero-leak output guard that mechanically prevents the coach from ever revealing the answer.

Features

  • 🧑‍🏫 Coach, Not Solver: Never gives complete solutions, key steps, or final answers. Follows the trainee's reasoning, confirms correct parts, and flags issues.
  • 📋 Pre-Session Check: Before each training session, verifies that the problem is well-defined, conditions are sufficient, and there are no errors.
  • 🧠 Programmatic Attempt Tracking: Approaches tried by the trainee are recorded as program state via the attempt_update tool (status: in-progress / flawed / validated / incomplete), rendered into the system prompt every step, and rebuilt from the session log after a resume. The coach is nudged in the prompt after several rounds without an update. For longer sessions, attempts can additionally be persisted to notes/attempts.md.
  • 🪜 Hint Ladder & Per-Session Hint Policy: Coaching feedback follows a four-level hint ladder (L0 questions → L1 principle-naming → L2 skeleton → L3 partial construction, last resort only). Every L1+ hint is logged via the hint_log tool and counted in the system prompt — a rising count is a signal to slow down. At session start the coach asks the trainee for the hint policy via ask_user_question (strict = L0/L1 only; normal = full ladder) and records it with the hint_policy tool — per-session, resumable, switchable mid-session. The strictness value in cordis.patch.yml is only the default for sessions that never chose (ships as strict); under a strict policy hint_log rejects L2/L3 programmatically.
  • 🚦 Summary Discipline: Only interim summaries are allowed before an approach is fully validated; the final summary is unlocked programmatically — the zero-leak guard stands down only once an attempt is recorded as validated through attempt_update, never on the model's own say-so.
  • 📚 Final Synthesis: The final review revisits every approach explored during the session, identifies the trainee's own reasoning patterns, and avoids dismissing "flawed" paths outright.
  • 🔒 Programmatic Zero-Leak Guard (core highlight): A stream-level guard on llm/stream that inspects the coach's entire reply. When answer clues (numerical values, intervals, correctness judgments, answer forms) are detected, the entire response is replaced — not a single character of the model's original output reaches the trainee. This does not rely on the model's "self-discipline."
  • 🗂️ Extensible Knowledge Base Interface: A reserved local/online knowledge-base integration (knowledge-base skill). During final synthesis, understandings backed by facts and data are prioritized.

Directory Structure

math-agent/
├── package.json          # Bundle manifest: declares `dsh.bundle.patch` → cordis.patch.yml
├── cordis.patch.yml      # Bundle patch: the `preset-math-agent` declaration — display metadata + full Cordis plugin list (tools, persona, skills, guard registration)
├── attempt-tracker.js    # Training-state plugin: attempt_update + hint_log + hint_policy tools, prompt injection, validated flag, stale-update nudge (folds from the session log)
├── zero-leak-guard.js    # Programmatic zero-leak output guard plugin (addressed through the profile's node_modules symlink — see the RESOLUTION ANCHOR note in cordis.patch.yml)
├── zero-leak-guard.test.mjs # Test corpus: leak samples that must block, clean replies that must pass, tracker + unlock behavior
├── README.md             # This file
├── LICENSE               # MIT License
└── skills/
    ├── coaching-protocol/  # Coaching protocol: workflow, red lines, zero-leak rules
    ├── knowledge-base/     # Knowledge base integration interface (reserved)
    └── final-synthesis/    # Final synthesis workflow and output structure

Installation

Prerequisite: DeepSeek Harness version 0.2.1 or newer — either the Desktop app or the Web UI (npx @deepseek-ai/dsh web). This preset is derived from the standard preset and ships as a DSH bundle (package.json + cordis.patch.yml). (The previous commit supports 0.1.7; 0.2.1 added dsh-tool-schedule and dsh-plugin-market, which this preset's plugin list now references.)

DSH versions before 0.1.7 used a different mechanism (a $DSH_HOME/.agent-presets/<id>/ directory holding preset.yml + agent.cordis.yml). Nothing reads that directory any more; the bundle form below is the only supported installation.

  1. Install the bundle into your DSH profile, either way:

    • GUI (Desktop and Web alike): open the left sidebar's Plugins page, choose Add plugin, and enter the spec github:RepInS-01/math-agent. On Desktop, package operations are owned by the app itself — the dsh plugin --profile desktop CLI is refused, so use the Plugins page; or
    • Agent: in a session running the Creator mode (which enables the plugin_manager tool), ask the agent to install_bundle with target set to github:RepInS-01/math-agent. Bundle installation executes plugin code in the Host process, so it requires Full access or an approval.

    Developing on the preset instead? Clone the repository, keep the checkout in place, and install the checkout's absolute path (e.g. /Users/you/math-agent) instead of the github: spec. The installer then adds a link: dependency, so edits to the checkout take effect after a restart:

    git clone https://github.com/RepInS-01/math-agent.git
    
  2. Restart the app (Desktop: quit and reopen; Web: restart dsh web). The Math_Agent preset (id: math-agent) appears in the preset roster. Sessions recorded with the legacy preset resume against this declaration unchanged, since the id is the same.

Mount validation (run after any modification): create a new session and select the Math_Agent preset. A successful selection means the composition mounted; on a mount failure the GUI reverts the selection to the default preset and shows the error. Installed bundles and their row activation state can be inspected with the plugin_manager tool (list_bundles / list_plugins).

Usage

  1. In the DeepSeek Harness GUI (Desktop or Web), create a new session and select the Math_Agent preset (id: math-agent).

  2. Start a training session with a prompt like:

    I'd like to start a math training exercise. Problem: Let aₙ = √(1 + aₙ₋₁), a₀ = 1. Prove that {aₙ} converges and find its limit. I'm thinking of using monotone convergence but I'm not sure how to prove boundedness.

  3. No matter how insistently you ask for the answer — the zero-leak guard stands between you and the model.

How the Zero-Leak Guard Works

  • Hooked into the llm/stream waterfall (dispatched process-wide); only activates for requests whose system prompt contains coaching signatures (zero-leak iron rules / math coach). All other sessions pass through untouched.
  • The model's full output text is inspected programmatically before delivery. If answer-clue patterns (intervals, correctness judgments, answer forms, decimal values, etc.) match, the entire segment is replaced with a fixed interception message.
  • Interception happens at the stream layer: session logs record the interception message, not the leaked text. On the next turn, the model sees its own interception notice and automatically reformulates in compliance.
  • The unlock is program state, not model judgment: the attempt-tracker plugin (mounted in the same isolate realm) holds the per-session attempt list. Once an attempt is recorded as validated via the attempt_update tool, the guard stands down so the final synthesis can deliver the complete solution. A missing tracker, an unknown session, or no validated attempt all fall through to blocking — fail-closed in every direction.
  • Compute/search tools are denied under the same lock: a preset-layer tools.guard rejects bash, pwsh, web_search, and run_code until an attempt is validated. The stream inspection cannot see tool output, so the tools that could compute or retrieve the answer are disabled outright — and the denial lifts on the same program state as the final-synthesis unlock.
  • Reasoning is hidden during the locked phase: the coach's thinking routinely derives the answer outright, and the client UI renders reasoning rows to the trainee. While no attempt is validated, reasoning deltas collapse to a fixed placeholder and reasoning block payloads are rewritten — in original block order, keeping the persisted message consistent with pi-ai replay state. Reasoning flows again once an approach is validated.
  • Pattern definitions are centralized in LEAK_PATTERNS at the top of zero-leak-guard.js and can be extended freely.

Known Boundaries

The programmatic guard blocks enumerable leak forms (numeric values, intervals, judgment words) in the coach's own reply text, and the tool gate covers the compute/search channels. One channel remains persona-constrained rather than guard-enforced:

  • Semantic-level hints without numbers (e.g., "this number happens to be the root of the equation you just derived").

When new variants are discovered, simply add them to LEAK_PATTERNS (plus a sample in zero-leak-guard.test.mjs).

Testing

The guard ships with a zero-dependency test corpus (Node's built-in test runner):

node --test zero-leak-guard.test.mjs

Run it after every change to LEAK_PATTERNS, attempt-tracker.js, or the guard's unlock logic. The corpus covers: leak samples that must be blocked, legitimate coaching replies that must pass, the validated-session unlock (and its fail-closed fallbacks), and the attempt tracker's state recording, hint logging (including the strict-policy rejection of L2/L3), stale-update nudge, prompt rendering, and session-log fold. Add every newly discovered leak variant to the block list and every reported false positive to the pass list.

Reload caveat: relative-path preset plugins (./attempt-tracker.js, ./zero-leak-guard.js) are imported through Node's ESM loader with no cache busting. After editing plugin code or cordis.patch.yml, restart the DSH host (Desktop: quit and reopen the app; Web: restart dsh web) — if the composition itself changed, reinstall the bundle from the Plugins page as well. Re-selecting the preset in the UI alone is not enough, as re-mounting reuses the cached module. Skill files (skills/**/SKILL.md) are re-read from disk per session and do not need a restart.

Knowledge Base Integration (Reserved)

skills/knowledge-base/SKILL.md defines a unified search interface contract (local directory + online retrieval), currently in reserved state:

  • Local: Workspace kb/ directory with Markdown files organized by topic; retrieved via glob + grep.
  • Online: web_search retrieval, cited by source URL.
  • All results are tagged with confidence (fact / data / reference / heuristic). Final synthesis prioritizes understandings supported by facts and data.

Customization

  • Modify persona / coaching protocol: edit the persona row in cordis.patch.yml and skills/coaching-protocol/SKILL.md.
  • Modify guard patterns: edit LEAK_PATTERNS in zero-leak-guard.js.
  • Always re-check the mount after changes: re-select the preset in the GUI (a failed mount reverts the selection to the default), or inspect the preset-math-agent row's activation state with the plugin_manager tool (list_plugins).

Acknowledgments

This project was inspired by the math coaching concept originally proposed by Bilibili creator PiKaChu345. The original creator has not yet released their implementation publicly. This is an independent reimplementation based solely on the publicly described idea. No source code or proprietary materials from the original work were used. All credit for the original concept goes to PiKaChu345.

License

MIT