cyzlmh/dsh-pi-adapter

Run pi coding-agent extensions (ExtensionAPI) inside DeepSeek Harness via a cordis plugin bridge

dsh-pi-adapter runs pi coding-agent extensions (~/.pi/agent/extensions/*.ts, written as export default (pi: ExtensionAPI) => void) unmodified inside DeepSeek Harness by implementing the pi ExtensionAPI contract on a cordis context. An ExtensionBridge maps each capability onto dsh seams — registerTool → ctx.tools, registerCommand → commands, on(event) → ctx.on(map), dispose() → unwinding effects — with a documented answer-truthfully rule: seams an extension reads that have no truthful dsh answer raise UnsupportedSeamError instead of fabricating a value, and write-only seams with no dsh equivalent degrade loudly. A legacy alias mode lets extensions run against their expected global install when they rely on packages that only exist in npm root -g.

Coding & Development ★ 0 updated 2026-08-14 ✅ runtime-tested
View on GitHub ↗

Install

git clone https://github.com/cyzlmh/dsh-pi-adapter.git && dsh plugin install ./dsh-pi-adapter

npm dsh-pi-adapter 0.1.0 verified 2026-09-03 (repository field → github.com/cyzlmh/dsh-pi-adapter; README EN primary). README documents manager installs from git — dshx install https://github.com/cyzlmh/dsh-pi-adapter.git (marisa dir|tgz|git-url), or git clone ... && dsh plugin install ./dsh-pi-adapter — and building from source with pnpm; lib/ is checked in for manager installs.

Compatibility

DSH cordis contexts; runs pi extensions built for the pi ExtensionAPI (~/.pi/agent/extensions/*.ts); lib/ self-contained with jiti/schemastery inlined (cordis stays external).

Details

Recent updates

0.1.0 current on npm (verified 2026-09-03).

FAQ

What is a pi extension?
A TypeScript file exporting a factory that receives the pi ExtensionAPI object — registerTool, registerCommand, event hooks, dispose — typically stored under ~/.pi/agent/extensions/.
Do extensions run unchanged?
Per the README contract, yes — the bridge maps the ExtensionAPI surface onto cordis seams; seams with no truthful dsh equivalent throw loudly rather than fabricate.
Does it need the pi CLI installed?
The bridge targets dsh cordis contexts; a legacy alias mode exists for extensions that reference packages only present in a global npm root.

Alternatives

openma-ai/deepseek-harness-acp · ben7am1n/dsh-mcp-proxy

More plugins in Coding & Development

Browse more in Coding & Development

Guides for Coding & Development plugins