refactor(channels): make built-in channels self-contained (#4908)
* refactor(channels): own setup and instance contracts * refactor(channels): isolate management contracts * refactor(channels): normalize activation contracts * fix(channels): enforce management contracts * refactor(channels): finish setup ownership migration * fix(channels): harden management contracts * fix(channels): enforce lazy loading and runtime ownership * fix(feishu): make multi-instance startup idempotent * fix(webui): render channel setup contracts cleanly * fix(feishu): stop websocket clients cleanly * fix(channels): enforce persistence and activation gates * fix(channels): preserve global feature action scope * fix(channels): apply defaults for single plugins * fix(channels): enforce management contract boundaries * refactor(feishu): remove identity helper indirection * fix(channels): preserve management setup contracts * refactor(channels): generalize instance settings UI * refactor(channels): package channel plugins with web UI metadata * refactor(channels): make built-ins self-contained packages * test(channels): colocate tests with channel packages * fix(dingtalk): use official brand icon * feat(channels): colocate webui translations * docs(channels): clarify plugin ownership * test(exec): remove output wait race * refactor(channels): unify plugin descriptors * fix(channels): enforce descriptor-owned contracts * refactor(channels): finish package-owned plugin setup * refactor(channels): use repository-owned packages only * fix(channels): self-describe dependencies and runtime state * fix(channels): warn about legacy entry points
This commit is contained in:
@@ -510,7 +510,7 @@
|
||||
},
|
||||
"channels": {
|
||||
"description": "把聊天应用、邮箱和 WebUI 连接到 nanobot。",
|
||||
"caption": "{{enabled}} 个已启用 · 共 {{total}} 个渠道",
|
||||
"caption": "{{enabled}} 个运行中 · 共 {{total}} 个渠道",
|
||||
"searchPlaceholder": "搜索渠道",
|
||||
"backToChannels": "所有渠道",
|
||||
"catalog": "渠道",
|
||||
@@ -527,13 +527,51 @@
|
||||
"needsConfig": "需要配置",
|
||||
"connect": "连接",
|
||||
"reconnect": "重新连接",
|
||||
"feishuQrAlt": "飞书连接二维码",
|
||||
"feishuScanTitle": "使用飞书扫码",
|
||||
"feishuScanDescription": "用手机上的飞书或 Lark 扫描二维码。授权完成后,nanobot 会自动完成配置。",
|
||||
"feishuWaiting": "正在等待授权...",
|
||||
"feishuConnected": "飞书已连接。",
|
||||
"feishuConnectStopped": "连接已停止。",
|
||||
"feishuConnecting": "正在连接..."
|
||||
"advanced": "高级",
|
||||
"checkAndEnable": "检查并启用",
|
||||
"checkConnection": "检查连接",
|
||||
"checkedAndEnabled": "已检查并启用。",
|
||||
"checking": "正在检查...",
|
||||
"checkOnly": "仅检查",
|
||||
"commandCopied": "命令已复制。",
|
||||
"commandCopyFailed": "无法复制命令。",
|
||||
"configuredInstances": "已配置 {{count}} 个实例",
|
||||
"connectPreview": "下一步将在浏览器内连接。目前请先运行下方命令。",
|
||||
"copyCommand": "复制命令",
|
||||
"filterAll": "全部",
|
||||
"filterOff": "未运行",
|
||||
"filterOn": "运行中",
|
||||
"helperCopied": "已复制 {{name}}。",
|
||||
"helperCopyFailed": "无法复制 {{name}}。",
|
||||
"hideSecret": "隐藏密钥",
|
||||
"instanceConfigured": "已配置",
|
||||
"instanceNeedsSetup": "需要配置",
|
||||
"runtimeFailed": "启动失败",
|
||||
"runtimeStarting": "正在启动",
|
||||
"runtimeStopped": "未运行",
|
||||
"managedByWebui": "由 WebUI 管理",
|
||||
"officialGuide": "官方指南",
|
||||
"optional": "可选",
|
||||
"providerPreset": "服务商",
|
||||
"requiredSetup": "必需配置",
|
||||
"savedSecret": "已保存",
|
||||
"savedSecretPlaceholder": "已保存的密钥",
|
||||
"savedSettings": "设置已保存。",
|
||||
"saveSettings": "保存设置",
|
||||
"selectChannel": "查看 {{name}} 设置",
|
||||
"setupSteps": "后续步骤",
|
||||
"showSecret": "显示密钥",
|
||||
"toggleChannel": "{{name}} 渠道",
|
||||
"toggleInstance": "{{name}} 实例",
|
||||
"tryIt": "试一试",
|
||||
"validationFailed": "启用前请检查必需配置。",
|
||||
"validation": {
|
||||
"connected": "已连接",
|
||||
"configured": "手动配置",
|
||||
"needs_setup": "需要配置",
|
||||
"invalid": "无效",
|
||||
"unsupported": "手动配置"
|
||||
}
|
||||
},
|
||||
"nanobotFeatures": {
|
||||
"enabled": "已启用",
|
||||
|
||||
Reference in New Issue
Block a user