🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

OpenCode 模型接入 goku54477/dsh-opencode-provider

DeepSeek Harness
goku5447776 天前有提交已提供中文文档扫描:未发现敏感能力

免密钥接入本地 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 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 76 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 发起网络请求
    lib/index.mjs:115
    await fetch(`${baseURL}/api/session/${sessionId}/interrupt`, {
  • 发起网络请求
    lib/index.mjs:201
    const createResponse = await fetch(`${connection.baseURL}/api/session`, {
  • 发起网络请求
    lib/index.mjs:232
    const sseFetchPromise = fetch(`${connection.baseURL}/api/session/${sessionId}/event`, {
  • 发起网络请求
    lib/index.mjs:243
    const promptResponse = await withTimeout(fetch(`${connection.baseURL}/api/session/${sessionId}/prompt`, {
  • 发起网络请求
    lib/types/adapter.js:76
    await fetch(`${baseURL}/api/session/${sessionId}/interrupt`, {
  • 发起网络请求
    lib/types/adapter.js:164
    const createResponse = await fetch(`${connection.baseURL}/api/session`, {
  • 发起网络请求
    lib/types/adapter.js:211
    const sseFetchPromise = fetch(`${connection.baseURL}/api/session/${sessionId}/event`, {
  • 发起网络请求
    lib/types/adapter.js:224
    const promptResponse = await withTimeout(fetch(`${connection.baseURL}/api/session/${sessionId}/prompt`, {
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 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
预览分享卡片长什么样 ↓goku54477/dsh-opencode-provider
分享 · DeepSeek Harness Hub
goku54477/dsh-opencode-provider

免密钥接入本地 OpenCode 模型并流式对话

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部