picoclaw/web/frontend/src/i18n/locales/zh.json
wenjie 7f56ca8cc6
feat(web): refactor tools page into tabbed library and web search settings (#2539)
- split the tools page into focused components and a shared hook
- add separate Tool Library and Web Search tabs
- refresh web search settings layout and localized copy
- make provider expansion keyboard accessible
- restore wrapping for long tool names in library cards
- allow custom styling for KeyInput
2026-04-16 17:14:35 +08:00

716 lines
32 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"navigation": {
"chat": "对话",
"model_group": "模型",
"models": "模型",
"credentials": "凭据",
"agent_group": "智能体",
"hub": "Hub",
"skills": "技能",
"tools": "工具",
"services": "服务",
"channels_group": "频道",
"show_more_channels": "更多",
"show_less_channels": "收起",
"config": "配置",
"logs": "日志"
},
"launcherLogin": {
"title": "登录",
"description": "请输入控制台密码以继续。",
"passwordLabel": "密码",
"passwordPlaceholder": "输入密码",
"submit": "登录",
"errorInvalid": "密码错误,请重试。",
"errorNetwork": "网络错误,请重试。"
},
"launcherSetup": {
"title": "设置控制台密码",
"description": "设置一个密码来保护控制台访问权限,登录时需要输入此密码。",
"passwordLabel": "密码",
"passwordPlaceholder": "至少 8 个字符",
"confirmLabel": "确认密码",
"confirmPlaceholder": "再次输入密码",
"submit": "设置密码",
"errorMismatch": "两次输入的密码不一致。",
"errorNetwork": "网络错误,请重试。"
},
"chat": {
"welcome": "今天我能为您做些什么?",
"welcomeDesc": "您可以询问我天气、设置或其他任何任务,我随时为您效劳。",
"placeholder": "输入新消息...\n按 Enter 发送Shift + Enter 换行",
"disabledPlaceholder": {
"gatewayUnknown": "无法对话:网关状态仍在检测中。请稍候重试,如仍无效请刷新页面或重启 Launcher。",
"gatewayStarting": "无法对话:网关正在启动。请等待启动完成后重试。",
"gatewayRestarting": "无法对话:网关正在重启。请等待重启完成。",
"gatewayStopping": "无法对话:网关正在停止。请等待停止完成后重新启动服务。",
"gatewayStopped": "无法对话:网关服务未启动。请点击顶部栏的“启动服务”后重试。",
"gatewayError": "无法对话:网关处于错误状态。请检查日志后重启网关或 Launcher。",
"websocketConnecting": "正在连接聊天服务,请稍候。",
"websocketDisconnected": "无法对话WebSocket 连接已断开。请检查网络与服务状态,然后刷新页面或重启 Launcher。",
"websocketError": "无法对话WebSocket 连接失败。请检查网络与服务状态后重试。",
"noDefaultModel": "无法对话:尚未设置默认模型。请前往模型页面设置默认模型。"
},
"newChat": "新建对话",
"notConnected": "服务未运行,请先启动以进行对话。",
"thinking": {
"step1": "思考中...",
"step2": "分析您的请求...",
"step3": "准备回复...",
"step4": "马上就好..."
},
"reasoningLabel": "思考",
"history": "历史记录",
"noHistory": "暂无对话历史",
"historyLoadFailed": "加载历史记录失败",
"historyOpenFailed": "打开该历史会话失败",
"loadingMore": "加载更多...",
"deleteSession": "删除会话",
"messagesCount": "{{count}} 条消息",
"noModel": "选择模型",
"inputDisabled": {
"notConnected": "服务未运行,请先启动以进行对话。",
"noModel": "未设置默认模型,请前往模型页面进行配置。"
},
"attachImage": "添加图片",
"removeImage": "移除图片",
"uploadedImage": "已上传图片",
"invalidImage": "“{{name}}”不是支持的图片文件。",
"imageTooLarge": "“{{name}}”超过了 {{size}} 限制。",
"imageReadFailed": "读取“{{name}}”失败。",
"empty": {
"noConfiguredModel": "尚未配置模型",
"noConfiguredModelDescription": "请先配置至少一个带有 API Key 的 AI 模型,才能开始对话。",
"goToModels": "去模型页配置",
"noSelectedModel": "尚未设置模型",
"noSelectedModelDescription": "您已配置模型,但尚未设置默认模型。请选择一个模型后开始对话",
"notRunning": "服务尚未运行",
"notRunningDescription": "请先启动网关服务后再开始对话,可点击顶部栏中的「启动服务」按钮。"
},
"modelGroup": {
"apikey": "API Key",
"oauth": "OAuth",
"local": "本地模型"
}
},
"header": {
"logout": {
"tooltip": "退出登录",
"confirm": "退出登录",
"description": "确定要退出仪表盘登录吗?"
},
"gateway": {
"stopDialog": {
"title": "停止服务?",
"description": "您确定要停止服务吗?这将断开您当前活动的聊天会话并停止推理。",
"confirm": "停止服务"
},
"action": {
"start": "启动服务",
"stop": "停止服务",
"restart": "重启服务"
},
"status": {
"starting": "服务启动中...",
"restarting": "服务重启中...",
"stopping": "服务停止中..."
},
"restartRequired": "配置变更后需要重启服务才能生效。"
}
},
"common": {
"cancel": "取消",
"save": "保存",
"saving": "保存中...",
"reset": "重置",
"confirm": "确认"
},
"labels": {
"loading": "加载中..."
},
"footer": {
"version": "版本",
"commit": "提交",
"build": "构建",
"version_unknown": "未知"
},
"credentials": {
"description": "管理已支持服务商的 OAuth 与 Token 凭据。",
"loading": "正在加载凭据...",
"providers": {
"openai": {
"description": "支持浏览器 OAuth、设备码和 Token 登录。"
},
"anthropic": {
"description": "使用 Token 登录 Claude。"
},
"antigravity": {
"description": "使用浏览器 OAuth 登录 Google Cloud Code Assist。"
}
},
"status": {
"connected": "已连接",
"needsRefresh": "即将过期",
"expired": "已过期",
"notLoggedIn": "未登录"
},
"actions": {
"browser": "浏览器 OAuth",
"deviceCode": "设备码",
"stopLoading": "停止加载",
"saveToken": "保存",
"logout": "退出登录"
},
"logoutDialog": {
"title": "确认退出登录?",
"description": "这将删除 {{provider}} 的已保存凭据。"
},
"fields": {
"openaiToken": "OpenAI Token",
"anthropicToken": "Anthropic Token"
},
"labels": {
"account": "账号",
"email": "邮箱",
"project": "项目"
},
"errors": {
"loadFailed": "加载凭据失败",
"flowFailed": "查询授权流程失败",
"loginFailed": "登录失败",
"logoutFailed": "退出登录失败",
"invalidBrowserResponse": "浏览器登录响应无效",
"invalidDeviceResponse": "设备码响应无效",
"popupBlocked": "无法打开新标签页,请允许弹窗后重试。"
},
"flow": {
"current": "当前授权状态",
"pending": "等待授权中...",
"success": "认证成功",
"error": "认证失败",
"expired": "授权会话已过期"
},
"device": {
"title": "OpenAI 设备码登录",
"description": "请打开验证页面并输入下方代码,此页面会自动刷新授权状态。",
"code": "用户代码",
"url": "验证地址",
"polling": "正在轮询登录状态...",
"open": "打开验证页面"
}
},
"models": {
"description": "为 AI 服务商配置 API Key。只有已配置的模型可用于对话。",
"loadError": "加载模型列表失败",
"noDefaultHintPrefix": "尚未设置默认模型,点击",
"noDefaultHintSuffix": "设为默认。",
"status": {
"available": "可用",
"unconfigured": "未配置",
"unreachable": "服务不可达"
},
"badge": {
"default": "默认",
"virtual": "虚拟"
},
"action": {
"edit": "编辑 API Key",
"setDefault": "设为默认",
"delete": "删除模型",
"setDefaultDisabled": {
"setting": "正在设为默认...",
"unavailable": "无法将不可用的模型设为默认",
"isDefault": "该模型已是默认模型",
"isVirtual": "无法将虚拟模型设为默认"
},
"deleteDisabled": {
"isDefault": "无法删除默认模型"
}
},
"defaultOnSave": {
"label": "默认模型",
"description": "保存后自动将该模型设置为默认模型。"
},
"add": {
"button": "添加模型",
"title": "添加自定义模型",
"description": "添加兼容 OpenAI 或原生协议的模型端点。",
"modelName": "模型别名",
"modelNamePlaceholder": "例如 my-gpt4",
"modelNameHint": "用于在对话中识别此模型的简短名称。",
"modelId": "模型标识符",
"modelIdPlaceholder": "例如 openai/gpt-4o",
"modelIdHint": "格式:协议/模型ID。支持openai、anthropic、gemini、groq 等。",
"errorRequired": "此字段为必填项。",
"errorDuplicateModelName": "模型别名已存在,请使用其他名称。",
"saveError": "添加模型失败",
"confirm": "添加模型"
},
"delete": {
"title": "确认删除模型?",
"description": "「{{name}}」将从模型列表中永久移除,此操作不可撤销。",
"confirm": "删除"
},
"advanced": {
"toggle": "高级选项"
},
"field": {
"apiBase": "API Base URL",
"apiKey": "API Key",
"apiKeyPlaceholder": "请输入 API Key",
"apiKeyPlaceholderSet": "留空保持原有 Key 不变",
"proxy": "HTTP 代理",
"proxyHint": "可选。例如 http://127.0.0.1:7890",
"authMethod": "认证方式",
"authMethodHint": "认证方式oauth、token。留空表示使用 API Key 认证。",
"connectMode": "连接模式",
"connectModeHint": "CLI 型服务商的连接模式stdio 或 grpc。",
"workspace": "工作目录",
"workspaceHint": "CLI 型服务商的工作目录路径(如 GitHub Copilot。",
"requestTimeout": "请求超时(秒)",
"requestTimeoutHint": "等待响应的最大秒数0 表示使用默认值。",
"rpm": "速率限制RPM",
"rpmHint": "每分钟最大请求数0 表示不限制。",
"thinkingLevel": "思考级别",
"thinkingLevelHint": "扩展思考预算off、low、medium、high、xhigh、adaptive。",
"maxTokensField": "Max Tokens 字段名",
"maxTokensFieldHint": "覆盖请求中 max_tokens 的字段名,例如 max_completion_tokens。",
"extraBody": "Extra Body",
"extraBodyHint": "要注入到请求体中的额外 JSON 字段,例如 {\"reasoning_split\": true}。",
"customHeaders": "Custom Headers",
"customHeadersHint": "要注入到每个请求中的额外 HTTP Headers例如 {\"X-Source\": \"coding-plan\"}。"
},
"edit": {
"title": "配置 {{name}}",
"apiKeyHint": "已设置 API Key留空表示不修改。",
"oauthNote": "该服务商使用 OAuth 认证,无需 API Key。",
"saveError": "保存失败"
}
},
"channels": {
"loadError": "加载频道列表失败",
"name": {
"telegram": "Telegram",
"discord": "Discord",
"slack": "Slack",
"feishu": "飞书",
"dingtalk": "钉钉",
"line": "LINE",
"qq": "QQ",
"onebot": "OneBot",
"wecom": "企业微信",
"whatsapp": "WhatsApp",
"whatsapp_native": "WhatsApp Native",
"pico": "Web",
"maixcam": "MaixCam",
"matrix": "Matrix",
"irc": "IRC",
"weixin": "微信"
},
"weixin": {
"bindTitle": "微信账号绑定",
"bindDesc": "使用微信扫描二维码以绑定您的个人微信账号。",
"bind": "绑定微信",
"rebind": "重新绑定",
"bound": "微信已绑定",
"notBound": "尚未绑定微信账号。",
"generating": "正在生成二维码...",
"scanHint": "打开微信,扫描二维码",
"scanned": "已扫码 — 请在微信中确认",
"expired": "二维码已过期",
"retry": "重试",
"refresh": "刷新二维码",
"errorGeneric": "发生错误,请重试。"
},
"wecom": {
"bindTitle": "企业微信绑定",
"bindDesc": "使用企业微信扫描二维码以绑定您的 AI Bot。",
"bind": "绑定企业微信",
"rebind": "重新绑定",
"bound": "企业微信已绑定",
"notBound": "尚未绑定企业微信 AI Bot。",
"generating": "正在生成二维码...",
"scanHint": "打开企业微信,扫描二维码",
"scanned": "已扫码,请在企业微信中确认",
"expired": "二维码已过期",
"retry": "重试",
"refresh": "刷新二维码",
"errorGeneric": "发生错误,请重试。"
},
"field": {
"token": "Bot Token",
"tokenPlaceholder": "输入 Bot Token",
"botToken": "Bot Token",
"appToken": "App Token",
"appId": "App ID",
"appSecret": "App Secret",
"verificationToken": "Verification Token",
"encryptKey": "Encrypt Key",
"baseUrl": "API Base URL",
"proxy": "HTTP 代理",
"mentionOnly": "仅提及时响应",
"typingEnabled": "输入中提示",
"placeholderEnabled": "占位消息",
"placeholderText": "占位文案",
"groupTriggerMentionOnly": "群聊仅提及时响应",
"groupTriggerPrefixes": "群聊触发前缀",
"isLark": "Lark国际版",
"allowFrom": "允许来源",
"allowFromPlaceholder": "例如 123456, 789012",
"allowOrigins": "允许来源域名",
"allowOriginsPlaceholder": "例如 https://example.com, http://localhost:5173",
"secretPlaceholder": "输入密钥",
"secretHintSet": "配置已保存,留空表示不修改"
},
"page": {
"notFound": "不支持频道“{{name}}”。",
"saveSuccess": "频道配置已保存。",
"saveError": "保存频道配置失败",
"docLink": "配置文档",
"enableLabel": "启用频道",
"restartRequiredTitle": "需要重启服务",
"restartRequiredDesc": "{{name}} 的最新配置已保存。重启服务后才能正式生效。"
},
"form": {
"desc": {
"token": "机器人访问令牌,用于连接平台 API",
"botToken": "Bot Token用于发送与接收消息",
"appToken": "App Token用于 Socket 模式连接。",
"appId": "应用唯一标识,用于平台鉴权",
"appSecret": "应用密钥,用于请求签名和鉴权",
"verificationToken": "事件回调验证令牌",
"encryptKey": "消息加密密钥,用于解密回调内容",
"baseUrl": "平台 API 地址,默认使用官方地址",
"proxy": "HTTP 代理地址,用于网络访问",
"mentionOnly": "在群聊中仅当明确提及时才响应",
"typingEnabled": "在生成回复时显示“正在输入”状态",
"placeholderEnabled": "在最终回复发送前,先发送临时占位消息",
"groupTriggerMentionOnly": "在群聊中仅当提及机器人时才响应",
"groupTriggerPrefixes": "群聊触发前缀,多个值用逗号分隔",
"isLark": "使用 Lark 国际版域名open.larksuite.com替代飞书域名open.feishu.cn",
"allowFrom": "允许访问的用户或群组 ID多个值用逗号分隔",
"allowOrigins": "允许访问的来源域名,多个值用逗号分隔",
"wsUrl": "WebSocket 服务地址",
"reconnectInterval": "断线后的重连间隔(秒)",
"bridgeUrl": "桥接服务地址",
"sessionStorePath": "本地会话存储目录路径",
"useNative": "是否使用原生客户端模式连接",
"host": "服务监听主机地址",
"port": "服务监听端口",
"homeserver": "Matrix homeserver 地址",
"userId": "账号 ID",
"deviceId": "设备 ID",
"joinOnInvite": "收到邀请时是否自动加入房间",
"clientId": "应用客户端 ID用于平台鉴权",
"corpId": "企业 ID",
"agentId": "企业应用 Agent ID",
"webhookUrl": "Webhook 完整地址",
"webhookHost": "Webhook 监听主机",
"webhookPort": "Webhook 监听端口",
"webhookPath": "Webhook 路径",
"replyTimeout": "回复超时时间(秒)",
"maxSteps": "最大步骤数",
"welcomeMessage": "新会话欢迎语内容",
"allowTokenQuery": "是否允许 URL Query 方式传递 Token",
"pingInterval": "连接心跳间隔(秒)",
"readTimeout": "读取超时时间(秒)",
"writeTimeout": "写入超时时间(秒)",
"maxConnections": "最大并发连接数",
"server": "IRC 服务器地址",
"tls": "是否启用 TLS 连接",
"nick": "机器人昵称",
"user": "IRC 用户名",
"realName": "显示名称",
"channels": "要加入的 IRC 频道列表",
"requestCaps": "连接时请求的 IRC 扩展能力列表",
"maxBase64FileSizeMiB": "本地文件转为 base64 上传的最大体积,单位 MiB0 表示不限制,仅影响本地文件,不影响 URL 直传",
"genericField": "用于配置{{field}}"
}
},
"validation": {
"requiredField": "请填写该字段"
}
},
"pages": {
"agent": {
"load_error": "加载 Agent 支持信息失败。",
"skills": {
"empty": "当前没有可用技能。",
"install_success": "已安装 {{name}}。",
"install_error": "安装技能失败。",
"search_placeholder": "按名称、描述或技能源搜索",
"source_label": "类型",
"sort_label": "排序",
"import": "导入技能",
"import_success": "技能导入成功。",
"import_error": "导入技能失败。",
"import_invalid_type": "仅支持导入 Markdown 或 ZIP 技能文件。",
"import_invalid_size": "技能文件大小不能超过 1 MB。",
"import_constraints": "支持导入最大 1 MB 的 Markdown 或 ZIP 文件",
"view": "查看",
"delete": "删除",
"delete_title": "删除技能?",
"delete_description": "将从工作区技能中移除「{{name}}」。",
"delete_confirm": "删除",
"delete_success": "技能已删除。",
"delete_error": "删除技能失败。",
"viewer_title": "技能内容",
"viewer_description": "这里展示当前生效的 SKILL.md 内容。",
"load_detail_error": "加载技能内容失败。",
"no_description": "未提供描述。",
"no_results": "没有技能匹配当前筛选条件。",
"dropzone_title": "导入到工作区",
"dropzone_description": "将技能文件拖到这里,或从本地选择一个文件。",
"dropzone_label": "将技能文件拖到这里",
"dropzone_active": "松开即可导入该技能",
"dropzone_release": "导入后会自动规范化内容,并保存到工作区技能目录。",
"marketplace_title": "安装技能",
"marketplace_description": "搜索第三方技能源,并将技能安装到当前工作区",
"marketplace_search_placeholder": "搜索 github、docker、database 等技能",
"marketplace_search_action": "搜索",
"marketplace_search_status": "搜索状态",
"marketplace_install_status": "安装状态",
"marketplace_notice_title": "安全提示",
"marketplace_notice_body": "搜索结果中的 skills 属于第三方内容。安装前请先确认作者、页面 URL、说明文档以及它要求执行的代码或使用的凭据是否可信。",
"marketplace_status_disabled": "当前未启用,请先在工具页启用对应工具。",
"marketplace_status_enable_hint": "请先在工具页启用相关工具。",
"marketplace_search_error": "搜索技能源失败。",
"marketplace_loading_results": "正在搜索技能...",
"marketplace_loading_more": "正在加载更多技能...",
"marketplace_results_title": "“{{query}}” 共找到 {{count}} 个结果",
"marketplace_results_hint": "搜索结果会安装到当前工作区。",
"marketplace_install_action": "安装",
"marketplace_installed": "已安装",
"marketplace_view_installed": "查看本地技能",
"marketplace_installed_hint": "该技能已在当前工作区中可用,名称为「{{name}}」。",
"marketplace_empty_results": "没有找到与“{{query}}”匹配的可安装技能。",
"marketplace_idle": "输入一个关键词,搜索可安装的第三方技能。",
"marketplace_unavailable": "当前无法使用技能搜索,请检查 Skills 相关工具配置。",
"sort": {
"name_asc": "名称A-Z",
"name_desc": "名称Z-A",
"source": "按类型"
},
"origin": {
"all": "全部类型",
"builtin": "内置",
"third_party": "第三方",
"manual": "手动导入"
},
"summary": {
"total": "技能总数"
},
"detail_tabs": {
"preview": "预览",
"raw": "原始内容",
"meta": "元数据"
},
"metadata": {
"name": "名称",
"description": "描述",
"registry": "来源平台",
"url": "链接地址",
"version": "已安装版本",
"lines": "行数",
"characters": "字符数"
},
"marketplace_installDisabled": {
"installing": "正在安装...",
"installed": "已安装",
"cannotInstall": "无法安装:相关工具未启用"
}
},
"tools": {
"search_placeholder": "搜索工具...",
"no_results": "没有找到符合条件的工具",
"filter": {
"all": "所有状态",
"enabled": "已启用",
"disabled": "已禁用",
"blocked": "被阻塞"
},
"empty": "当前没有可用工具。",
"enable_success": "工具已启用。",
"disable_success": "工具已禁用。",
"toggle_error": "更新工具状态失败。",
"library_title": "工具库",
"library_description": "浏览并管理由您的 AI 智能体支持的集成工具。",
"web_search": {
"title": "网页搜索",
"description": "为智能体提供网页搜索能力。自动路由到当前处于激活状态的最佳服务。",
"global_settings": "常规",
"providers_config": "集成",
"load_error": "加载 Web Search 配置失败。",
"save": "保存更改",
"save_success": "设置保存成功。",
"save_error": "保存设置失败。",
"current_active": "活动: ",
"current_service": "当前服务",
"provider": "首选服务",
"provider_description": "选择智能体在默认情况下进行网络搜索的回退引擎。",
"proxy": "HTTPS 代理",
"proxy_description": "用于底层网页请求的可选全局代理配置。",
"prefer_native": "优先使用模型搜索",
"prefer_native_hint": "如果当前模型本身支持联网功能,则直接使用模型自带的搜索能力",
"provider_hint": "启用该服务后,可继续填写所需的连接参数。",
"max_results": "最大获取结果数",
"base_url": "API 请求地址",
"base_url_placeholder": "可选,如果需要代理请覆盖终端地址",
"api_key": "API 密钥 (Token)",
"api_key_placeholder": "请输入密钥,留空则保持原密钥不变",
"none": "未配置"
},
"status": {
"enabled": "已启用",
"disabled": "已禁用",
"blocked": "被阻塞"
},
"categories": {
"automation": "自动化",
"filesystem": "文件系统",
"web": "网页",
"communication": "通信",
"skills": "技能",
"agents": "Agent",
"hardware": "硬件",
"discovery": "发现"
},
"reasons": {
"requires_linux": "该工具仅在 Linux 主机上可用,并且需要暴露对应的设备文件。",
"requires_skills": "需要先启用 `tools.skills`,该技能注册表工具才能使用。",
"requires_subagent": "需要先启用 `tools.subagent``spawn` 才能委派任务。",
"requires_mcp_discovery": "需要先启用 `tools.mcp.discovery`MCP 发现工具才会可用。"
}
}
},
"config": {
"load_error": "加载配置失败,请刷新后重试",
"workspace": "工作目录",
"workspace_hint": "智能体执行文件读写操作时使用的基础目录",
"restrict_workspace": "限制工作目录访问",
"restrict_workspace_hint": "仅允许在工作目录内执行文件操作",
"split_on_marker": "连续短消息",
"split_on_marker_hint": "像真人聊天一样,把长难句拆成多条短消息快速发出",
"tool_feedback_enabled": "工具反馈",
"tool_feedback_enabled_hint": "在每次执行工具前,先向当前会话发送一条简短的工具调用预览",
"tool_feedback_max_args_length": "工具反馈参数预览长度",
"tool_feedback_max_args_length_hint": "每条工具反馈消息中展示的参数字符上限。设为 0 时使用默认值",
"exec_enabled": "允许命令执行",
"exec_enabled_hint": "控制应用是否允许执行命令。关闭后,所有命令请求都不会执行",
"allow_remote": "允许远程命令执行",
"allow_remote_hint": "开启后,来自远程会话或非本地上下文的请求也可以执行命令;关闭后,仅允许本地安全上下文执行命令",
"enable_deny_patterns": "启用黑名单",
"enable_deny_patterns_hint": "开启后,应用会拦截匹配内置危险模式以及下方自定义命令黑名单的命令",
"exec_timeout_seconds": "命令超时(秒)",
"exec_timeout_seconds_hint": "命令请求的最长运行时间。设置为 0 表示使用默认超时",
"custom_deny_patterns": "命令黑名单",
"custom_deny_patterns_hint": "用于补充额外的命令拦截规则,每行一个正则表达式。命中任意一条规则的命令都会被阻止",
"custom_allow_patterns": "命令白名单",
"custom_allow_patterns_hint": "用于补充额外的命令放行规则,每行一个正则表达式。命中任意一条规则的命令会跳过黑名单检查,但仍受其他安全限制约束",
"custom_patterns_placeholder": "^rm\\s+-rf\\b\n^git\\s+push\\b",
"pattern_detector_title": "规则检测工具",
"pattern_detector_hint": "输入命令以检测其是否匹配黑名单或白名单规则",
"pattern_detector_input_placeholder": "输入要检测的命令,例如 rm -rf /tmp",
"pattern_detector_test_button": "检测",
"pattern_detector_result_allowed": "允许(匹配白名单)",
"pattern_detector_result_blocked": "阻止(匹配黑名单)",
"pattern_detector_result_no_match": "无匹配(将使用默认规则)",
"allow_shell_execution": "允许定时任务运行命令",
"allow_shell_execution_hint": "开启后,定时任务默认允许运行命令。关闭后,必须显式传入 command_confirm=true 才能创建运行命令的定时任务",
"cron_exec_timeout": "定时命令超时(分钟)",
"cron_exec_timeout_hint": "定时任务中命令的最长运行时间。设置为 0 表示不限制超时",
"max_tokens": "最大 Token 数",
"max_tokens_hint": "单次模型响应允许的最大 Token 数",
"context_window": "上下文窗口",
"context_window_hint": "模型输入上下文容量Token 数)。留空使用默认值(最大 Token 数的 4 倍)",
"max_tool_iterations": "最大工具迭代次数",
"max_tool_iterations_hint": "单个任务中允许的工具调用循环上限",
"summarize_threshold": "触发摘要的消息阈值",
"summarize_threshold_hint": "消息数量达到该值后开始触发摘要",
"summarize_token_percent": "摘要目标 Token 百分比",
"summarize_token_percent_hint": "在触发会话摘要时使用",
"session_scope": "会话隔离范围",
"session_scope_hint": "定义不同用户/频道之间如何隔离会话上下文",
"session_scope_per_channel_peer": "按频道+用户隔离",
"session_scope_per_channel_peer_desc": "同一频道内不同用户使用独立上下文",
"session_scope_per_channel": "按频道隔离",
"session_scope_per_channel_desc": "同一频道内共享一个上下文",
"session_scope_per_peer": "按用户隔离",
"session_scope_per_peer_desc": "同一用户跨频道共享一个上下文",
"session_scope_global": "全局共享",
"session_scope_global_desc": "所有消息共用一个全局上下文",
"heartbeat_enabled": "心跳开关",
"heartbeat_enabled_hint": "按间隔发送系统心跳",
"heartbeat_interval": "心跳间隔(分钟)",
"heartbeat_interval_hint": "两次心跳发送之间的分钟间隔",
"devices_enabled": "启用设备功能",
"devices_enabled_hint": "启用与本机硬件设备相关的能力",
"monitor_usb": "监听 USB",
"monitor_usb_hint": "在启用设备功能时,监听 USB 插拔事件",
"autostart_label": "开机自启",
"autostart_hint": "登录系统后自动启动 PicoClaw Web",
"autostart_unsupported": "当前平台不支持开机自启",
"autostart_load_error": "加载开机自启状态失败",
"server_port": "服务端口",
"server_port_hint": "PicoClaw Web 的 HTTP 监听端口",
"launcher_token": "登录令牌",
"launcher_token_section_hint": "此分组中的改动需要在重启 launcher 后生效",
"launcher_token_hint": "用于在 launcher 登录页进行登录",
"launcher_token_placeholder": "输入登录令牌",
"lan_access": "启用局域网访问",
"lan_access_hint": "允许局域网中的其他设备访问当前服务",
"allowed_cidrs": "允许访问网段",
"allowed_cidrs_hint": "仅允许这些 CIDR 网段的客户端访问服务。可按行或逗号分隔;留空表示允许所有来源",
"allowed_cidrs_placeholder": "192.168.1.0/24\n10.0.0.0/8",
"sections": {
"agent": "智能体",
"runtime": "运行时",
"exec": "运行命令",
"cron": "定时任务",
"launcher": "启动器",
"devices": "设备"
},
"open_raw": "原始配置",
"back_to_visual": "可视化配置",
"raw_json_title": "原始 JSON 配置",
"json_placeholder": "请输入有效的 JSON 配置...",
"save_success": "配置保存成功",
"save_error": "配置保存失败",
"reset_confirm_title": "重置更改",
"reset_confirm_desc": "您确定要重置回上次保存的状态吗?",
"reset_success": "更改已重置为上次保存的状态",
"invalid_json": "JSON 格式无效",
"format_success": "JSON 格式化成功",
"format_error": "JSON 格式无效",
"format": "格式化",
"unsaved_changes": "您有未保存的更改"
},
"logs": {
"log_level_error": "更新日志等级失败。",
"clear": "清空日志",
"empty": "等待日志中..."
}
},
"tour": {
"skip": "跳过引导",
"prev": "上一步",
"next": "下一步",
"finish": "完成",
"welcome": {
"title": "欢迎使用 PicoClaw",
"description": "PicoClaw 是一个强大的 AI 助手平台。让我们花几秒钟时间,帮您完成基础配置。"
},
"models": {
"title": "配置模型",
"description": "点击左侧「模型」菜单,为 AI 服务商配置 API Key。只有配置好的模型才能用于对话。"
},
"gateway": {
"title": "启动服务",
"description": "配置好模型后,点击顶部的「启动服务」按钮,即可开始与 AI 对话。"
},
"docs": {
"title": "查看文档",
"description": "需要更多帮助?点击右上角的文档按钮,查看详细的使用文档和配置指南。"
}
}
}