免密钥接入本地 OpenCode 模型并流式对话
28.1/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add goku54477/dsh-opencode-provider该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 免密钥接入本地模型
- 流式对话
在 DeepSeek Harness 里直接用 OpenCode 模型,包括免费模型,无需单独的服务商 API key。
README
由 DeepSeek 最新模型翻译生成dsh-opencode-provider
在 DeepSeek Harness 中使用通过本地 OpenCode 服务器提供的模型,无需 DeepSeek API 密钥。
架构
DeepSeek Harness (DSH)
└─ LLM Runtime
└─ opencode-local provider route
└─ OpenCodeAdapter (dsh-opencode-provider)
├─ POST /api/session → create session
├─ POST /api/session/{id}/prompt → serialized conversation
├─ GET /api/session/{id}/event → SSE stream
└─ POST /api/session/{id}/interrupt → best-effort cancel
↕ HTTP + SSE
OpenCode Server (127.0.0.1:4096)
↕
Model (mimo-v2.5-free)
该适配器将完整的 DSH 对话(系统提示词 + 消息)序列化为单个提示词字符串,发送到 OpenCode 服务器,并将 SSE 事件流转译为 DSH 的 StreamChunk 值。
展开完整文档(README 剩余 1 节)
dsh-opencode-provider
在 DeepSeek Harness 中使用通过本地 OpenCode 服务器提供的模型,无需 DeepSeek API 密钥。
架构
DeepSeek Harness (DSH)
└─ LLM Runtime
└─ opencode-local provider route
└─ OpenCodeAdapter (dsh-opencode-provider)
├─ POST /api/session → create session
├─ POST /api/session/{id}/prompt → serialized conversation
├─ GET /api/session/{id}/event → SSE stream
└─ POST /api/session/{id}/interrupt → best-effort cancel
↕ HTTP + SSE
OpenCode Server (127.0.0.1:4096)
↕
Model (mimo-v2.5-free)
该适配器将完整的 DSH 对话(系统提示词 + 消息)序列化为单个提示词字符串,发送到 OpenCode 服务器,并将 SSE 事件流转译为 DSH 的 StreamChunk 值。OpenCode 运行其自身的内部 agent/工具循环,因此该适配器仅暴露文本输出——不支持结构化的 DSH 工具调用。
已验证的功能
- 无需 API 密钥——通过纯 HTTP 连接到本地 OpenCode 服务器
- 流式传输——文本增量在到达时即被传递
- 取消——中止信号会拆除 SSE 流并中断会话
- 超时——可配置的 SSE 建立(10 秒)、提示词准入(10 秒)和终端完成(120 秒)限制
- 重试策略——提供程序级别的重试配置会转发给 DSH 运行时
- 实时 SSE 事件格式——同时处理旧版(session.text.delta、session.execution.succeeded)和当前版本(session.next.text.delta、session.next.step.ended)的事件封装
- 优雅降级——未知的 SSE 事件会被跳过;非 JSON 行会被忽略;data.wrapper 封装会被防御性地解包
要求
- Node.js ≥ 22
- OpenCode 服务器在本地运行(默认:http://127.0.0.1:4096)
- DeepSeek Harness ≥ 0.1.0-rc.8
安装
通过 DSH 插件命令
dsh plugin --profile web add dsh-opencode-provider
从源代码检出
git clone https://github.com/goku54477/dsh-opencode-provider.git
cd dsh-opencode-provider
pnpm dsh
快速开始
1. 启动 OpenCode 服务器:
opencode serve --hostname 127.0.0.1 --port 4096
2. 该适配器会使用默认基础 URL(http://127.0.0.1:4096)自动配置。无需额外设置。
3. 在 DeepSeek Harness 中,选择模型:
opencode-local/mimo-v2.5-free
配置
所有字段均为可选。默认值在本地 OpenCode 服务器上开箱即用。
Inside your DSH cordis.yml or plugin config
llm-opencode:
Endpoint of the OpenCode server
baseURL: "http://127.0.0.1:4096"
Context window reported to the harness (default: 128000)
defaultContextWindow: 128000
Max output tokens per request (default: 16384)
maxTokens: 16384
面向发现使用者的建议模型列表 models:
- id: mimo-v2.5-free
name: mimo-v2.5-free
description: "OpenCode 本地代理(仅文本输出)" contextWindow: 128000
重试策略 retryPolicy: mode: always backoff: initialDelayMs: 100 maxDelayMs: 5000 jitterRatio: 0.2
工作原理
1. 创建会话 — 使用 { model: { id, providerID: "opencode" } } 调用 POST /api/session
2. 并发 SSE + 提示词 — 适配器同时发起 SSE 订阅(GET /api/session/{id}/event)和提示词投递(POST /api/session/{id}/prompt)。这避免了一种死锁:OpenCode 服务器在会话有活动之前不会发送 SSE 响应头。
3. 对话序列化 — 完整的 DSH 对话被格式化为 [System]\n...\n\n[User]\n...\n\n[Assistant]\n... 并嵌入到提示词中。
4. 事件转换 — SSE 事件(session.text.delta、session.next.step.ended、session.execution.succeeded 等)被映射为 DSH 的 StreamChunk 类型(block-start、text-delta、block-end、finish)。
5. 清理 — 在完成、出错或中止时,适配器会向会话发送一次尽力而为的中断请求。
开发 bash 构建
npm run build
类型检查
npm run typecheck
运行测试
npm run test
构建 + 测试
npm run check
清理输出
npm run clean
安全警告
此插件与本地 HTTP 服务器通信(默认不使用 TLS)。请勿将 OpenCode 服务器暴露给不受信任的网络。默认绑定地址(127.0.0.1)将访问限制在本机。
平台兼容性
v0.1.0 已在以下确切环境中测试通过:
| 组件 | 版本 |
| 操作系统 | Windows 11 |
| Node.js | 22.23.2 |
| DeepSeek Harness | 0.1.0-rc.8 |
| OpenCode | 1.18.19 |
| 模型 | opencode/mimo-v2.5-free |
其他平台、Node 版本、harness 版本、OpenCode 版本和模型均未经验证。该适配器可能在其他环境中也能工作,但不作任何保证。
限制
- 仅文本输出 — OpenCode 运行自己的代理/工具循环。DSH 暴露的结构化工具调用无法通过此适配器使用。
- 不支持多模态 — 适配器仅报告 inputModalities: ["text"]。图像/音频/视频输入不会被转发。
- 仅公布单一模型 — 默认目录仅列出 mimo-v2.5-free。添加模型需要手动配置;适配器不会从服务器动态发现可用模型。
- 提示词大小 — 整个对话被序列化为单个提示词字符串。非常长的对话可能会超出模型的上下文窗口。
- 无持久会话 — 每次 stream() 调用都会创建一个全新的 OpenCode 会话。对话状态不会在请求之间保留。
- 默认仅限本地 — 适配器期望 OpenCode 服务器位于 127.0.0.1。远程服务器需要手动配置 baseURL 并具备相应的网络访问权限。
许可证 MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
goku54477/dsh-opencode-provider
免密钥接入本地 OpenCode 模型并流式对话
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。