mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 11:13:43 +08:00
feat(channels): localize seeded channel names to Chinese on zh-CN installs
The zh seed planted channels with English display names (DingTalk Bot, Feishu Bot, WeCom Bot, ...). The type label localized correctly but the per-channel name stayed English on the cards page even when UI was Chinese. - Update zh seed files (data-zh.sql + data-mysql-zh.sql) so fresh installs get Chinese names from the start: Web 控制台, 钉钉机器人, 飞书机器人, Telegram 机器人, Discord 机器人, 企业微信机器人, QQ 机器人, Slack 机器人. id=1000000008 (微信) was already Chinese; left alone. en seeds untouched. - Add V54 migration that flips existing zh-CN installs in place. Each UPDATE is gated on system_setting language=zh-CN AND the channel name still equal to its original English seeded value, so user-renamed channels are left alone. Subsequent runs match no rows (idempotent). h2 and mysql variants stay in lockstep.
This commit is contained in:
parent
b982d4a2d0
commit
4081469e15
@ -1240,13 +1240,13 @@ UPDATE mate_skill SET skill_content = '# Steve Jobs · 思维操作系统
|
||||
|
||||
-- 1. Web Console(默认启用)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000001, 'Web Console', 'web', 1000000001, '', '{}', TRUE,
|
||||
VALUES (1000000001, 'Web 控制台', 'web', 1000000001, '', '{}', TRUE,
|
||||
'默认 Web 控制台渠道,通过浏览器 SSE 流式交互', NOW(), NOW(), 0)
|
||||
ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), agent_id=VALUES(agent_id), bot_prefix=VALUES(bot_prefix), config_json=VALUES(config_json), enabled=VALUES(enabled), description=VALUES(description), update_time=VALUES(update_time), deleted=VALUES(deleted);
|
||||
|
||||
-- 2. 钉钉(默认禁用,需配置 client_id/client_secret)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000002, 'DingTalk Bot', 'dingtalk', 1000000001, '', '{
|
||||
VALUES (1000000002, '钉钉机器人', 'dingtalk', 1000000001, '', '{
|
||||
"client_id": "",
|
||||
"client_secret": "",
|
||||
"robot_code": "",
|
||||
@ -1266,7 +1266,7 @@ ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), ag
|
||||
|
||||
-- 3. 飞书(默认禁用,需配置 app_id/app_secret)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000003, 'Feishu Bot', 'feishu', 1000000001, '', '{
|
||||
VALUES (1000000003, '飞书机器人', 'feishu', 1000000001, '', '{
|
||||
"app_id": "",
|
||||
"app_secret": "",
|
||||
"encrypt_key": "",
|
||||
@ -1285,7 +1285,7 @@ ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), ag
|
||||
|
||||
-- 4. Telegram(默认禁用,需配置 bot_token)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000004, 'Telegram Bot', 'telegram', 1000000001, '', '{
|
||||
VALUES (1000000004, 'Telegram 机器人', 'telegram', 1000000001, '', '{
|
||||
"bot_token": "",
|
||||
"http_proxy": "",
|
||||
"show_typing": true,
|
||||
@ -1303,7 +1303,7 @@ ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), ag
|
||||
|
||||
-- 5. Discord(默认禁用,需配置 bot_token)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000005, 'Discord Bot', 'discord', 1000000001, '!mc ', '{
|
||||
VALUES (1000000005, 'Discord 机器人', 'discord', 1000000001, '!mc ', '{
|
||||
"bot_token": "",
|
||||
"http_proxy": "",
|
||||
"dm_policy": "open",
|
||||
@ -1320,7 +1320,7 @@ ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), ag
|
||||
|
||||
-- 6. 企业微信智能机器人(默认禁用,需配置 bot_id/secret)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000006, 'WeCom Bot', 'wecom', 1000000001, '', '{
|
||||
VALUES (1000000006, '企业微信机器人', 'wecom', 1000000001, '', '{
|
||||
"bot_id": "",
|
||||
"secret": "",
|
||||
"welcome_text": "",
|
||||
@ -1341,7 +1341,7 @@ ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), ag
|
||||
|
||||
-- 7. QQ 机器人(默认禁用,需配置 app_id/client_secret)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000007, 'QQ Bot', 'qq', 1000000001, '', '{
|
||||
VALUES (1000000007, 'QQ 机器人', 'qq', 1000000001, '', '{
|
||||
"app_id": "",
|
||||
"client_secret": "",
|
||||
"markdown_enabled": true,
|
||||
@ -1378,7 +1378,7 @@ ON DUPLICATE KEY UPDATE name=VALUES(name), channel_type=VALUES(channel_type), ag
|
||||
|
||||
-- 9. Slack(默认禁用,需配置 bot_token / app_token)
|
||||
INSERT INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
VALUES (1000000009, 'Slack Bot', 'slack', 1000000001, '', '{
|
||||
VALUES (1000000009, 'Slack 机器人', 'slack', 1000000001, '', '{
|
||||
"bot_token": "",
|
||||
"app_token": "",
|
||||
"signing_secret": "",
|
||||
|
||||
@ -1204,13 +1204,13 @@ UPDATE mate_skill SET skill_content = '# Steve Jobs · 思维操作系统
|
||||
-- 1. Web Console(默认启用)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000001, 'Web Console', 'web', 1000000001, '', '{}', TRUE,
|
||||
VALUES (1000000001, 'Web 控制台', 'web', 1000000001, '', '{}', TRUE,
|
||||
'默认 Web 控制台渠道,通过浏览器 SSE 流式交互', NOW(), NOW(), 0);
|
||||
|
||||
-- 2. 钉钉(默认禁用,需配置 client_id/client_secret)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000002, 'DingTalk Bot', 'dingtalk', 1000000001, '', '{
|
||||
VALUES (1000000002, '钉钉机器人', 'dingtalk', 1000000001, '', '{
|
||||
"client_id": "",
|
||||
"client_secret": "",
|
||||
"robot_code": "",
|
||||
@ -1230,7 +1230,7 @@ VALUES (1000000002, 'DingTalk Bot', 'dingtalk', 1000000001, '', '{
|
||||
-- 3. 飞书(默认禁用,需配置 app_id/app_secret)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000003, 'Feishu Bot', 'feishu', 1000000001, '', '{
|
||||
VALUES (1000000003, '飞书机器人', 'feishu', 1000000001, '', '{
|
||||
"app_id": "",
|
||||
"app_secret": "",
|
||||
"encrypt_key": "",
|
||||
@ -1249,7 +1249,7 @@ VALUES (1000000003, 'Feishu Bot', 'feishu', 1000000001, '', '{
|
||||
-- 4. Telegram(默认禁用,需配置 bot_token)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000004, 'Telegram Bot', 'telegram', 1000000001, '', '{
|
||||
VALUES (1000000004, 'Telegram 机器人', 'telegram', 1000000001, '', '{
|
||||
"bot_token": "",
|
||||
"http_proxy": "",
|
||||
"show_typing": true,
|
||||
@ -1267,7 +1267,7 @@ VALUES (1000000004, 'Telegram Bot', 'telegram', 1000000001, '', '{
|
||||
-- 5. Discord(默认禁用,需配置 bot_token)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000005, 'Discord Bot', 'discord', 1000000001, '!mc ', '{
|
||||
VALUES (1000000005, 'Discord 机器人', 'discord', 1000000001, '!mc ', '{
|
||||
"bot_token": "",
|
||||
"http_proxy": "",
|
||||
"dm_policy": "open",
|
||||
@ -1284,7 +1284,7 @@ VALUES (1000000005, 'Discord Bot', 'discord', 1000000001, '!mc ', '{
|
||||
-- 6. 企业微信智能机器人(默认禁用,需配置 bot_id/secret)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000006, 'WeCom Bot', 'wecom', 1000000001, '', '{
|
||||
VALUES (1000000006, '企业微信机器人', 'wecom', 1000000001, '', '{
|
||||
"bot_id": "",
|
||||
"secret": "",
|
||||
"welcome_text": "",
|
||||
@ -1305,7 +1305,7 @@ VALUES (1000000006, 'WeCom Bot', 'wecom', 1000000001, '', '{
|
||||
-- 7. QQ 机器人(默认禁用,需配置 app_id/client_secret)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000007, 'QQ Bot', 'qq', 1000000001, '', '{
|
||||
VALUES (1000000007, 'QQ 机器人', 'qq', 1000000001, '', '{
|
||||
"app_id": "",
|
||||
"client_secret": "",
|
||||
"markdown_enabled": true,
|
||||
@ -1342,7 +1342,7 @@ VALUES (1000000008, '微信', 'weixin', 1000000001, '', '{
|
||||
-- 9. Slack(默认禁用,需配置 bot_token / app_token)
|
||||
MERGE INTO mate_channel (id, name, channel_type, agent_id, bot_prefix, config_json, enabled, description, create_time, update_time, deleted)
|
||||
KEY (id)
|
||||
VALUES (1000000009, 'Slack Bot', 'slack', 1000000001, '', '{
|
||||
VALUES (1000000009, 'Slack 机器人', 'slack', 1000000001, '', '{
|
||||
"bot_token": "",
|
||||
"app_token": "",
|
||||
"signing_secret": "",
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
-- V54: Localize seeded channel names to Chinese for zh-CN installs.
|
||||
--
|
||||
-- The zh seed (db/data-zh.sql) historically planted channels with English
|
||||
-- display names ("DingTalk Bot", "Feishu Bot", "WeCom Bot", ...). The seed
|
||||
-- only runs once per fresh install (DatabaseBootstrapRunner short-circuits
|
||||
-- on isDataAlreadySeeded), so existing zh-CN installs are stuck with the
|
||||
-- English names forever.
|
||||
--
|
||||
-- This migration flips the names to Chinese ONLY when:
|
||||
-- 1. The system language is zh-CN (so en-US installs are untouched)
|
||||
-- 2. The channel still has the original English seeded name (so any
|
||||
-- user-renamed channel is left alone)
|
||||
--
|
||||
-- Idempotent: re-running the migration finds no matching rows after the
|
||||
-- first apply because the names won't match the English originals anymore.
|
||||
|
||||
UPDATE mate_channel SET name = 'Web 控制台'
|
||||
WHERE id = 1000000001 AND name = 'Web Console'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = '钉钉机器人'
|
||||
WHERE id = 1000000002 AND name = 'DingTalk Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = '飞书机器人'
|
||||
WHERE id = 1000000003 AND name = 'Feishu Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = 'Telegram 机器人'
|
||||
WHERE id = 1000000004 AND name = 'Telegram Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = 'Discord 机器人'
|
||||
WHERE id = 1000000005 AND name = 'Discord Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = '企业微信机器人'
|
||||
WHERE id = 1000000006 AND name = 'WeCom Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = 'QQ 机器人'
|
||||
WHERE id = 1000000007 AND name = 'QQ Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
-- id 1000000008 ("微信") already in Chinese; intentionally skipped.
|
||||
|
||||
UPDATE mate_channel SET name = 'Slack 机器人'
|
||||
WHERE id = 1000000009 AND name = 'Slack Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
@ -0,0 +1,45 @@
|
||||
-- V54: Localize seeded channel names to Chinese for zh-CN installs.
|
||||
-- See h2/V54 for the full rationale. Same logic, MySQL-flavored.
|
||||
-- Idempotent: re-running finds no matching rows after the first apply.
|
||||
|
||||
UPDATE mate_channel SET name = 'Web 控制台'
|
||||
WHERE id = 1000000001 AND name = 'Web Console'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = '钉钉机器人'
|
||||
WHERE id = 1000000002 AND name = 'DingTalk Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = '飞书机器人'
|
||||
WHERE id = 1000000003 AND name = 'Feishu Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = 'Telegram 机器人'
|
||||
WHERE id = 1000000004 AND name = 'Telegram Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = 'Discord 机器人'
|
||||
WHERE id = 1000000005 AND name = 'Discord Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = '企业微信机器人'
|
||||
WHERE id = 1000000006 AND name = 'WeCom Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
UPDATE mate_channel SET name = 'QQ 机器人'
|
||||
WHERE id = 1000000007 AND name = 'QQ Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
|
||||
-- id 1000000008 ("微信") already in Chinese; intentionally skipped.
|
||||
|
||||
UPDATE mate_channel SET name = 'Slack 机器人'
|
||||
WHERE id = 1000000009 AND name = 'Slack Bot'
|
||||
AND EXISTS (SELECT 1 FROM mate_system_setting
|
||||
WHERE setting_key = 'language' AND setting_value = 'zh-CN');
|
||||
Loading…
Reference in New Issue
Block a user