From 0842413d296e8ec6029af34e3cac06087b3ee224 Mon Sep 17 00:00:00 2001 From: KiriAky 107 Date: Sun, 30 Aug 2026 10:48:35 +0800 Subject: [PATCH] =?UTF-8?q?docs(provider):=20=E8=A1=A5=E5=85=85DeepSeek?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E5=87=AD=E6=8D=AE=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 +++++++++++++++++ docs/模型提供商与模型发现开发说明.md | 12 +++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6ae0430..193aabb 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,23 @@ uv run uvicorn app.main:app --reload --host 127.0.0.1 --port 8000 - API 文档: - 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 diff --git a/docs/模型提供商与模型发现开发说明.md b/docs/模型提供商与模型发现开发说明.md index 247cbb2..fe53d8e 100644 --- a/docs/模型提供商与模型发现开发说明.md +++ b/docs/模型提供商与模型发现开发说明.md @@ -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. 验证