# jiurelay-provider **Repository Path**: opencode-plugin/jiurelay-provider ## Basic Information - **Project Name**: jiurelay-provider - **Description**: jiurelay-单key指定模型 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-06 - **Last Updated**: 2026-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # opencode-jiurelay-provider OpenCode Jiurelay 提供商插件 - 动态模型配置版本。 本插件支持 Jiurelay 多模型聚合服务,每个 API Key 关联一个指定模型,通过授权面板动态配置模型信息。 ## 特性 - **动态模型配置**:通过授权面板输入模型信息,无需硬编码模型列表 - **API Key-模型一对一绑定**:每个 API Key 仅关联一个指定模型 - **自动模型匹配**:请求时自动根据模型 ID 匹配对应的 API Key - **错误透传**:401/403/429/5xx 错误原样返回,由 OpenCode 上层处理 ## 授权流程 运行 `opencode connect jiurelay-provider` 后,将提示输入以下 5 个字段: 1. **API Key**:Jiurelay API Key 2. **模型 ID**:真实模型 ID(如 `provider-model-id`) 3. **模型别名**:用于 OpenCode 配置的简写名称(如 `my-model`) 4. **上下文长度**:模型上下文窗口大小(数字) 5. **最大输出长度**:模型最大输出 token 数(数字) ### 提示语 ``` apikey 获取:https://jiurelay.com ``` ### 授权说明 - 每次授权配置一个 API Key 和对应的模型信息 - 可多次授权,每个 API Key 关联不同的模型 - 相同 API Key 重复授权会更新对应的模型信息 ## 安装 ### 1. 构建项目 ```bash cd jiurelay-provider npm install npm run build ``` ### 2. 配置 OpenCode 在 OpenCode 的 `opencode.json` 或 `opencode.jsonc` 中添加插件配置: ```json { "plugins": [ { "type": "module", "module": "./path/to/jiurelay-provider/dist/index.js", "name": "jiurelay-provider" } ] } ``` ### 3. 连接授权 ```bash opencode connect jiurelay-provider ``` 按提示输入 API Key 和模型信息。 ## 获取 API Key API Key 获取方式请咨询提供商(Jiurelay)官方渠道。 ## 调试日志 通过环境变量开启调试日志: ```bash # 方式一:全局 DEBUG 开关 DEBUG=1 opencode # 方式二:仅本插件 OPENCODE_JIURELAYPROVIDER_DEBUG=1 opencode ``` 日志文件位置:`%USERPROFILE%\.jiurelay-provider\debug.log` ## 开发 ```bash # 构建 npm run build # 类型检查 npm run typecheck ``` ## 项目结构 ``` jiurelay-provider/ ├── package.json # 项目配置 ├── tsconfig.json # TypeScript 配置 ├── README.md ├── src/ │ ├── index.ts # 主入口:auth hooks、config、自定义 fetch │ ├── constants.ts # 常量定义(PROVIDER_ID、BASE_URL) │ ├── plugin/ │ │ ├── auth.ts # Auth 存储(读写 auth.json) │ │ └── auth-prompts.ts # 授权面板 prompts 配置 │ └── utils/ │ └── debug-logger.ts # 调试日志工具 └── dist/ # 编译产物 ``` ## 注意事项 - 插件不实现节流/重试机制,由 OpenCode 框架统一处理 - 401/403/429 错误将原始 Response 返回给 OpenCode 上层,由 @ai-sdk/provider-utils 的 handleFetchError 自行判断重试或 fallback - 不使用 `console.error` / `console.log`,日志全部走 `debug-logger.ts` - 模型别名必须全英文小写,用于 OpenCode 配置简化 ## 示例配置 授权完成后,可在 OpenCode 配置中使用模型别名: ```json { "model": "jiurelay-provider:my-model" } ``` 插件会自动将别名映射到真实模型 ID 并匹配对应的 API Key。