概览
dsh-pylon-opencode-free
源码级技术说明Keeps the OpenCode Go free-tier provider in sync with the gateway: reads the free model list over /v1/models and writes it into the llm-pi-ai profile, adding new models and removing delisted ones. DSH has no runtime model fetch for a provider that is not in its built-in catalog, so this list can only live in configuration.收起技术说明
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
* **provider 块字段漂移只报不修**:`api` / `baseURL` / `headers.x-opencode-session` 被改坏时, 本插件只写 `models` 块,不会重写整块 —— 它会**打一条明确的警告**,但不修复。 * **模型条目里的元数据刻意不动**:`contextWindow` / `maxTokens` 是逐字保留的, 本插件不认识、也不该改操作员填好的值。所以日志说的是"**模型清单**已与网关一致", 不是"整份配置与网关一致"。 * **跨进程没有锁**:同进程内(含热重载导致的重复 `apply()`)不会交错、是安全的; 但两个宿主共享一个 DSH home 时,read-modify-write 之间没有 mtime/hash 检查。 * **备份轮转窗口是全目录共享的**:多个 profile 共用一个 backupDir 时, 一个 profile 的健康备份可能被另一个挤掉(备份名已含毫秒 + pid,但仍是按 patch 文件名分组)。 * 免费判据靠命名(见上),会漏不带 `-free` 的免费模型。 * 新增模型只写 `id` + `name` 骨架 —— `contextWindow` / `maxTokens` / `input` 没有现成来源(实测那 4 个免费模型一个都不在内置 catalog 里),需要时人工补。 填错比不填更危险:填大了会被派发超出真实上限的请求。 * 本插件只维护 provider 条目,不修路由、不碰额度闸门。
