Skip to content

Provider: 增加用户级 Profiles 与可信项目覆盖 - #3

Draft
wen227 wants to merge 4 commits into
boluochoufeng:mainfrom
wen227:feat/provider-profiles
Draft

Provider: 增加用户级 Profiles 与可信项目覆盖#3
wen227 wants to merge 4 commits into
boluochoufeng:mainfrom
wen227:feat/provider-profiles

Conversation

@wen227

@wen227 wen227 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

依赖

依赖 #2。当前为 stacked draft PR;#2 合并后,本 PR 相对 main 的有效差异将只剩 Provider Profiles 与可信配置解析。

概要

  • 新增用户级 ~/.kuncode/providers.json
  • 每个 Profile 保存 Provider 协议、endpoint、API key 环境变量、默认模型、token budget 和可选 headers
  • 增加 --profile--model CLI 覆盖
  • 配置优先级:CLI > 可信项目配置 > 用户 Profile > 内置 DeepSeek 默认值
  • 未信任项目不能覆盖 profileprovidernamebaseUrlapiKeyEnvheadersmaxTokens
  • 信任解析完成后才读取选中的环境变量
  • 自定义 endpoint 使用类型化 URL 处理 path/query,兼容服务根地址与完整 /chat/completions endpoint
  • 禁止通过自定义 headers 覆盖 Authorization

配置示例

{
  "defaultProfile": "local",
  "profiles": {
    "local": {
      "provider": "openai",
      "baseUrl": "http://localhost:8000/v1",
      "apiKeyEnv": "",
      "model": "local-model",
      "maxTokens": 8192,
      "headers": {
        "X-Tenant": "development"
      }
    }
  }
}

验证

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo check --workspace --all-targets
  • cargo test --workspace(517 passed,2 ignored)
  • cargo doc --workspace --no-deps
  • 覆盖未信任项目凭据/endpoint 注入、CLI 优先级、可信覆盖、apiKeyEnv trim、带 query endpoint 和 reserved Authorization header

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant