diff --git a/channel/web/static/js/console.js b/channel/web/static/js/console.js index 36af2b4b..2b61e902 100644 --- a/channel/web/static/js/console.js +++ b/channel/web/static/js/console.js @@ -813,6 +813,11 @@ function escapeHtml(str) { return div.innerHTML; } +function ChannelsHandler_maskSecret(val) { + if (!val || val.length <= 8) return val; + return val.slice(0, 4) + '*'.repeat(val.length - 8) + val.slice(-4); +} + function formatToolArgs(args) { if (!args || Object.keys(args).length === 0) return '(none)'; try { @@ -1737,7 +1742,14 @@ function submitAddChannel() { .then(data => { if (data.status === 'success') { const ch = channelsData.find(c => c.name === chName); - if (ch) ch.active = true; + if (ch) { + ch.active = true; + (ch.fields || []).forEach(f => { + if (updates[f.key] !== undefined) { + f.value = f.type === 'secret' ? ChannelsHandler_maskSecret(updates[f.key]) : updates[f.key]; + } + }); + } renderActiveChannels(); } else { if (btn) { btn.disabled = false; btn.textContent = t('channels_connect_btn'); } diff --git a/channel/web/web_channel.py b/channel/web/web_channel.py index bae48fb5..b5ae372e 100644 --- a/channel/web/web_channel.py +++ b/channel/web/web_channel.py @@ -602,6 +602,15 @@ class ChannelsHandler: {"key": "dingtalk_client_secret", "label": "Client Secret", "type": "secret"}, ], }), + ("wecom_bot", { + "label": {"zh": "企微智能机器人", "en": "WeCom Bot"}, + "icon": "fa-robot", + "color": "emerald", + "fields": [ + {"key": "wecom_bot_id", "label": "Bot ID", "type": "text"}, + {"key": "wecom_bot_secret", "label": "Secret", "type": "secret"}, + ], + }), ("wechatcom_app", { "label": {"zh": "企微自建应用", "en": "WeCom App"}, "icon": "fa-building", diff --git a/config-template.json b/config-template.json index 9fefa11f..b73f4360 100644 --- a/config-template.json +++ b/config-template.json @@ -24,6 +24,8 @@ "feishu_app_secret": "", "dingtalk_client_id": "", "dingtalk_client_secret":"", + "wecom_bot_id": "", + "wecom_bot_secret": "", "agent": true, "agent_max_context_tokens": 40000, "agent_max_context_turns": 20, diff --git a/config.py b/config.py index af2fd022..7944a31f 100644 --- a/config.py +++ b/config.py @@ -153,7 +153,6 @@ available_setting = { # 企微智能机器人配置(长连接模式) "wecom_bot_id": "", # 企微智能机器人BotID "wecom_bot_secret": "", # 企微智能机器人长连接Secret - # chatgpt指令自定义触发词 "clear_memory_commands": ["#清除记忆"], # 重置会话指令,必须以#开头 # channel配置