插件目录 / Developer / dsh-plugins-raincode
dsh-plugins-raincode
已验证 · 实测可装 rainforest888
功能简介
dsh-plugins-raincode — DSH 插件(技能)
可用 — 实测通过,早期项目
dsh-plugins-raincode — DSH 插件(技能) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-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.shConfigure profiles (your model pool):
raincode setup # writes ~/.raincode/profiles.tomlStart 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
dsh plugin --profile web add dsh-plugins-raincode
Then add the row to the profile's patch layer
(~/.dsh/profiles/web/cordis.patch.yml, or ~/.dsh/cordis.patch.yml for every
profile):
- insert:
- id: raincode
name: dsh-plugins-raincode
config:
baseURL: http://127.0.0.1:8787
apiKeyEnv: RAINCODE_API_KEY
dsh --profile web --dump-config should show the raincode row; restartdsh web to load it.
Configuration
| Field | Default | Meaning |
|---|---|---|
baseURL |
http://127.0.0.1:8787 |
raincode gateway address |
apiKeyEnv |
RAINCODE_API_KEY |
dsh credential seam only; a loopback gateway does not verify keys (missing credentials don't block it) |
models |
[] |
optional static catalog override; empty fetches the pool from the gateway's /v1/models |
streamIdleTimeoutMs |
300000 |
stream idle timeout (dsh-timeout helper) |
retryPolicy |
dsh default | retry policy via RetryPolicySchema |
What you get
- Model selection — dsh's model picker shows the raincode pool (fetched
from the gateway's/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 (
sessionId→prompt_cache_key) and
retry/failover are handled by the gateway per profile; nothing to configure
in dsh. - Parallel tool calls — tool calls stay separate blocks keyed by call
index; fragmented arguments accumulate per call.
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? A loopback gateway trusts the machine and
resolves real upstream keys from~/.raincode/profiles.toml(inline, key
file, or env). The plugin only demands a credential whenbaseURLpoints at
a remote gateway. - How do I add a model?
raincode setup(or edit~/.raincode/profiles.toml
and restart the gateway).
License
MIT
中文说明见 README.zh.md.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugins-raincode」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
Web profile:
dsh plugin --profile web add dsh-plugins-raincode Headless(CLI)profile:
dsh plugin --profile headless add dsh-plugins-raincode 包信息
npm:dsh-plugins-raincode · 版本 0.1.0 · 实测环境 dsh 0.1.0-rc.6
实测报告
端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。