
DSH Plugins Raincode
☆ 0dsh plugin: DeepSeek Harness 的模型层 = raincode(模型池/缓存/重试) + /skills 浏览
Get this plugin
Review the source, then continue to the publisher.
dsh plugin add dsh-plugins-raincode@latestAbout this plugin
Source snapshot 8/13/2026dsh-plugins-raincode
Make raincode the model layer of DeepSeek Harness (dsh): a cheap model pool
with StablePrefix prompt caching, retries, and failover, driven by a local
OpenAI-compatible gateway. Inside dsh you can pick any model from your raincode
pool and browse the raincode skill library with /skills.
The plugin is the "mouth" — it translates dsh's GenerateOptions to the OpenAI
wire format and streams chunks back — while the raincode gateway (Rust) is the
"brain" that owns profile selection, caching, and retries. The plugin holds no
model logic.
Prerequisites
-
Install raincode (
>= 0.1.0with gateway/v1/modelsand/skills):cd raincode cargo install --path crates/rc-cli # or use ./install.sh -
Configure profiles (your model pool):
raincode setup # writes ~/.raincode/profiles.toml -
Start the gateway (keep it running):
raincode proxy --port 8787Verify:
curl http://127.0.0.1:8787/health→{"ok":true,"service":"raincode-gateway"}.
Install in dsh
npm i dsh-plugins-raincode
Add the plugin to your dsh cordis.yml:
- id: raincode
name: dsh-plugins-raincode
config:
baseURL: http://127.0.0.1:8787
apiKeyEnv: RAINCODE_API_KEY
Configuration
| Field | Default | Meaning |
|---|---|---|
baseURL | http://127.0.0.1:8787 | raincode gateway address |
apiKeyEnv | RAINCODE_API_KEY | dsh credential seam only; the local gateway does not verify keys |
models | [] | optional static catalog override; the pool is served by the gateway |
streamIdleTimeoutMs | 300000 | stream idle timeout |
retryPolicy | dsh default | retry policy via RetryPolicySchema |
What you get
- Model selection — dsh's model picker shows the raincode pool
(
/v1/models); the chosen model maps exactly to a gateway profile. /skillsbrowsing — run/skillsto list the raincode skill library,/skills <name>to read a skill's body. Data comes from the gateway's/skillsendpoint (~/.raincode/skills/).- Caching & retries — prompt caching and retry/failover are handled by the gateway per profile; nothing to configure in dsh.
FAQ
- Gateway not running? You'll see
TRANSPORT-style errors from the model call. Start it withraincode proxy --port 8787. - Why is the API key a formality? The local gateway trusts loopback and
resolves the real upstream keys from
~/.raincode/profiles.toml. ExportRAINCODE_API_KEYonly to satisfy the dsh credential seam. - How do I add a model?
raincode setup(or edit~/.raincode/profiles.tomland restart the gateway).
License
MIT