feat: 渠道管理分两块(.env必要回退+删除同步+可用类型/已保存分开)
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled

agent-120 .env只留必要回退:
- .env.example KOOK移4可选业务字段(RECEIVE_MODE/WEBHOOK_PATH/VERIFY_TOKEN/ENCRYPT_KEY),只留token/base_url; channelAccountsFromEnv不读这4个; 说明业务字段走channelConfigForm.channels.json
- 黑名单/限流/receive_mode等走管理面板热更新, env仅必要连接回退

agent-121 删除渠道列表同步(根因: adminListChannels枚举caps,删除不同步caps):
- adminListChannels 以channels.json为准: 遍历caps时已删账号adapter跳过(s.channels注入时), 删除/保存后列表=channels.json, 删除即消失
- (capReg Remove后续可加,范围外标注)

agent-122 渠道管理分两块显示(主人:不割裂):
- ①可用适配器类型(顶部PLATFORM_TYPES全集grid卡片,已配置/未配置Tag,点新建配置)
- ②已保存配置(下方AdminTable过滤accounts>0,账号+bot身份+掩码token提示+连接/断开/删除)
- 拆 channelConfigForm.tsx(248行) 表单抽出; Channels.tsx 463→306行; token只回填hint不写值(保存留空不改secret)
全仓 build/vet/test绿+前端build绿(356KB)
This commit is contained in:
Aska committed 2026-09-07 16:16:50 +08:00
1 parent b614633432
commit 0ed7984de3
8 files changed
+578 -290

No files matched your search

+4 -10
View File
@@ -99,25 +99,19 @@ ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000
# ---- KOOK(KaiHeiLa)渠道 ----
# 单账号走环境变量;多账号走下方 CHANNELS_JSON。
# .env 仅提供【必要连接兜底】;接收模式 / webhook 回调路由 / verify_token / encrypt_key 等
# 业务·高级项一律在管理面板「渠道管理」配置(写入 channels.json,热更新),不落 .env。
# CHANNEL_KOOK_TOKEN 为 KOOK 开发者中心机器人 token(敏感,勿写日志/提交)。
# CHANNEL_KOOK_BASE_URL 可选,默认 https://www.kookapp.cn/api/v3。
# CHANNEL_KOOK_RECEIVE_MODE 可选:ws(默认,连 KOOK gateway WebSocket 收事件)| webhook
# (在 Cyrene gateway 挂一条路由接收 KOOK 的 POST 回调;webhook 与 ws 互斥,需在 KOOK
# 开发者后台把机器人连接模式切到 WebHook 并填回调 URL)。
# CHANNEL_KOOK_WEBHOOK_PATH 可选,webhook 模式回调路由,默认 /webhook/kook。
# CHANNEL_KOOK_WEBHOOK_VERIFY_TOKEN 可选,KOOK 开发者后台 verify token(回调校验,不匹配 403)。
# CHANNEL_KOOK_WEBHOOK_ENCRYPT_KEY 可选,KOOK Encrypt Key(回调 AES-256-CBC 解密)。
# CHANNEL_KOOK_TOKEN=
# CHANNEL_KOOK_BASE_URL=
# CHANNEL_KOOK_RECEIVE_MODE=ws
# CHANNEL_KOOK_WEBHOOK_PATH=
# CHANNEL_KOOK_WEBHOOK_VERIFY_TOKEN=
# CHANNEL_KOOK_WEBHOOK_ENCRYPT_KEY=
# ---- IM 多账号 / 黑白名单(可选,design/16 §4.6 §5-6) ----
# ⚠️ 本节是【兜底】:管理面板「渠道管理」页保存会写入本地 channels.json(默认 <DATA_DIR>/channels.json,已 gitignore),
# 只要 channels.json 存在且有效,运行中的渠道 adapter 就优先用它的多平台账号配置,并支持面板实时保存→热更新(无需重启)。
# 仅当 channels.json 不存在/无效时才回退到下面的 CHANNELS_JSON 与 CHANNEL_<NAME>_*。
# 业务·高级项(接收模式 receive_mode / webhook 回调路由与 verify_token、encrypt_key / 黑白名单 / 限流)
# 一律在管理面板「渠道管理」配置:写 channels.json、热更新;.env 仅作无文件时的必要连接回退(token/base_url 等)。
# 单账号仍走上面 CHANNEL_<NAME>_* 环境变量;这里提供独立的 JSON 注册表,
# 支持同一平台配多个接入配置(多账号),并配群聊/私聊黑白名单(代码层拦截,
# 被拉黑/不在白名单的群或用户消息不进 LLM,且有审计)。形如: