feat(admin): Angel(Agnes) provider 凭据 DB 化 + 安全 key_set 字段
- llm_settings.agnes_api_key TEXT (DB key 优先,.env 兜底) - llm_settings.agnes_base_url_override VARCHAR (留空 = 用 .env) - alembic 0005_agnes_key 迁移 - LlmSettingOut.agnes_api_key_set (bool) 替代直接回传 key - LlmSettingUpdate 加 agnes_api_key / agnes_base_url_override(可空可清空) - providers.get_angel_client 改用 DB key 优先 - enrichment.py 改为 get_angel_client() 工厂调用(热改 key 不需重启) - /admin/llm/settings/test 走 get_angel_client(测的是 DB 里的 key) - 前端 AdminLlmSettings 在'总开关 + 模型'卡里加 Angel api_key 输入框 + base_url 覆盖 + 已配置/未配置指示灯 + 清空按钮 - 顶部'测连接'按钮复用(测的就是 Angel)
This commit is contained in:
@@ -49,6 +49,15 @@ class LlmSetting(Base):
|
||||
# === 总开关 ===
|
||||
enabled: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False)
|
||||
|
||||
# === Angel(Agnes)provider 凭据 — 在 settings 表里存,优先于 .env ===
|
||||
# 留空 = 用 .env 里的 agnes_api_key(向后兼容,生产部署常用 .env 注入)
|
||||
# 设值 = 走数据库(更便于在 UI 改 key,不用重启)
|
||||
# 安全:API 返回 agnes_api_key_set bool,不回传明文
|
||||
agnes_api_key: Mapped[str] = mapped_column(Text, default="", nullable=False)
|
||||
agnes_base_url_override: Mapped[str] = mapped_column(
|
||||
String(255), default="", nullable=False
|
||||
) # 留空 = 用 .env
|
||||
|
||||
# === 美团大模型(LongCat,OpenAI 兼容)===
|
||||
# 双 provider 评论架构:Angel + 美团并列,各跑各的 prompt,结果存到 articles 各自的列
|
||||
# api_key 留空 = 不启用该 provider
|
||||
|
||||
Reference in New Issue
Block a user