← 返回列表
未验证
DSH OpenCode Zen 桥接
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/29 · 已提供中文文档
公共 DSH OpenCode Zen 桥接:回环流式垫片、自动免费模型加载器、隔离式 DSH 适配器,以及 GitHub Pages 文档。
综合分
28.1
GitHub 分
28.1
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add DHS-M/dsh-opencode-zen该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DSH OpenCode Zen 桥接 一个小型、隔离的集成,通过回环流式 shim 将 DeepSeek Harness 连接到 OpenCode Zen 的 OpenAI 兼容路由。该项目包含两条兼容路径: 1. 用于现有 DSH llm-pi-ai 适配器的 profile-overlay 路径。DSH 提供一个一次性的本地虚拟密钥,shim 在最后一个本地跳点移除 Authorization,上游请求在不带该头的情况下被转发。 2. 一个独立的 @deepseek-ai/dsh-llm-opencode 适配器包,它自身不发送授权头,并负责模型发现、SSE 转换、取消和超时处理。 该实现已通过 DSH 使用 big-pickle 模型进行了实机测试。测试通过完整的 DSH → shim → OpenCode 路由返回了 OPENCODE_DSH_LIVE_OK_2。 重要状态 本仓库公开用于文档和源码审查。该集成并非通用公共代理。shim 仅绑定到 127.0.0.1,仅接受两个固定的 API 路径,且不接受任意上游 URL。 OpenCode Zen 的模型可用性、隐私行为、速率限制和服务条款由 OpenCode 控制,并可能发生变化。OpenCode 的官方文档将免费模型描述为限时提供,并单独记录了经过身份验证的 Zen 使用方式 [1]。在将本集成用于真实工作区数据之前,请查阅 OpenCode Zen 文档 和 使用条款。 架构 DSH / llm-pi-ai | | 带一次性虚拟密钥的本地 OpenAI 兼容请求 v zen_shim.js :8791 | | 移除 Authorization;仅允许固定的 Zen 路由 v https://opencode.ai/zen/v1 | v 流式响应返回给 DSH 文件 | 路径 | 用途 | |---|---| | zen_shim.js | 无依赖的回环 HTTP shim,带流式中继。 | | tools/opencode-zen/load-models.mjs | 一次性匿名模型加载器和 profile-overlay 生成器。 | | tools/opencode-zen/cordis.patch.yml | 用于现有 llm-pi-ai 路由的示例 DSH profile overlay。 | | package/ | 隔离的 DSH 适配器包,带自动发现和 OpenAI 兼容 SSE 转换。 | | docs/index.html | GitHub Pages 文档站点。 | 快速开始 启动本地 shim: node zen_shim.js 从匿名模型列表生成当前的 profile overlay: node tools/opencode-zen/load-models.mjs \ --out ~/.dsh/profiles//cordis.patch.yml \ --base-url http://127.0.0.1:8791/v1 生成的 overlay 使用现有的 llm-pi-ai provider 和 opencode provider 键。该适配器所需的一次性值必须在本地存储为: version: 1 refs: OPENCODE_API_KEY: oc-local-shim-dummy 该值不是 OpenCode 凭据。它的存在仅仅是为了满足通用的本地适配器;zen_shim.js 会在请求离开主机之前丢弃相应的标头。 自动模型加载 load-models.mjs 在请求 /v1/models 时不带授权标头,将响应限制为 4 MiB,保守地筛选出以 -free 结尾的 ID 以及 big-pickle,并在提供 --out 时以原子方式写入 DSH 行补丁覆盖层。它不会在后台轮询、读取认证文件、轮换身份,也不会更改活动的 DSH 配置文件,除非操作员明确选择输出路径。 如果端点未返回任何免费条目,加载器会发出所请求设计中的保守回退列表并打印警告。该回退列表并不保证这些 ID 仍然可用或免费。 独立适配器包 package/ 目录是一个隔离的工作区包,供 DSH 检出使用。本仓库不会自动将其插入 DSH 的基础组合中。其首个实现面向文本,并拒绝图像输入。工具模式使用 OpenAI 兼容的请求词汇表示,并将提供方的工具调用增量转换为 DSH 流块。 该包需要 package/package.json 中声明的 DSH 工作区依赖。只有在操作员决定是使用直接适配器还是使用现有的 llm-pi-ai 加 shim 路径之后,才应将其添加到配置文件中;对于同一路由,两者不应同时激活。 验证 该实现已在源代码检出中通过以下针对性检查: - 对隔离适配器包的 TypeScript 检查。 - 针对免费模型筛选、去重和元数据规范化的单元测试。 - 针对 shim 和模型加载器的 Node 语法检查。 - DSH Cordis 配置验证。 - 通过 opencode / big-pickle 进行的一次实时 DSH 补全,产生了流式助手响应并完成了一轮对话。 负责任的使用 本项目不提供未经授权获取付费访问的方法。它不会提取 OpenCode 令牌、共享订阅、绕过配额、创建账户、抓取内部端点或轮换身份。请勿将回环 shim 暴露为未经认证的网络代理,也请勿使用一个账户或端点来服务不相关的第三方,除非确认该安排是允许的。 免费端点可能具有与付费端点不同的数据使用和隐私条件。在查阅当前提供方文档之前,请避免发送机密源代码、密钥、个人数据或专有提示词。 参考 [1]: https://opencode.ai/docs/zen/ "OpenCode Zen documentation" [2]: https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site "GitHub Pages publishing sources" [3]: https://github.com/anomalyco/opencode "OpenCode source repository" [4]: https://opencode.ai/legal/terms-of-service "OpenCode 使用条款" DSH 网络搜索插件 此仓库还包含 package/web-search-exa-mcp,这是一个独立的 DSH 网络搜索提供程序,基于 Pi Web Access 的公开匿名 Exa MCP 路由。它使用 web_search_exa MCP 工具调用 https://mcp.exa.ai/mcp,不发送登录信息或 API 密钥,解析 SSE/JSON 响应,并将结果映射到 DSH WebSearchResult 契约中。 该插件包含有界超时、响应大小限制、中止处理、类型化的提供程序错误以及显式的 HTTP 429 处理。它不会绕过速率限制或读取凭据。该实现通过以下方式在本地 DSH Web 配置文件中激活: - insert: - id: web-search-exa-mcp name: '@deepseek-ai/dsh-web-search-exa-mcp' config: endpoint: https://mcp.exa.ai/mcp tool: web_search_exa 该适配器针对匿名标头、MCP 请求构造、SSE/JSON 响应解析以及速率限制行为提供了有针对性的测试。匿名 Exa 路由免费且无需密钥,但仍由提供程序控制并受速率限制;不应将其描述为无限制。 用于验证的本地服务 OpenCode Web 使用官方 CLI 命令运行: opencode web --port 4096 --hostname 127.0.0.1 DSH Web 界面在明确请求时,使用启用 OpenCode 的 Web 配置文件和开放权限运行: node --import tsx/esm apps/cli/src/bin.ts web \ --host 0.0.0.0 --open-authority --no-open 这些命令仅为示例。公共仓库不包含凭据、运行时日志或生成的构建输出。
扫码进群