# cteate-provider-skill **Repository Path**: opencode-plugin/cteate-provider-skill ## Basic Information - **Project Name**: cteate-provider-skill - **Description**: 生成OpenCode提供商插件的技能,支持多个 apikey 轮询 - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-16 - **Last Updated**: 2026-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # create-provider-skill 生成 [OpenCode](https://github.com/ohmyopen/opencode) 提供商(Provider)插件代码的元技能。 ## 概述 本项目是一个 OpenCode **元技能(Meta-Skill)** —— 它自身是一个 Skill,用于**生成**新的 OpenCode Provider 插件项目。通过交互式问答,自动创建包含多 API Key 轮询、凭证存储、调试日志等基础设施的完整插件工程。 ## 实战示例: provider-scaffold 技能:用时4分钟,仅消耗4.6万 tokens,百分百落地 ![provider-scaffold-技能实战.png](./img/provider-scaffold-技能实战.png) ## 技能 ### `provider-scaffold` 一键生成 OpenCode 提供商插件。运行后会通过 `question` 工具并行询问 5 个参数: | 参数 | 说明 | 示例 | |------|------|------| | 提供商 ID | 全小写英文+连字符 | `sensemore` | | 提供商名称 | 终端展示名 | `SenseNova` | | 授权提示 | (可选)API Key 地址及免费限制提示 | 留空则无提示 | | 端点地址 | API 基础 URL | `https://api.example.com/v1` | | 端点类型 | API 格式,决定 AI SDK 适配器 | OpenAI / Anthropic / Ollama / Google | **端点类型 → 适配器映射:** | 端点类型 | 适配器 | |----------|--------| | OpenAI (Chat Completions) | `@ai-sdk/openai-compatible` | | OpenAI (Responses API) | `@ai-sdk/openai` | | Anthropic | `@ai-sdk/anthropic` | | Ollama | `@ai-sdk/ollama` | | Google | `@ai-sdk/google` | **生成的工程结构:** ``` {provider-id}/ ├── package.json ├── tsconfig.json └── src/ ├── index.ts # 插件入口,auth/config/dispose hooks ├── constants.ts # 提供商元数据 + 模型定义 ├── plugin/ │ ├── auth.ts # 多 Key 凭证存储(~/.{provider-id}/auth.json) │ └── key-manager.ts # 多 Key 轮询管理器(出错自动跳过) └── utils/ └── debug-logger.ts # 调试日志(环境变量触发,循环写 ~1000 条) ``` **核心能力:** - **多 API Key 轮询** — 多个 Key 轮流使用,单个 Key 连续出错 3 次后自动跳过,全部耗尽则重置 - **凭证持久化** — 存储在 `~/.{provider-id}/auth.json`,支持 `opencode connect` 后自动加载 - **调试日志** — 通过 `OPENCODE_{ID}_DEBUG=1` 环境变量开启,日志写入 `~/.{provider-id}/debug.json` - **灵活适配** — 支持 5 种主流 AI API 协议格式 - **类型安全** — 完整 TypeScript 类型定义,严格模式编译 ## 安装 将本仓库克隆到 OpenCode 的 skills 目录: ```bash git clone /create-provider-skill ``` 然后在 OpenCode 中使用触发语句调用 `provider-scaffold` 技能: > "create provider plugin" / "scaffold provider" / "new provider" ## 开发 项目结构: ``` create-provider-skill/ ├── skills/ │ └── provider-scaffold/ │ └── SKILL.md # 技能定义 + 完整工作流 ├── LICENSE # Apache 2.0 └── README.md ``` 每个技能为一个独立目录,包含 `SKILL.md` 作为技能定义和工作流说明。 ## 许可 [Apache License 2.0](LICENSE)