Repository navigation
Releases: Averyyy/pi-dsh-minimal
Release list
v0.4.2 — recover leaked DeepSeek DSML tool calls
DSML tool-call recovery
- Convert complete DeepSeek V4 DSML leaked as assistant text into Pi-native tool calls while the anchored profile is active.
- Support official typed DSML parameters, bare
invokemarkup, JSON invocation bodies, literal Markdown escapes, and the observed hostedtool_calls store:corruption. - Execute only calls whose names are currently active in Pi and whose arguments pass the live tool schema. Unknown, incomplete, or invalid markup remains visible text.
Validation: npm run check passed all 60 tests, including an end-to-end Pi agent-loop tool execution test. The npm tarball was audited before release.
v0.4.0 — keep Pi context after promotion
What changed
- Request #1 stays the official one-liner + two tools, but only on the wire (
before_provider_request). Bootstrap no longer replaces the chained system prompt inbefore_agent_start, so other extensions' appends (hermes / hypa) survive to be reanchored on promote. - After promotion, the same request restores Pi tools, tools-guide, docs paths, AGENTS.md, and skills. The official persona stays the first sentence. Pi identity is not restored.
- Skip
before_provider_requestrewrites on compaction / branch-summary calls. str_replace_editoris removed from the active set when the adapter is off.- Promoting no longer unions a mid-bootstrap
setActiveToolsreplacement back onto the pre-bootstrap snapshot. Restoring Pibashis skipped if another extension already replaced our override.
Install / upgrade:
pi install npm:pi-dsh-minimalExisting v0.3.1 configs keep working. Flash still rides the Pro anchored-standard path by default.
v0.3.1 — Flash on anchored-standard, measured on DeepSWE
What changed
- V4 Flash now runs the Pro anchored-standard profile by default (first request: official two-tool schema + official persona; promotion restores Pi tools). Opt out:
/dsh unmatch deepseek-v4-flash. - Removed the v0.2.x Flash weak-routing + mode-boost profile (v0.3.0): a controlled DeepSWE A/B measured no lift, and upstream P21 data shows its near-field guidance is negative on related-task chains.
- Dropped config keys
flashPatterns/flashRouting(ignored on read),/dsh flash-match|flash-unmatch|routingcommands, andlive:flash. - Added
scripts/deepswe: a local DeepSWE A/B harness (pi inside official task containers, official verifier grading, resumable).
Measured on DeepSWE v1.1 (full 113 tasks)
| Configuration | Solved |
|---|---|
| V4 Flash + this extension | 69/113 = 61.1% (69/112 = 61.6% excl. the single 90-min timeout) |
Official leaderboard deepseek-v4-flash [max] |
53% |
Official leaderboard deepseek-v4-pro [max] |
63% |
Caveats: single sample; the agent container had network access (7/113 runs fetched upstream — excluding them all: 61.3%). Details in the README.
v0.2.0
V4 Pro is now anchored-standard
Request #1 keeps the official two-tool surface (bash + str_replace_editor) and official persona. After the first durable assistant message or tool call, Pi's original tools are restored. The official persona stays. Compaction falls back to bootstrap until a new promotion signal.
V4 Flash gets weak routing + mode-boost
Default trigger deepseek-v4-flash. Measured Flash weak persona, near-field classify/converge guidance, chat stand-down. Tool schema is not narrowed.
Install:
pi install npm:pi-dsh-minimal
Then /reload or restart Pi.
v0.1.0
Initial release of the DeepSeek Harness minimal adapter for Pi.
DeepSeek V4 Pro's model card uses official Harness minimal. On that surface the first thinking line is typically We need… / I need…, not Let me….
When the current model is DeepSeek V4 Pro (configurable), Pi's prompt and tools become that surface:
- system prompt:
You are a helpful software engineer assistant. - tools: persistent
bash+str_replace_editor(official names, descriptions, and JSON schemas)
pi install npm:pi-dsh-minimal
Settings: /dsh (all models vs named-model trigger, same pattern as pi-codex-conversion).