插件目录 / Developer / dsh-plugin-devin-bridge
dsh-plugin-devin-bridge
未验证 Arborsm
功能简介
Devin Connect 反代为 OpenAI Chat Completions 兼容协议的 dsh 插件,服务 glm-5.2 / swe-1.7
未验证 — 尚未实测
Devin Connect 反代为 OpenAI Chat Completions 兼容协议的 dsh 插件,服务 glm-5.2 / swe-1.7 尚未验证——请自行安装测试。
「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-plugin-devin-bridge
A dsh LLM adapter plugin that bridges Devin's Connect RPC API into the dsh model provider system, enabling dsh's internal agent loop to use Devin-hosted models (glm-5.2, swe-1.7, and any other model Devin exposes) as backends.
How it works
The plugin registers a devin provider route on ctx.llm via the dsh LLM seam (LlmAdapter). When dsh's agent loop routes a request to provider: devin, the adapter:
- Translates dsh's
GenerateOptions(messages, tools, system prompt, images) into Devin'sGetChatMessageRequestprotobuf - Streams the response from Devin's Connect RPC endpoint
- Decodes each
GetChatMessageResponseframe into dsh'sStreamChunkprotocol (text deltas, reasoning deltas, tool-call deltas, usage, finish)
Installation
pnpm add https://github.com/Arborsm/dsh-plugin-devin-bridge.git
Token resolution
The adapter needs a Devin session token (format: devin-session-token$<...>) to authenticate. It resolves the token in priority order:
- Settings panel — set
tokenin the dsh settings UI (marked as secret, auto-redacted in wire responses) - Entry config —
config.tokenin the plugin composition - Devin CLI credentials — automatically read from
credentials.tomlcreated bydevin auth login:- Windows:
%APPDATA%\devin\credentials.toml - macOS/Linux:
~/.local/share/devin/credentials.toml(or$XDG_DATA_HOME/devin/credentials.toml) - Override path with
DEVIN_CREDENTIALS_PATHenvironment variable
- Windows:
If no token is found, the plugin throws at startup with a actionable error message.
Configuration
All fields are optional — the plugin works out of the box once a token is available (via settings panel, entry config, or credentials.toml).
- id: devin-bridge
name: dsh-plugin-devin-bridge
config:
token: "" # optional: explicit token; empty = auto-detect from credentials.toml
baseUrl: "https://server.codeium.com" # optional: Devin Connect endpoint
proxy: "" # optional: outbound proxy URL (http/https/socks5)
forceHttp1: true # optional: force HTTP/1.1 (default true)
defaultContextWindow: 128000 # optional: fallback context window
defaultMaxTokens: 16384 # optional: fallback max output tokens
models: # optional; defaults to glm-5-2 and swe-1-7
- id: "glm-5-2"
name: "GLM-5.2"
contextWindow: 128000
maxTokens: 16384
supportsImages: false
- id: "swe-1-7"
name: "SWE-1.7"
contextWindow: 128000
maxTokens: 16384
supportsImages: true
retryPolicy: # optional
mode: normal
maxRetries: 3
backoff:
initialDelayMs: 500
maxDelayMs: 10000
jitterRatio: 0.1
When the dsh settings service is available, all of the above can be adjusted at runtime through the settings panel — changes take effect immediately (live applies). The token field is marked role('secret') so it is automatically redacted in settings descriptors returned to wire surfaces.
Usage
Once configured, dsh's model selector will show Devin as a provider with available models. Select any model in the dsh UI or route to it programmatically with provider: devin.
Features
- Dynamic model catalog: Fetches the live model list from Devin via
GetCascadeModelConfigsRPC (5-minute TTL cache), merging user-configured models as fallback. Network failures gracefully fall back to the static config. - Text streaming: Full text delta streaming with block assembly
- Reasoning/thinking: Reasoning content mapped to dsh's
reasoningblock type - Tool calls: Devin tool-call deltas translated to dsh's
tool-callblocks - Image support: Vision-capable models accept image inputs via dsh's attachment system
- Token usage: Input/output token accounting reported to dsh
- System prompt sanitization: Identity-agnostic system prompt rewriting for cross-model compatibility
- Proxy support: Optional outbound HTTP/HTTPS/SOCKS5 proxy
- Settings panel integration: Runtime-adjustable configuration via dsh settings service
- Credential auto-detection: Reads
devin auth logincredentials when no explicit token is configured
Architecture
src/
├── index.ts # Cordis plugin entry: Config schema, settings panel, ctx.llm registration
├── adapter/
│ ├── devin.ts # DevinAdapter: GenerateOptions → Devin RPC → StreamChunk
│ ├── decoder.ts # GetChatMessageResponse → StreamChunk translation
│ ├── transport.ts # Connect transport with auth + proxy injection
│ └── credentials.ts # Devin CLI credentials.toml auto-detection
└── proto/
├── devin.proto # Trimmed protobuf definitions
└── gen/ # @bufbuild/protobuf generated code
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-devin-bridge」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:Arborsm/dsh-plugin-devin-bridge Headless(CLI)profile:
dsh plugin --profile headless add github:Arborsm/dsh-plugin-devin-bridge 实测报告
尚未 L3 验证——若已跑过,见下方失败备注。