添加 LLM 提供商(DeepChat 开发技能)
通过审查明确的最小源码变更,为 DeepChat 添加新的 LLM 提供商集成。
技能文档明确要求审查源代码更改,包含防护栏(如不自动安装SDK、不存储OAuth凭据于API密钥字段、不在渲染器执行提供商逻辑等),强调最小变更和用户确认流程。然而,未明确说明具体的数据流透明度和回滚机制,且发布者身份未验证(但未因此扣分)。扣分原因:缺少对敏感数据处理和回滚的详细说明。
技能提供了清晰的步骤和典型文件列表,但未附带已提交的测试套件或独立的执行证据。静态审查下,无法验证其关键路径的可靠性。扣分原因:未提供足够的测试覆盖和错误处理细节。
技能明确描述了三种支持路径(OpenAI兼容、现有原生传输、特殊提供商),并给出了输入要求和防护栏,有助于准确触发。但未说明非适用场景或环境限制(如网络可达性),且未明确针对中文用户优化。扣分原因:缺少明确的非适用边界和触发条件验证。
技能文档结构清晰,包含目标、输入、路径、防护栏、工作流和输出清单,但缺少安装说明、版本控制、变更日志和已知限制的披露。发布者未验证,但未因此扣分。扣分原因:缺少版本与维护责任声明。
技能描述清晰的目标和流程,预期能完成添加提供商的核心任务,但静态审查下无法验证实际输出是否直接可用。扣分原因:缺少代表性输出验证或与替代方案的成本效益比较。
仓库中存在CI工作流和测试脚本,但技能本身未包含可复现的测试证据或第三方执行结果。扣分原因:缺乏针对该技能关键路径的独立验证。
- 技能文档未提供敏感数据处理细节,建议审视实际实现中API密钥和OAuth凭据的存储与加密方式。
- 缺少回滚方案,若添加提供商时出现问题,应确保能恢复到先前状态。
- 未提及非适用场景,用户可能误用技能处理不支持的提供商类型。
- 文档无版本和变更记录,维护责任不明确,建议确认更新渠道。
这个 Skill 能做什么,适合哪些场景?
该技能用于指导开发者向 DeepChat 代码库添加新的大语言模型提供商。它要求先收集提供商标识、API 类型、认证方式、模型元数据等输入,然后根据 API 兼容性将请求分类到三条受支持路径之一:OpenAI 兼容 API、现有原生传输(如 Anthropic、Gemini)或特供提供商实现。技能全程强调遵循现有架构,避免运行时清单、自动 SDK 安装等反模式,并强制要求编写测试和运行格式化、国际化、lint 命令。由于该技能旨在修改 DeepChat 源码,因此适用于参与该仓库开发的开发者或集成新提供商的贡献者。
该技能定义了一个为 DeepChat 添加新 LLM 提供商的工作流程。它首先读取现有的提供商文件(如 defaults.ts、providerRegistry.ts、providerFactory.ts 等)以理解当前架构,然后根据 API 兼容性将请求分类为:OpenAI 兼容 API、现有原生传输(Anthropic/Gemini/Vertex/Azure/Bedrock/Ollama/ACP)或需要自定义实现的特供提供商。根据分类,它指示修改相应的源文件,包括 provider 注册、模型目录映射、认证处理等。随后要求添加或更新测试以验证提供商创建、认证和模型发现,并运行 pnpm format、pnpm i18n、pnpm lint 及聚焦的测试。最后报告变更文件、凭据存储方式、模型元数据源和验证命令。
- 正在为 DeepChat 仓库添加新 LLM 提供商(如新的 OpenAI 兼容端点)的开发者。
- 需要为内部 OpenAI 兼容服务扩展 DeepChat 的贡献者,希望遵循项目架构。
- 需要为特殊 API 行为(如独特认证流程)添加适配器的维护者。
- 需要为已有原生传输(如 AWS Bedrock)添加提供商集成,但仅需注册和映射的开发者。
- 希望了解如何为自定义模型添加提供商支持,并确保测试覆盖的贡献者。
这个 Skill 有哪些优点和局限?
- 强制遵循现有架构,避免引入运行时清单等反模式。
- 提供了清晰的分类路径(OpenAI 兼容、原生传输、特供提供商),简化决策。
- 强调添加测试和运行 lint/format,确保代码质量。
- 要求报告变更文件、凭据存储位置和验证命令,提高了可审计性。
- 与 DeepChat 现有提供商架构紧密集成,适合贡献者使用。
- 仅适用于 DeepChat 仓库内部,通用性有限。
- 需要了解 DeepChat 的源码结构和提供商架构,初学者上手较难。
- 未提供具体的代码示例,抽象程度较高。
- 未提及对非代码用户的适用性,仅面向开发者。
- 未说明跨平台测试情况。
如何安装这个 Skill?
该技能是 DeepChat 仓库的一部分(位于 .agents/skills/add-provider/SKILL.md)。要使用它,请克隆 DeepChat 仓库并安装依赖:git clone https://github.com/ThinkInAIXYZ/deepchat && cd deepchat && pnpm install && pnpm run installRuntime。技能本身无需单独安装。
如何使用这个 Skill?
当被要求向 DeepChat 添加提供商时,可提示:'使用 add-provider 技能为 <ProviderName> 添加提供商支持。' 技能将引导你收集所需输入(提供商 ID、显示名称、API 类型、基础 URL、认证类型、模型元数据源、测试模型、网站/文档 URL 等),然后按工作流程执行:阅读相关规范文档,检查当前提供商文件,分类请求,进行最小化源码变更,添加测试,并运行验证命令(pnpm format、pnpm i18n、pnpm lint 及聚焦测试)。