Plugin directory / AI Models / pi-deepseek-anchor
pi-deepseek-anchor
Verified · install-tested on dsh kxh4892636
What it does
pi extension: DeepSeek V4 Pro Minimal-anchored bootstrap, then full Standard tools (port of dsh-anchored-standard)
Works — verified, early-stage project
pi extension: DeepSeek V4 Pro Minimal-anchored bootstrap, then full Standard tools (port of dsh-anchored-standard) It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
pi-deepseek-anchor
锟斤拷锟斤拷说锟斤拷锟斤拷README.zh-CN.md
pi-deepseek-anchor enables the full-powered DeepSeek V4 Pro to run at full strength in pi, with significantly improved results (Project2: 91锟紺92 锟斤拷 98锟紺99).
Cause DeepSeek V4 Pro selects its trajectory based on the API-visible tool catalog. With the default full catalog, the first response typically starts with "Let me..." and follows the Standard trajectory (Project2: 91锟紺92). With the official Minimal pair (bash + str_replace_editor), the first response starts with "We need..." and produces zero let me (Project2: 98锟紺99). Staying on Minimal permanently loses the full toolset. This extension applies Minimal only to request #1 and restores the full catalog from request #2, so both are retained in one session.
Install
pi install npm:pi-deepseek-anchor
Or from GitHub:
pi install git:github.com/kxh4892636/[email protected]
Then /reload or restart pi. Works with the full-powered DeepSeek V4 Pro official release.
Manual fallback: copy index.ts to ~/.pi/agent/extensions/anchored-standard/index.ts (global) or <project>/.pi/extensions/anchored-standard/index.ts (project-local).
Behavior
| Request #1 (bootstrap) | Request #2+ (promoted) | |
|---|---|---|
| Tools | bash + str_replace_editor, byte-identical to the official Minimal preset |
full pi tool catalog |
| System prompt | You are a helpful software engineer assistant. (46 chars) |
persona remains; stripped pi context returns as a user message |
| Output budget | adapter default (no cap; bootstrapMaxTokens is opt-in) |
adapter default |
Promotion fires on the first durable signal: the first assistant message or the first tool call, whichever comes first (promoteOn: "either" default). State is durable, so /resume and reload preserve the phase.
pi adaptation
| Upstream (dsh preset) | pi port |
|---|---|
| Minimal tool rows | pi.registerTool overrides: bash uses the byte-identical Minimal description and delegates to pi's built-in createBashTool; str_replace_editor implements the official schema and upstream filesystem semantics (view / create / str_replace / insert, 16000-char truncation, exact error messages) |
tool-bootstrap pre-step filter |
before_agent_start + before_provider_request: request #1 is Minimal-exact; late appends (e.g. pi-memory) are dropped on request #1 and moved to a user message after promotion |
Persona row (complete: true) |
minimalPersona + personaScope: "always" (default): persona remains the system prompt for the whole session; stripped context is re-delivered as a user message from request #2 |
| Durable event scan | phase derived from pi's durable session branch plus a dsh-anchored-state custom entry |
| Zero-Anchored Standard mode | zeroAnchor: true in PI_DSH_ANCHOR_CONFIG |
Verification
End-to-end with official deepseek-v4-pro, reasoningEffort=max, --mode rpc:
REQ#1: tools=[bash, str_replace_editor]
system='You are a helpful software engineer assistant.' (46 chars)
first thinking: "We need answer briefly about repository. Need inspect. Use tools."
REQ#2: full tool catalog + normal pi context (delivered as a user message)
Configuration
Edit DEFAULT_CONFIG in index.ts, or override at runtime:
{"promoteOn": "tool-call", "bootstrapMaxTokens": 1024, "personaScope": "always"}
Keys: bootstrapTools (default ["bash","str_replace_editor"]), promoteOn (either | tool-call | assistant-message), bootstrapMaxTokens (optional; unset = no cap), minimalPersona (default true), personaScope (always | bootstrap, default always), personaText, stripContext, zeroAnchor (default false), zeroAnchorText, editorMaxOutputChars (default 16000).
Verify & debug
/dsh-anchorprints the phase;/dsh-anchor promotepromotes now;/dsh-anchor on|offre-arms/disables the bootstrap for the session.- The TUI footer shows
bootstrap: bash/str_replace_editoruntil promotion. PI_DSH_ANCHOR_DEBUG=1dumps assembled payloads toPI_DSH_ANCHOR_DEBUG_FILE(default/tmp/dsh-anchor-debug.jsonl).
Type check
npx tsc -p tsconfig.check.json
Adjust the three paths entries in tsconfig.check.json to the installed pi type-definition locations.
Files
package.json锟斤拷 pi package manifestindex.ts锟斤拷 pi extension (single file, zero runtime deps)README.zh-CN.md锟斤拷 Chinese documentationtsconfig.check.json锟斤拷 type-check configLICENSE锟斤拷 MIT, including upstream copyright noticesNOTICE锟斤拷 upstream derivation notice
License
MIT. index.ts is a port of the MIT-licensed upstream preset; original copyright notices are retained.
Upstream
This project is a pi port of xiaobright/dsh-anchored-standard. The upstream README and methodology are the basis for this port:
- Repository: https://github.com/xiaobright/dsh-anchored-standard
- README: English 锟斤拷 锟斤拷锟斤拷
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install pi-deepseek-anchor for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:kxh4892636/pi-deepseek-anchor Headless (CLI) profile:
dsh plugin --profile headless add github:kxh4892636/pi-deepseek-anchor Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Bring a new model, provider, or routing policy into the loop so dsh can pick the right brain for the job.
Who it's for
Users juggling multiple models or providers who want cost, quality, and latency balanced automatically.
For developers — extending it
Provider adapters and routing heuristics are the seams — add a backend, tune the fallback chain, or add per-task model selection.