Document Feishu credentials in settings
This commit is contained in:
@@ -28,7 +28,9 @@ cd ai_knowledge_base_v2
|
|||||||
docker compose -f docker-compose.dev.yml up --build
|
docker compose -f docker-compose.dev.yml up --build
|
||||||
```
|
```
|
||||||
|
|
||||||
如果用户端问答需要直读飞书知识库,需要在启动前配置后端运行环境变量:
|
如果用户端问答需要直读飞书知识库,优先在管理后台“系统设置 / 外部服务”中配置飞书 AppID 和 AppSecret,保存后即可生效,不需要重建容器。
|
||||||
|
|
||||||
|
也可以在启动前通过后端运行环境变量配置,作为系统设置为空时的兜底:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export FEISHU_APP_ID=你的飞书应用AppID
|
export FEISHU_APP_ID=你的飞书应用AppID
|
||||||
@@ -36,7 +38,7 @@ export FEISHU_APP_SECRET=你的飞书应用AppSecret
|
|||||||
docker compose -f docker-compose.dev.yml up -d --build backend user-client admin-web
|
docker compose -f docker-compose.dev.yml up -d --build backend user-client admin-web
|
||||||
```
|
```
|
||||||
|
|
||||||
也可以在 `ai_knowledge_base_v2/.env` 中配置 `FEISHU_APP_ID`、`FEISHU_APP_SECRET` 和 `FEISHU_SEARCH_URL`。后台“知识库管理”只维护 SpaceID、NodeID 和启用状态;飞书应用凭证不存放在知识库记录中。若使用独立飞书检索适配服务,则在后台“系统配置”填写飞书检索服务地址,后端会优先调用该地址。
|
也可以在 `ai_knowledge_base_v2/.env` 中配置 `FEISHU_APP_ID`、`FEISHU_APP_SECRET` 和 `FEISHU_SEARCH_URL`。后台“知识库管理”只维护 SpaceID、NodeID 和启用状态;飞书应用凭证在后台“系统设置”维护,不存放在知识库记录中。若使用独立飞书检索适配服务,则在后台“系统配置”填写飞书检索服务地址,后端会优先调用该地址。
|
||||||
|
|
||||||
默认地址:
|
默认地址:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# 飞书应用凭证改为系统设置维护
|
||||||
|
|
||||||
|
## 背景
|
||||||
|
|
||||||
|
用户端问答已经改为真实知识库检索链路,不再使用知识库 mock。当前后台“知识库管理”只能配置飞书知识库的 `SpaceID`、`NodeID` 和启用状态;后端读取飞书内容时还需要飞书应用的 `AppID` 和 `AppSecret`。
|
||||||
|
|
||||||
|
此前实现只支持通过部署环境变量配置:
|
||||||
|
|
||||||
|
- `FEISHU_APP_ID`
|
||||||
|
- `FEISHU_APP_SECRET`
|
||||||
|
|
||||||
|
这导致本地联调时容易误解为“后台已经配置了飞书知识库,所以凭证也已经配置完成”。
|
||||||
|
|
||||||
|
## 调整决定
|
||||||
|
|
||||||
|
从 2026-07-08 起,飞书应用凭证也放入后台“系统设置”中维护:
|
||||||
|
|
||||||
|
- `feishu_app_id`:飞书应用 AppID。
|
||||||
|
- `feishu_app_secret`:飞书应用 AppSecret。
|
||||||
|
|
||||||
|
后端读取优先级:
|
||||||
|
|
||||||
|
1. 优先读取数据库 `sys_system_config` 中的系统设置。
|
||||||
|
2. 如果系统设置为空,再回退读取环境变量 `FEISHU_APP_ID`、`FEISHU_APP_SECRET`。
|
||||||
|
|
||||||
|
## 交互要求
|
||||||
|
|
||||||
|
- 系统设置页在“外部服务”分组展示飞书 AppID 和 AppSecret。
|
||||||
|
- AppSecret 输入框使用密码输入样式,避免页面直接明文展示。
|
||||||
|
- 保存后问答链路应立即使用新的配置,不需要重建容器。
|
||||||
|
|
||||||
|
## 风险与后续优化
|
||||||
|
|
||||||
|
当前系统配置表会保存明文配置值。为了快速完成一期联调,先按现有 `sys_system_config` 机制落地;后续生产化时建议补充:
|
||||||
|
|
||||||
|
1. 对密钥类配置做加密存储。
|
||||||
|
2. 列表读取时对密钥类配置做脱敏展示。
|
||||||
|
3. 操作日志避免记录密钥原值。
|
||||||
|
4. 支持密钥更新时“留空表示不覆盖旧值”的交互。
|
||||||
Reference in New Issue
Block a user