初始化仓库

This commit is contained in:
2026-06-02 23:14:41 +08:00
commit 0bc3f02670
520 changed files with 191097 additions and 0 deletions
+106
View File
@@ -0,0 +1,106 @@
export interface FieldDef {
key: string;
labelKey: string;
required?: boolean;
type?: 'text' | 'password' | 'number' | 'boolean';
placeholder?: string;
hintKey?: string;
group?: 'basic' | 'advanced';
}
export interface PlatformMeta {
label: string;
fields: FieldDef[];
}
export const platformMeta: Record<string, PlatformMeta> = {
telegram: {
label: 'Telegram',
fields: [
{ key: 'token', labelKey: 'fields.botToken', required: true, type: 'password', placeholder: '123456:ABC-DEF...' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced', hintKey: 'fields.allowFromHintTelegram' },
{ key: 'group_reply_all', labelKey: 'fields.groupReplyAll', type: 'boolean', group: 'advanced' },
{ key: 'share_session_in_channel', labelKey: 'fields.sharedGroupSession', type: 'boolean', group: 'advanced' },
],
},
discord: {
label: 'Discord',
fields: [
{ key: 'token', labelKey: 'fields.botToken', required: true, type: 'password' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
{ key: 'guild_id', labelKey: 'fields.guildId', placeholder: '', group: 'advanced', hintKey: 'fields.guildIdHint' },
{ key: 'group_reply_all', labelKey: 'fields.groupReplyAll', type: 'boolean', group: 'advanced' },
{ key: 'share_session_in_channel', labelKey: 'fields.sharedChannelSession', type: 'boolean', group: 'advanced' },
{ key: 'thread_isolation', labelKey: 'fields.threadIsolation', type: 'boolean', group: 'advanced' },
],
},
slack: {
label: 'Slack',
fields: [
{ key: 'bot_token', labelKey: 'fields.botToken', required: true, type: 'password', placeholder: 'xoxb-...' },
{ key: 'app_token', labelKey: 'fields.appToken', required: true, type: 'password', placeholder: 'xapp-...' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
{ key: 'share_session_in_channel', labelKey: 'fields.sharedChannelSession', type: 'boolean', group: 'advanced' },
],
},
dingtalk: {
label: 'DingTalk',
fields: [
{ key: 'client_id', labelKey: 'fields.clientId', required: true },
{ key: 'client_secret', labelKey: 'fields.clientSecret', required: true, type: 'password' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
{ key: 'share_session_in_channel', labelKey: 'fields.sharedGroupSession', type: 'boolean', group: 'advanced' },
],
},
wecom: {
label: 'WeChat Work',
fields: [
{ key: 'corp_id', labelKey: 'fields.corpId', required: true },
{ key: 'corp_secret', labelKey: 'fields.corpSecret', required: true, type: 'password' },
{ key: 'agent_id', labelKey: 'fields.agentId', required: true, placeholder: '1000002' },
{ key: 'callback_token', labelKey: 'fields.callbackToken', required: true },
{ key: 'callback_aes_key', labelKey: 'fields.callbackAesKey', required: true, hintKey: 'fields.callbackAesKeyHint' },
{ key: 'port', labelKey: 'fields.port', required: true, placeholder: '8081' },
{ key: 'callback_path', labelKey: 'fields.callbackPath', placeholder: '/wecom/callback', group: 'advanced' },
{ key: 'api_base_url', labelKey: 'fields.apiBaseUrl', placeholder: 'https://qyapi.weixin.qq.com', group: 'advanced' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
],
},
qq: {
label: 'QQ (OneBot v11)',
fields: [
{ key: 'ws_url', labelKey: 'fields.wsUrl', required: true, placeholder: 'ws://127.0.0.1:3001' },
{ key: 'token', labelKey: 'fields.accessToken', type: 'password', group: 'advanced' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
{ key: 'share_session_in_channel', labelKey: 'fields.sharedGroupSession', type: 'boolean', group: 'advanced' },
],
},
qqbot: {
label: 'QQ Bot (Official)',
fields: [
{ key: 'app_id', labelKey: 'fields.appId', required: true },
{ key: 'app_secret', labelKey: 'fields.appSecret', required: true, type: 'password' },
{ key: 'sandbox', labelKey: 'fields.sandboxMode', type: 'boolean', group: 'advanced' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
{ key: 'share_session_in_channel', labelKey: 'fields.sharedGroupSession', type: 'boolean', group: 'advanced' },
],
},
line: {
label: 'LINE',
fields: [
{ key: 'channel_secret', labelKey: 'fields.channelSecret', required: true, type: 'password' },
{ key: 'channel_token', labelKey: 'fields.channelToken', required: true, type: 'password' },
{ key: 'port', labelKey: 'fields.port', required: true, placeholder: '8080' },
{ key: 'callback_path', labelKey: 'fields.callbackPath', placeholder: '/callback', group: 'advanced' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
],
},
weibo: {
label: 'Weibo (微博)',
fields: [
{ key: 'app_id', labelKey: 'fields.appId', required: true, placeholder: '1234567890' },
{ key: 'app_secret', labelKey: 'fields.appSecret', required: true, type: 'password' },
{ key: 'allow_from', labelKey: 'fields.allowFrom', placeholder: '* (all)', group: 'advanced' },
],
},
};