docs(provider): 补充DeepSeek开发凭据配置
This commit is contained in:
@@ -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>
|
- API 文档:<http://127.0.0.1:8000/docs>
|
||||||
- OpenAPI JSON:<http://127.0.0.1:8000/openapi.json>
|
- 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
|
```powershell
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ GET /api/providers/presets
|
|||||||
|
|
||||||
当前预设:
|
当前预设:
|
||||||
|
|
||||||
| 提供商 | Provider Type | Base URL |
|
| 提供商 | Provider Type | Base URL | 默认 Credential ID |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| OpenAI | `openai_chat` | `https://api.openai.com/v1` |
|
| OpenAI | `openai_chat` | `https://api.openai.com/v1` | `openai` |
|
||||||
| DeepSeek | `openai_compatible` | `https://api.deepseek.com` |
|
| DeepSeek | `openai_compatible` | `https://api.deepseek.com` | `deepseek` |
|
||||||
| Ollama | `ollama` | `http://127.0.0.1:11434` |
|
| Ollama | `ollama` | `http://127.0.0.1:11434` | 无 |
|
||||||
|
|
||||||
OpenAI 和 DeepSeek 都通过项目已有的 `OpenAICompatibleProvider` 访问。模型发现分别请求 Base URL 下的 `/models`,不引入厂商 SDK。
|
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、日志或本文档。
|
设置页只保存 `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 注入后进行。
|
本次没有创建或使用本机 OpenAI API Key,也没有对 OpenAI、DeepSeek 发起真实请求。外部模型列表的联调需要在桌面 Host 完成 Stronghold 注入后进行。
|
||||||
|
|
||||||
## 4. 验证
|
## 4. 验证
|
||||||
|
|||||||
Reference in New Issue
Block a user