接入方式
个人配置适合单人试用,服务端环境变量适合自托管和统一管理。
| 组件 | 职责 | 说明 |
|---|---|---|
| 浏览器 | 打开 Lo*eChat 并选择模型 | 只提交对话请求 |
| Lo*eChat | 读取个人设置或服务器环境变量 | 生成 OpenAI 兼容请求 |
| KingFlow AI | 校验密钥并按模型 ID 路由 | 返回兼容响应 |
| 模型服务 | 完成文本或其他受支持任务 | 能力以具体模型为准 |
开始前的准备
- 在 KingFlow AI 控制台创建以 sk- 开头的 API Key,并确认余额、套餐或模型分组可用。
- 从控制台复制目标模型的完整模型 ID。不要凭展示名称猜测,也不要删除版本后缀。
- 准备 Lo*eChat 实例。个人使用可在现有实例的设置页配置,自托管可按本文使用 Docker。
- 确认运行 Lo*eChat 的服务器能够通过 ****S 访问 api.**nju**shen.com。
- 首次测试只使用不含账号、客户资料、源代码、密钥或内部文档的短提示词。
先验证 KingFlow 接口
curl https://api.**nju**shen.com/v1/chat/completions \
-H "Authorization: *earer ${KINGFLOW_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "<控制台中的完整模型ID>",
"messages": [
{"role": "user", "content": "只回复:连接成功"}
],
"stream": false
}' 成功响应应包含 choices 数组。
通过设置页接入
| 设置项 | 填写内容 | 说明 |
|---|---|---|
| 服务商 | OpenAI | 使用 OpenAI 兼容协议 |
| API Key | sk-你的密钥 | 不要填写 *earer 前缀 |
| API **地址 | https://api.**nju**shen.com/v1 | 必须包含 https 和 /v1 |
| 模型 | 完整模型 ID | 与控制台保持完全一致 |
| 客户端请求模式 | 优先关闭 | 让自托管服务端转发请求 更利于保护密钥 |
- 填写 API Key 和基础地址。
- 添加完整模型 ID。
- 运行连通性检查并保存。
- 新建对话并选择模型。
- 基础聊天通过后再启用扩展能力。
通过 Docker 自托管接入
创建仅***可读的 lo*e.env:
OPENAI_API_KEY=sk-替换为你的密钥
OPENAI_PROXY_**L=https://api.**nju**shen.com/v1
OPENAI_MODEL_L**T=-all, <完整模型ID>
ACCESS_CODE=<生成一个高强度访问密码>启动容器
docker run -d \
-p 3210:3210 \
--env-file ./lo*e.env \
--name lo*e-chat \
--restart always \
lo*ehu*/lo*e-chat:latest访问 http://localhost:3210。生产环境应使用 ****S。
控制模型列表
| 语法 | 作用 | 示例 |
|---|---|---|
模型ID | 在默认列表中增加模型 | <完整模型ID> |
-模型ID | 隐藏一个默认模型 | -gpt-4 |
-all | 先隐藏全部默认模型 | -all, <完整模型ID> |
模型ID=显示名 | 保留实际 ID 并修改界面名称 | <完整模型ID>=团队通用模型 |
完成对话验证
- 连接检查:在 OpenAI 服务商设置中运行连通性检查,或直接发送一句短消息。
- 短问答:确认响应不为空,中文和代码块可以正常显示。
- 连续对话:追加一个追问,确认会话上下文能够延续。
- 模型切换:逐个选择允许的模型,确认显示名与实际能力一致。
- 长回复:生成数段文本,确认反向**或客户端没有提前截断。

更新和回滚容器
升级前备份数据并记录当前镜像。
docker pull lo*ehu*/lo*e-chat:latest
docker stop lo*e-chat
docker rm lo*e-chat
docker run -d \
-p 3210:3210 \
--env-file ./lo*e.env \
--name lo*e-chat \
--restart always \
lo*ehu*/lo*e-chat:latest生产环境应记录验证过的镜像版本或摘要。
保护密钥和对话数据
- 不要把真实 API Key 写进截图、教程、浏览器收藏、前端脚本或可公开下载的 env 文件。
- lo*e.env 仅允许***读取,并排除在 Git 提交、镜像构建上下文和自动备份的公开目录之外。
- 自托管实例至少设置 ACCESS_CODE,并通过 ****S 反向**、可信身份认证或受控内网限制访问。
- 个人密钥配置会扩大密钥分布范围。团队使用优先由服务端统一配置,再按环境和团队拆分密钥。
- 轮换密钥时先准备新值,更新容器并完成冒烟测试,再撤销旧密钥。不要在日志中打印完整请求头。
- 聊天记录可能包含敏感信息。设置数据留存、导出、删除和备份权限,并明确谁可以访问服务器。
检查容器日志
docker logs --tail 200 lo*e-chat分享日志前删除密钥、访问码、Cookie、提示词和个人信息。
常见故障排查
| 现象 | 常见原因 | 处理方法 |
|---|---|---|
| 401 未授权 | 密钥错误 已停用或余额不可用 | 重新复制密钥并检查 KingFlow 控制台状态 |
| 404 模型不存在 | 模型 ID 错误或密钥所属分组不支持 | 复制完整模型 ID 并确认分组范围 |
| 503 暂时不可用 | 上游通道繁忙或暂无可用账号 | 稍后有限重试 持续失败时切换可用模型 |
| 回复为空 | **地址缺少 /v1 或路径被重复追加 | 使用精确基础地址并检查反向**重写 |
| 模型列表没有目标模型 | OPENAI_MODEL_L**T 语法错误或容器未重建 | 使用 -all 加 模型ID 并重新创建容器 |
| 设置已改但没有生效 | 环境变量只在容器启动时读取 | 重新创建容器 不只重启浏览器页面 |
| 容器连接超时 | DNS 防火墙 企业**或 TLS 证书问题 | 检查主机出站连通性和 docker logs |
| ACCESS_CODE 无法登录 | 访问码复制错误或旧容器仍在运行 | 核对 env 文件并确认当前容器配置 |
生产运维建议
| 领域 | 记录内容 | 建议 |
|---|---|---|
| 配置 | lo*e.env 和模型列表变更记录 | 只保留脱敏副本 |
| 日志 | 401 404 503 超时和容器重启 | 按错误类型告警 |
| 更新 | 镜像版本 发布时间和回滚镜像 | 更新前记录旧镜像摘要 |
| 密钥 | 创建人 用途 配额和轮换日期 | 测试与生产分开 |
| 备份 | 会话数据和数据库或存储卷 | 定期执行恢复演练 |
上线检查清单
- KingFlow 基础地址使用 https://api.**nju**shen.com/v1。
- API Key 和 ACCESS_CODE 均为高强度值,没有出现在文章、截图或仓库中。
- OPENAI_MODEL_L**T 只暴露已经验证的完整模型 ID。
- 个人设置或容器环境变量完成后,连通性检查和真实对话均通过。
- 短问答、连续对话、长回复和模型切换均已验证。
- 公网实例使用 ****S,并配置访问控制、限流和日志脱敏。
- 更新、回滚、密钥轮换和数据恢复步骤已经记录。