docs(provider): 补充DeepSeek开发凭据配置

This commit is contained in:
2026-08-30 10:48:35 +08:00
parent 31e29f25bb
commit 0842413d29
2 changed files with 24 additions and 5 deletions
+17
View File
@@ -74,6 +74,23 @@ uv run uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
- API 文档:<http://127.0.0.1:8000/docs>
- OpenAPI JSON<http://127.0.0.1:8000/openapi.json>
#### 开发环境使用外部模型
当前仓库尚未包含 Tauri Host 与 Stronghold。需要联调外部模型时,应在启动后端的同一个终端会话中,通过进程环境注入密钥,再启动 AI Core:
- DeepSeek 预设的 Credential ID 为 `deepseek`,开发环境读取 `DEEPSEEK_API_KEY`,也兼容 Host 约定的 `AINOTE_CREDENTIAL_DEEPSEEK`
- OpenAI 预设的 Credential ID 为 `openai`,开发环境读取 `OPENAI_API_KEY`,也兼容 `AINOTE_CREDENTIAL_OPENAI`
PowerShell 7 中可以在启动后端的同一终端安全输入 DeepSeek Key,输入内容不会回显,也不会进入命令历史:
```powershell
$env:DEEPSEEK_API_KEY = Read-Host "DeepSeek API Key" -MaskInput
cd backend
uv run uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
```
环境变量只应配置在本机或当前进程中,不要写入仓库文件、README、Issue、提交信息或聊天记录。设置环境变量后必须重新启动后端进程,已经运行的进程无法读取之后才添加的变量。前端 Provider 表单中的 Credential ID 不是 API Key,不能把密钥明文粘贴到该字段。
### 终端二:启动前端
```powershell
@@ -24,11 +24,11 @@ GET /api/providers/presets
当前预设:
| 提供商 | Provider Type | Base URL |
| --- | --- | --- |
| OpenAI | `openai_chat` | `https://api.openai.com/v1` |
| DeepSeek | `openai_compatible` | `https://api.deepseek.com` |
| Ollama | `ollama` | `http://127.0.0.1:11434` |
| 提供商 | Provider Type | Base URL | 默认 Credential ID |
| --- | --- | --- | --- |
| OpenAI | `openai_chat` | `https://api.openai.com/v1` | `openai` |
| DeepSeek | `openai_compatible` | `https://api.deepseek.com` | `deepseek` |
| Ollama | `ollama` | `http://127.0.0.1:11434` | 无 |
OpenAI 和 DeepSeek 都通过项目已有的 `OpenAICompatibleProvider` 访问。模型发现分别请求 Base URL 下的 `/models`,不引入厂商 SDK。
@@ -69,6 +69,8 @@ Provider Adapter 的错误在 FastAPI 路由转换为统一 API Error
设置页只保存 `credential_id`。桌面 Host 负责将 Stronghold 中的密钥以临时凭据上下文注入 AI Core,`EnvironmentCredentialResolver` 根据 Credential ID 解析。API Key 明文不会进入 Provider Contract、Pinia、localStorage、日志或本文档。
当前尚未实现 Tauri Host 的开发环境中,`openai``deepseek` Credential ID 分别兼容标准的 `OPENAI_API_KEY``DEEPSEEK_API_KEY` 进程环境变量。Host 注入的 `AINOTE_CREDENTIAL_OPENAI``AINOTE_CREDENTIAL_DEEPSEEK` 优先级更高。环境变量必须在启动 AI Core 前设置;Provider 明确指定了 Credential ID 但进程内无法解析时,Adapter 会在网络请求前返回 `PROVIDER_CREDENTIAL_MISSING`,避免把本地配置缺失误报为厂商 401。
本次没有创建或使用本机 OpenAI API Key,也没有对 OpenAI、DeepSeek 发起真实请求。外部模型列表的联调需要在桌面 Host 完成 Stronghold 注入后进行。
## 4. 验证