mirror of
https://github.com/lobehub/lobehub
synced 2026-04-21 09:37:28 +00:00
* ♻️ refactor(acp): move agent provider to agencyConfig + restore creation entry - Move AgentProviderConfig from chatConfig to agencyConfig.heterogeneousProvider - Rename type from 'acp' to 'claudecode' for clarity - Restore Claude Code agent creation entry in sidebar + menu - Prioritize heterogeneousProvider check over gateway mode in execution flow - Remove ACP settings from AgentChat form (provider is set at creation time) - Add getAgencyConfigById selector for cleaner access - Use existing agent workingDirectory instead of duplicating in provider config Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> ✨ feat(acp): defer terminal events + extract model/usage per turn Three improvements to ACP stream handling: 1. Defer agent_runtime_end/error: Previously the adapter emitted terminal events from result.type directly into the Gateway handler. The handler immediately fires fetchAndReplaceMessages which reads stale DB state (before we persist final content/tools). Fix: intercept terminal events in the executor's event loop and forward them only AFTER content + metadata has been written to DB. 2. Extract model/usage per assistant event: Claude Code sets model name and token usage on every assistant event. Adapter now emits a 'step_complete' event with phase='turn_metadata' carrying these. Executor accumulates input/output/cache tokens across turns and persists them onto the assistant message (model + metadata.totalTokens). 3. Missing final text fix: The accumulated assistant text was being written AFTER agent_runtime_end triggered fetchAndReplaceMessages, so the UI rendered stale (empty) content. Deferred terminals solve this. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> 🐛 fix(acp): eliminate orphan-tool warning flicker during streaming Root cause: LobeHub's conversation-flow parser (collectToolMessages) filters tool messages by matching `tool_call_id` against `assistant.tools[].id`. The previous flow created tool messages FIRST, then updated assistant.tools[], which opened a brief window where the UI saw tool messages that had no matching entry in the parent's tools array — rendering them as "orphan" with a scary "请删除" warning to the user. Fix: Reorder persistNewToolCalls into three phases: 1. Pre-register tool entries in assistant.tools[] (id only, no result_msg_id) 2. Create the tool messages in DB (tool_call_id matches pre-registered ids) 3. Back-fill result_msg_id and re-write assistant.tools[] Between phase 1 and phase 3 the UI always sees consistent state: every tool message in DB has a matching entry in the parent's tools array. Verified: orphan count stays at 0 across all sampled timepoints during streaming (vs 1+ before fix). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> 🐛 fix(acp): dedupe tool_use + capture tool_result + persist result_msg_id Three critical fixes to ACP tool-call handling, discovered via live testing: 1. **tool_use dedupe** — Claude Code stream-json previously produced 15+ duplicate tool messages per tool_call_id. The adapter now tracks emitted ids so each tool_use → exactly one tool message. 2. **tool_result content capture** — tool_result blocks live in `type: 'user'` events in Claude Code's stream-json, not in assistant events. The adapter now handles the 'user' event type and emits a new `tool_result` HeterogeneousAgentEvent which the executor consumes to call messageService.updateToolMessage() with the actual result content. Previously all tool messages had empty content. 3. **result_msg_id on assistant.tools[]** — LobeHub's parse() step links tool messages to their parent assistant turn via tools[].result_msg_id. Without it, the UI renders orphan-message warnings. The executor now captures the tool message id returned by messageService.createMessage and writes it back into the assistant.tools[] JSONB. Also adds vitest config + 9 unit tests for the adapter covering lifecycle, content mapping, and tool_result handling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> ✨ feat(acp): integrate external AI agents via ACP protocol Adds support for connecting external AI agents (Claude Code and future agents like Codex, Kimi CLI) into LobeHub Desktop via a new heterogeneous agent layer that adapts agent-specific protocols to the unified Gateway event stream. Architecture: - New @lobechat/heterogeneous-agents package: pluggable adapters that convert agent-specific outputs to AgentStreamEvent - AcpCtr (Electron main): agent-agnostic process manager with CLI presets registry, broadcasts raw stdout lines to renderer - acpExecutor (renderer): subscribes to broadcasts, runs events through adapter, feeds into existing createGatewayEventHandler - Tool call persistence: creates role='tool' messages via messageService before emitting tool_start/tool_end to the handler Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: rename acpExecutor to heterogeneousAgentExecutor - Rename file acpExecutor.ts → heterogeneousAgentExecutor.ts - Rename ACPExecutorParams → HeterogeneousAgentExecutorParams - Rename executeACPAgent → executeHeterogeneousAgent - Change operation type from execAgentRuntime to execHeterogeneousAgent - Change operation label to "Heterogeneous Agent Execution" - Change error type from ACPError to HeterogeneousAgentError - Rename acpData/acpContext variables to heteroData/heteroContext Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: rename AcpCtr and acp service to heterogeneousAgent Desktop side: - AcpCtr.ts → HeterogeneousAgentCtr.ts - groupName 'acp' → 'heterogeneousAgent' - IPC channels: acpRawLine → heteroAgentRawLine, etc. Renderer side: - services/electron/acp.ts → heterogeneousAgent.ts - ACPService → HeterogeneousAgentService - acpService → heterogeneousAgentService - Update all IPC channel references in executor Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🔧 chore: switch CC permission mode to bypassPermissions Use bypassPermissions to allow Bash and other tool execution. Previously acceptEdits only allowed file edits, causing Bash tool calls to fail during CC execution. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: don't fallback activeAgentId to empty string in AgentIdSync Empty string '' causes chat store to have a truthy but invalid activeAgentId, breaking message routing. Pass undefined instead. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: use AI_RUNTIME_OPERATION_TYPES for loading and cancel states stopGenerateMessage and cancelOperation were hardcoding ['execAgentRuntime', 'execServerAgentRuntime'], missing execHeterogeneousAgent. This caused: - CC execution couldn't be cancelled via stop button - isAborting flag wasn't set for heterogeneous agent operations Now uses AI_RUNTIME_OPERATION_TYPES constant everywhere to ensure all AI runtime operation types are handled consistently. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: split multi-step CC execution into separate assistant messages Claude Code's multi-turn execution (thinking → tool → final text) was accumulating everything onto a single assistant message, causing the final text response to appear inside the tool call message. Changes: - ClaudeCodeAdapter: detect message.id changes and emit stream_end + stream_start with newStep flag at step boundaries - heterogeneousAgentExecutor: on newStep stream_start, persist previous step's content, create a new assistant message, reset accumulators, and forward the new message ID to the gateway handler This ensures each LLM turn gets its own assistant message, matching how Gateway mode handles multi-step agent execution. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: fix multi-step CC execution and add DB persistence tests Adapter fixes: - Fix false step boundary on first assistant after init (ghost empty message) Executor fixes: - Fix parentId chain: new-step assistant points to last tool message - Fix content contamination: sync snapshot of content accumulators on step boundary - Fix type errors (import path, ChatToolPayload casts, sessionId guard) Tests: - Add ClaudeCodeAdapter unit tests (multi-step, usage, flush, edge cases) - Add ClaudeCodeAdapter E2E test (full multi-step session simulation) - Add registry tests - Add executor DB persistence tests covering: - Tool 3-phase write (pre-register → create → backfill) - Tool result content + error persistence - Multi-step parentId chain (assistant → tool → assistant) - Final content/reasoning/model/usage writes - Sync snapshot preventing cross-step contamination - Error handling with partial content persistence - Full multi-step E2E (Read → Write → text) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🔧 chore: add orphan tool regression tests and debug trace - Add orphan tool regression tests for multi-turn tool execution - Add __HETERO_AGENT_TRACE debug instrumentation for event flow capture Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: support image attachments in CC via stream-json stdin - Main process downloads files by ID from cloud (GET {domain}/f/{fileId}) - Local disk cache at lobehub-storage/heteroAgent/files/ (by fileId) - When fileIds present, switches to --input-format stream-json + stdin pipe - Constructs user message with text + image content blocks (base64) - Pass fileIds through executor → service → IPC → controller Closes LOBE-7254 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: pass imageList instead of fileIds for CC vision support - Use imageList (with url) instead of fileIds — Main downloads from URL directly - Cache by image id at lobehub-storage/heteroAgent/files/ - Only images (not arbitrary files) are sent to CC via stream-json stdin Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: read imageList from persisted DB message instead of chatUploadFileList chatUploadFileList is cleared after sendMessageInServer, so tempImages was empty by the time the executor ran. Now reads imageList from the persisted user message in heteroData.messages instead. Also removes debug console.log/console.error statements. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * update i18n * 🐛 fix: prevent orphan tool UI by deferring handler events during step transition Root cause: when a CC step boundary occurs, the adapter produces [stream_end, stream_start(newStep), stream_chunk(tools_calling)] in one batch. The executor deferred stream_start via persistQueue but forwarded stream_chunk synchronously — handler received tools_calling BEFORE stream_start, dispatching tools to the OLD assistant message → UI showed orphan tool warning. Fix: add pendingStepTransition flag that defers ALL handler-bound events through persistQueue until stream_start is forwarded, guaranteeing correct event ordering. Also adds: - Minimal regression test in gatewayEventHandler confirming correct ordering - Multi-tool per turn regression test from real LOBE-7240 trace - Data-driven regression replaying 133 real CC events from regression.json Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add lab toggle for heterogeneous agent (Claude Code) - Add enableHeterogeneousAgent to UserLabSchema + defaults (off by default) - Add selector + settings UI toggle (desktop only) - Gate "Claude Code Agent" sidebar menu item behind the lab setting - Remove regression.json (no longer needed) - Add i18n keys for the lab feature Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: gate heterogeneous agent execution behind isDesktop check Without this, web users with an agent that has heterogeneousProvider config would hit the CC execution path and fail (no Electron IPC). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: rename tool identifier from acp-agent to claude-code Also update operation label to "External agent running". Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add CLI agent detectors for system tools settings Detect agentic coding CLIs installed on the system: - Claude Code, Codex, Gemini CLI, Qwen Code, Kimi CLI, Aider - Uses validated detection (which + --version keyword matching) - New "CLI Agents" category in System Tools settings - i18n for en-US and zh-CN Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: fix token usage over-counting in CC execution Two bugs fixed: 1. Adapter: same message.id emitted duplicate step_complete(turn_metadata) for each content block (thinking/text/tool_use) — all carry identical usage. Now deduped by message.id, only emits once per turn. 2. Executor: CC result event contains authoritative session-wide usage totals but was ignored. Now adapter emits step_complete(result_usage) from the result event, executor uses it to override accumulated values. Fixes LOBE-7261 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🔧 chore: gitignore cc-stream.json and .heterogeneous-tracing/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🔧 chore: untrack .heerogeneous-tracing/ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: wire CC session resume for multi-turn conversations Reads `ccSessionId` from topic metadata and passes it as `resumeSessionId` into the heterogeneous-agent executor, which forwards it into the Electron main-process controller. `sendPrompt` then appends `--resume <id>` so the next turn continues the same Claude Code session instead of starting fresh. After each run, the CC init-event session_id (captured by the adapter) is persisted back onto the topic so the chain survives page reloads. Also stops killing the session in `finally` — it needs to stay alive for subsequent turns; cleanup happens on topic deletion or app quit. * 🐛 fix: record cache token breakdown in CC execution metadata The prior token-usage fix only wrote totals — `inputCachedTokens`, `inputWriteCacheTokens` and `inputCacheMissTokens` were dropped, so the pricing card rendered zero cached/write-cache tokens even though CC had reported them. Map the accumulated Anthropic-shape usage to the same breakdown the anthropic usage converter emits, so CC turns display consistently with Gateway turns. Refs LOBE-7261 * ♻️ refactor: write CC usage under metadata.usage instead of flat fields Flat `inputCachedTokens / totalInputTokens / ...` on `MessageMetadata` are the legacy shape; new code should put usage under `metadata.usage`. Move the CC executor to the nested shape so it matches the convention the rest of the runtime is migrating to. Refs LOBE-7261 * ♻️ refactor(types): mark flat usage fields on MessageMetadata as deprecated Stop extending `ModelUsage` and redeclare each token field inline with a `@deprecated` JSDoc pointing to `metadata.usage` (nested). Existing readers still type-check, but IDEs now surface the deprecation so writers migrate to the nested shape. * ♻️ refactor(types): mark flat performance fields on MessageMetadata as deprecated Stop extending `ModelPerformance` and redeclare `duration` / `latency` / `tps` / `ttft` inline with `@deprecated`, pointing at `metadata.performance`. Mirrors the same treatment just done for the token usage fields. * ✨ feat: CC agent gets claude avatar + lands on chat page directly Skip the shared createAgent hook's /profile redirect for the Claude Code variant — its config is fixed so the profile editor would be noise — and preseed the Claude avatar from @lobehub/icons-static-avatar so new CC agents aren't blank. * 🐛 fix(conversation-flow): read usage/performance from nested metadata `splitMetadata` only scraped the legacy flat token/perf fields, so messages written under the new canonical shape (`metadata.usage`, `metadata.performance`) never populated `UIChatMessage.usage` and the Extras panel rendered blank. - Prefer nested `metadata.usage` / `metadata.performance` when present; keep flat scraping as fallback for pre-migration rows. - Add `usage` / `performance` to FlatListBuilder's filter sets so the nested blobs don't leak into `otherMetadata`. - Drop the stale `usage! || metadata` fallback in the Assistant / CouncilMember Extra renders — with splitMetadata fixed, `item.usage` is always populated when usage data exists, and passing raw metadata as ModelUsage is wrong now that the flat fields are gone. * 🐛 fix: skip stores.reset on initial dataSyncConfig hydration `useDataSyncConfig`'s SWR onSuccess called `refreshUserData` (which runs `stores.reset()`) whenever the freshly-fetched config didn't deep-equal the hard-coded initial `{ storageMode: 'cloud' }` — which happens on every first load. The reset would wipe `chat.activeAgentId` just after `AgentIdSync` set it from the URL, and because `AgentIdSync`'s sync effects are keyed on `params.aid` (which hasn't changed), they never re-fire to restore it. Result: topic SWR saw `activeAgentId === ''`, treated the container as invalid, and left the sidebar stuck on the loading skeleton. Gate the reset on `isInitRemoteServerConfig` so it only runs when the user actually switches sync modes, not on the first hydration. * ✨ feat(claude-code): wire Inspector layer for CC tool calls Mirrors local-system: each CC tool now has an inspector rendered above the tool-call output instead of an opaque default row. - `Inspector.tsx` — registry that passes the CC tool name itself as the shared factories' `translationKey`. react-i18next's missing-key fallback surfaces the literal name (Bash / Edit / Glob / Grep / Read / Write), so we don't add CC-specific entries to the plugin locale. - `ReadInspector.tsx` / `WriteInspector.tsx` — thin adapters that map Anthropic-native args (`file_path` / `offset` / `limit`) onto the shared inspectors' shape (`path` / `startLine` / `endLine`), so shared stays pure. Bash / Edit / Glob / Grep reuse shared factories directly. - Register `ClaudeCodeInspectors` under `claude-code` in the builtin-tools inspector dispatch. Also drops the redundant `Render/Bash/index.tsx` wrapper and pipes the shared `RunCommandRender` straight into the registry. * ♻️ refactor: use agentSelectors.isCurrentAgentHeterogeneous Two callsites (ConversationArea / useActionsBarConfig) were reaching into `currentAgentConfig(...)?.agencyConfig?.heterogeneousProvider` inline. Switch them to the existing `isCurrentAgentHeterogeneous` selector so the predicate lives in one place. * update * ♻️ refactor: drop no-op useCallback wrapper in AgentChat form `handleFinish` just called `updateConfig(values)` with no extra logic; the zustand action is already a stable reference so the wrapper added no memoization value. Leftover from the ACP refactor (930ba41fe3) where the handler once did more work — hand the action straight to `onFinish`. * update * ⏪ revert: roll back conversation-flow nested-shape reads Unwind the `splitMetadata` nested-preference + `FlatListBuilder` filter additions from 306fd6561f. The nested `metadata.usage` / `metadata.performance` promotion now happens in `parse.ts` (and a `?? metadata?.usage` fallback at the UI callsites), so conversation-flow's transformer layer goes back to its original flat-field-only behavior. * update * 🐛 fix(cc): wire Stop to cancel the external Claude Code process Previously hitting Stop only flipped the `execHeterogeneousAgent` operation to `cancelled` in the store — the spawned `claude -p` process kept running and kept streaming/persisting output for the user. The op's abort signal had no listeners and no `onCancelHandler` was registered. - On session start, register an `onCancelHandler` that calls `heterogeneousAgentService.cancelSession(sessionId)` (SIGINT to the CLI). - Read the op's `abortController.signal` and short-circuit `onRawLine` so late events the CLI emits between SIGINT and exit don't leak into DB writes. - Skip the error-event forward in `onError` / the outer catch when the abort came from the user, so the UI doesn't surface a misleading error toast on top of the already-cancelled operation. Verified end-to-end: prompt that runs a long sequence of Reads → click Stop → `claude -p` process is gone within 2s, op status = cancelled, no error message written to the conversation. * ✨ feat(sidebar): mark heterogeneous agents with an "External" tag Pipes the agent's `agencyConfig.heterogeneousProvider.type` through the sidebar data flow and renders a `<Tag>` next to the title for any agent driven by an external CLI runtime (Claude Code today, more later). Mirrors the group-member External pattern so future provider types just need a label swap — the field is a string, not a boolean. - `SidebarAgentItem.heterogeneousType?: string | null` on the shared type - `HomeRepository.getSidebarAgentList` selects `agents.agencyConfig` and derives the field via `cleanObject` - `AgentItem` shows `<Tag>{t('group.profile.external')}</Tag>` when the field is present Verified client-side by injecting `heterogeneousType: 'claudecode'` into a sidebar item at runtime — the "外部" tag renders next to the title in the zh-CN locale. * ♻️ refactor(i18n): dedicated key for the sidebar external-agent tag Instead of reusing `group.profile.external` (which is about group members that are user-linked rather than virtual), add `agentSidebar.externalTag` specifically for the heterogeneous-runtime tag. Keeps the two concepts separate so we can swap this one to "Claude Code" / provider-specific labels later without touching the group UI copy. Remember to run `pnpm i18n` before the PR so the remaining locales pick up the new key. * 🐛 fix: clear remaining CI type errors Three small fixes so `tsgo --noEmit` exits clean: - `AgentIdSync`: `useChatStoreUpdater` is typed off the chat-store key, whose `activeAgentId` is `string` (initial ''). Coerce the optional URL param to `''` so the store key type matches; `createStoreUpdater` still skips the setState when the value is undefined-ish. - `heterogeneousAgentExecutor.test.ts`: `scope: 'session'` isn't a valid `MessageMapScope` (the union dropped that variant); switch the fixture to `'main'`, which is the correct scope for agent main conversations. - Same test file: `Array.at(-1)` is `T | undefined`; non-null assert since the preceding calls guarantee the slot is populated. * 🐛 fix: loosen createStoreUpdater signature to accept nullable values Upstream `createStoreUpdater` types `value` as exactly `T[Key]`, so any call site feeding an optional source (URL param, selector that may return undefined) fails type-check — even though the runtime already guards `typeof value !== 'undefined'` and no-ops in that case. Wrap it once in `store/utils/createStoreUpdater.ts` with a `T[Key] | null | undefined` value type so callers can pass `params.aid` directly, instead of the lossy `?? ''` fallback the previous commit used (which would have written an empty-string sentinel into the chat store). Swap the import in `AgentIdSync.tsx`. --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1046 lines
74 KiB
JSON
1046 lines
74 KiB
JSON
{
|
||
"_cloud.officialProvider": "{{name}} 官方模型服务",
|
||
"about.title": "关于",
|
||
"accountDeletion.cancelButton": "取消注销",
|
||
"accountDeletion.cancelConfirmTitle": "取消账号注销请求?",
|
||
"accountDeletion.cancelFailed": "取消注销请求失败",
|
||
"accountDeletion.cancelSuccess": "注销请求已取消",
|
||
"accountDeletion.confirmCheckbox": "我已阅读并理解上述内容,确认继续注销账号",
|
||
"accountDeletion.confirmContent": "提交后将进入 <0>72 小时</0>冷静期,期间您可以随时取消。冷静期结束后,您的账号数据将被永久删除,未支付的账单将立即取消,已支付的费用不予退还。您的注册及注销记录将被保留用于合规审计。",
|
||
"accountDeletion.confirmOk": "注销账号",
|
||
"accountDeletion.confirmRequired": "请确认您了解注销的后果",
|
||
"accountDeletion.confirmTitle": "确定要注销账号吗?",
|
||
"accountDeletion.desc": "永久删除您的账号及所有相关数据,此操作不可撤销。",
|
||
"accountDeletion.pendingDesc": "您的账号已被安排删除",
|
||
"accountDeletion.pendingMessage": "您的账号将于 {{hours}} 小时后删除",
|
||
"accountDeletion.reasonPlaceholder": "请告诉我们您为什么要注销账号...",
|
||
"accountDeletion.reasonRequired": "请填写注销原因",
|
||
"accountDeletion.requestButton": "申请注销账号",
|
||
"accountDeletion.requestFailed": "申请注销账号失败",
|
||
"accountDeletion.requestSuccess": "注销申请已提交",
|
||
"accountDeletion.sectionTitle": "账号注销",
|
||
"accountDeletion.title": "注销账号",
|
||
"advancedSettings": "进阶配置",
|
||
"agentCronJobs.addJob": "添加定时任务",
|
||
"agentCronJobs.clearTopics": "清除话题",
|
||
"agentCronJobs.clearTopicsFailed": "清除话题失败",
|
||
"agentCronJobs.confirmClearTopics": "确定要清除 {{count}} 个话题吗?",
|
||
"agentCronJobs.confirmDelete": "确定要删除此定时任务吗?",
|
||
"agentCronJobs.confirmDeleteCronJob": "确定要删除此定时任务吗?所有相关话题也将被删除。",
|
||
"agentCronJobs.content": "任务内容",
|
||
"agentCronJobs.create": "创建",
|
||
"agentCronJobs.createSuccess": "定时任务创建成功",
|
||
"agentCronJobs.deleteCronJob": "删除定时任务",
|
||
"agentCronJobs.deleteFailed": "删除定时任务失败",
|
||
"agentCronJobs.deleteJob": "删除任务",
|
||
"agentCronJobs.deleteSuccess": "定时任务删除成功",
|
||
"agentCronJobs.description": "通过定时执行自动化您的智能体",
|
||
"agentCronJobs.disable": "禁用",
|
||
"agentCronJobs.editJob": "编辑定时任务",
|
||
"agentCronJobs.empty.description": "创建您的第一个定时任务以实现智能体自动化",
|
||
"agentCronJobs.empty.title": "暂无定时任务",
|
||
"agentCronJobs.enable": "启用",
|
||
"agentCronJobs.form.at": "于",
|
||
"agentCronJobs.form.content.placeholder": "输入智能体的提示词或指令",
|
||
"agentCronJobs.form.every": "每",
|
||
"agentCronJobs.form.frequency": "执行频率",
|
||
"agentCronJobs.form.hours": "小时",
|
||
"agentCronJobs.form.maxExecutions": "执行",
|
||
"agentCronJobs.form.maxExecutions.placeholder": "留空表示无限次",
|
||
"agentCronJobs.form.name.placeholder": "输入任务名称",
|
||
"agentCronJobs.form.time": "时间",
|
||
"agentCronJobs.form.timeRange.end": "结束时间",
|
||
"agentCronJobs.form.timeRange.start": "开始时间",
|
||
"agentCronJobs.form.times": "次后停止",
|
||
"agentCronJobs.form.timezone": "时区",
|
||
"agentCronJobs.form.unlimited": "持续执行",
|
||
"agentCronJobs.form.validation.contentRequired": "任务内容不能为空",
|
||
"agentCronJobs.form.validation.invalidTimeRange": "开始时间必须早于结束时间",
|
||
"agentCronJobs.form.validation.nameRequired": "任务名称不能为空",
|
||
"agentCronJobs.interval.12hours": "每12小时",
|
||
"agentCronJobs.interval.1hour": "每小时",
|
||
"agentCronJobs.interval.30min": "每30分钟",
|
||
"agentCronJobs.interval.6hours": "每6小时",
|
||
"agentCronJobs.interval.daily": "每日",
|
||
"agentCronJobs.interval.weekly": "每周",
|
||
"agentCronJobs.lastExecuted": "上次执行时间",
|
||
"agentCronJobs.maxExecutions": "最大执行次数",
|
||
"agentCronJobs.name": "任务名称",
|
||
"agentCronJobs.never": "从未",
|
||
"agentCronJobs.noExecutionResults": "无执行结果",
|
||
"agentCronJobs.remainingExecutions": "剩余:{{count}}",
|
||
"agentCronJobs.save": "保存",
|
||
"agentCronJobs.saveAsNew": "另存为新任务",
|
||
"agentCronJobs.schedule": "计划",
|
||
"agentCronJobs.scheduleType.daily": "每日",
|
||
"agentCronJobs.scheduleType.hourly": "每小时",
|
||
"agentCronJobs.scheduleType.weekly": "每周",
|
||
"agentCronJobs.status.depleted": "已耗尽",
|
||
"agentCronJobs.status.disabled": "已禁用",
|
||
"agentCronJobs.status.enabled": "已启用",
|
||
"agentCronJobs.timeRange": "时间范围",
|
||
"agentCronJobs.title": "定时任务",
|
||
"agentCronJobs.unlimited": "无限",
|
||
"agentCronJobs.unnamedTask": "未命名任务",
|
||
"agentCronJobs.updateSuccess": "定时任务更新成功",
|
||
"agentCronJobs.weekday.friday": "星期五",
|
||
"agentCronJobs.weekday.monday": "星期一",
|
||
"agentCronJobs.weekday.saturday": "星期六",
|
||
"agentCronJobs.weekday.short.friday": "周五",
|
||
"agentCronJobs.weekday.short.monday": "周一",
|
||
"agentCronJobs.weekday.short.saturday": "周六",
|
||
"agentCronJobs.weekday.short.sunday": "周日",
|
||
"agentCronJobs.weekday.short.thursday": "周四",
|
||
"agentCronJobs.weekday.short.tuesday": "周二",
|
||
"agentCronJobs.weekday.short.wednesday": "周三",
|
||
"agentCronJobs.weekday.sunday": "星期日",
|
||
"agentCronJobs.weekday.thursday": "星期四",
|
||
"agentCronJobs.weekday.tuesday": "星期二",
|
||
"agentCronJobs.weekday.wednesday": "星期三",
|
||
"agentCronJobs.weekdays": "工作日",
|
||
"agentCronJobs.weekdays.fri": "周五",
|
||
"agentCronJobs.weekdays.mon": "周一",
|
||
"agentCronJobs.weekdays.sat": "周六",
|
||
"agentCronJobs.weekdays.sun": "周日",
|
||
"agentCronJobs.weekdays.thu": "周四",
|
||
"agentCronJobs.weekdays.tue": "周二",
|
||
"agentCronJobs.weekdays.wed": "周三",
|
||
"agentDocuments.columns.actions": "操作",
|
||
"agentDocuments.columns.document": "文档",
|
||
"agentDocuments.columns.template": "模板",
|
||
"agentDocuments.createSuccess": "已根据模板创建文档",
|
||
"agentDocuments.createWithTemplate": "使用此模板创建",
|
||
"agentDocuments.deleteConfirm": "要删除这份文档吗?",
|
||
"agentDocuments.deleteSuccess": "文档已删除",
|
||
"agentDocuments.desc": "管理当前助理的文档,并可通过模板创建起始文档。",
|
||
"agentDocuments.empty": "暂无文档",
|
||
"agentDocuments.overwriteConfirm.confirm": "覆盖并应用",
|
||
"agentDocuments.overwriteConfirm.more": "以及另外 {{count}} 个",
|
||
"agentDocuments.overwriteConfirm.summary": "应用 {{templateName}} 将创建 {{createCount}} 个新文档,并覆盖 {{overwriteCount}} 个现有文档。",
|
||
"agentDocuments.overwriteConfirm.title": "要覆盖现有文档吗?",
|
||
"agentDocuments.overwriteConfirm.warning": "同名文档将被替换。",
|
||
"agentDocuments.title": "助理文档",
|
||
"agentInfoDescription.basic.avatar": "头像",
|
||
"agentInfoDescription.basic.description": "描述",
|
||
"agentInfoDescription.basic.name": "名称",
|
||
"agentInfoDescription.basic.tags": "标签",
|
||
"agentInfoDescription.basic.title": "助理信息",
|
||
"agentInfoDescription.chat.enableHistoryCount": "启用历史消息计数",
|
||
"agentInfoDescription.chat.historyCount": "历史消息数量",
|
||
"agentInfoDescription.chat.no": "否",
|
||
"agentInfoDescription.chat.searchMode": "搜索模式",
|
||
"agentInfoDescription.chat.title": "对话偏好",
|
||
"agentInfoDescription.chat.yes": "是",
|
||
"agentInfoDescription.model.maxTokens": "最大 Token 数",
|
||
"agentInfoDescription.model.model": "模型",
|
||
"agentInfoDescription.model.provider": "模型服务商",
|
||
"agentInfoDescription.model.temperature": "温度",
|
||
"agentInfoDescription.model.title": "模型设置",
|
||
"agentInfoDescription.model.topP": "Top P 值",
|
||
"agentInfoDescription.plugins.count": "技能设置({{count}})",
|
||
"agentInfoDescription.plugins.empty": "尚未安装技能",
|
||
"agentInfoDescription.plugins.title": "已安装技能",
|
||
"agentInfoDescription.role.systemRole": "助理档案",
|
||
"agentInfoDescription.role.title": "助理档案",
|
||
"agentInfoDescription.value.unset": "未设置",
|
||
"agentInfoDescription.value.untitled": "未命名助理",
|
||
"agentSkillDetail.addedAt": "添加于",
|
||
"agentSkillDetail.publishedAt": "发布于",
|
||
"agentSkillDetail.repository": "GitHub 仓库地址",
|
||
"agentSkillDetail.skillContent": "技能内容",
|
||
"agentSkillDetail.sourceUrl": "Skill 导入路径",
|
||
"agentSkillDetail.updatedAt": "更新于",
|
||
"agentSkillEdit.descriptionDesc": "简要说明该技能的功能,帮助智能体判断何时使用该技能",
|
||
"agentSkillEdit.fileReadonly": "此文件仅供查看,只有技能描述和指令可以编辑。",
|
||
"agentSkillEdit.instructions": "指令",
|
||
"agentSkillEdit.instructionsDesc": "使用 Markdown 编写的核心指令,定义技能的行为和工作流程",
|
||
"agentSkillEdit.instructionsPlaceholder": "以 Markdown 格式输入技能指令...",
|
||
"agentSkillEdit.nameDesc": "该技能的唯一标识符,创建后不可修改",
|
||
"agentSkillEdit.saveSuccess": "技能更新成功",
|
||
"agentSkillEdit.title": "技能设置",
|
||
"agentSkillItem.deleteConfirm.desc": "确定要删除 Agent 技能「{{name}}」吗?此操作无法撤销。",
|
||
"agentSkillItem.deleteConfirm.title": "删除 Agent 技能",
|
||
"agentSkillModal.content": "技能内容",
|
||
"agentSkillModal.contentPlaceholder": "输入 Markdown 格式的技能内容...",
|
||
"agentSkillModal.description": "描述",
|
||
"agentSkillModal.descriptionPlaceholder": "简要描述该技能",
|
||
"agentSkillModal.github.desc": "粘贴公开 GitHub 仓库中技能目录的 URL,该目录下需包含 SKILL.md 文件。",
|
||
"agentSkillModal.github.title": "从 GitHub 导入",
|
||
"agentSkillModal.github.urlPlaceholder": "https://github.com/username/repo/tree/main/skills/my-skill",
|
||
"agentSkillModal.importError": "导入失败:{{error}}",
|
||
"agentSkillModal.importSuccess": "Agent 技能导入成功",
|
||
"agentSkillModal.upload.desc": "上传本地 .zip 或 .skill 文件以安装技能。",
|
||
"agentSkillModal.upload.dragText": "拖放或点击以上传",
|
||
"agentSkillModal.upload.requirementSkillMd": "SKILL.md 包含以 YAML 格式编写的技能名称和描述",
|
||
"agentSkillModal.upload.requirementZip": "根目录下包含 SKILL.md 文件的 .zip 或 .skill 文件",
|
||
"agentSkillModal.upload.requirements": "文件要求",
|
||
"agentSkillModal.upload.title": "上传技能",
|
||
"agentSkillModal.upload.uploading": "上传中...",
|
||
"agentSkillModal.url.desc": "通过提供 SKILL.md 文件的直接链接导入技能。",
|
||
"agentSkillModal.url.title": "从 URL 导入",
|
||
"agentSkillModal.url.urlPlaceholder": "https://example.com/path/to/SKILL.md",
|
||
"agentSkillTag": "Agent 技能",
|
||
"agentTab.chat": "对话偏好",
|
||
"agentTab.documents": "文档",
|
||
"agentTab.meta": "助理信息",
|
||
"agentTab.modal": "模型设置",
|
||
"agentTab.opening": "开场设置",
|
||
"agentTab.plugin": "技能设置",
|
||
"agentTab.prompt": "助理档案",
|
||
"agentTab.tts": "语音服务",
|
||
"analytics.telemetry.desc": "通过匿名使用数据帮助我们改进 {{appName}}",
|
||
"analytics.telemetry.title": "发送匿名使用数据",
|
||
"analytics.title": "数据统计",
|
||
"checking": "检查中…",
|
||
"checkingPermissions": "检查权限中…",
|
||
"creds.actions.delete": "删除",
|
||
"creds.actions.deleteConfirm.cancel": "取消",
|
||
"creds.actions.deleteConfirm.content": "此凭证将被永久删除,此操作无法撤销。",
|
||
"creds.actions.deleteConfirm.ok": "删除",
|
||
"creds.actions.deleteConfirm.title": "确定删除凭证?",
|
||
"creds.actions.edit": "编辑",
|
||
"creds.actions.view": "查看",
|
||
"creds.create": "新建凭证",
|
||
"creds.createModal.fillForm": "填写详情",
|
||
"creds.createModal.selectType": "选择类型",
|
||
"creds.createModal.title": "创建凭证",
|
||
"creds.edit.title": "编辑凭证",
|
||
"creds.empty": "暂无凭证配置",
|
||
"creds.file.authRequired": "请先登录 Market",
|
||
"creds.file.uploadFailed": "文件上传失败",
|
||
"creds.file.uploadSuccess": "文件上传成功",
|
||
"creds.file.uploading": "上传中...",
|
||
"creds.form.addPair": "添加键值对",
|
||
"creds.form.back": "返回",
|
||
"creds.form.cancel": "取消",
|
||
"creds.form.connectionRequired": "请选择一个 OAuth 连接",
|
||
"creds.form.description": "描述",
|
||
"creds.form.descriptionPlaceholder": "可选的凭证描述",
|
||
"creds.form.file": "凭证文件",
|
||
"creds.form.fileRequired": "请上传文件",
|
||
"creds.form.key": "标识符",
|
||
"creds.form.keyPattern": "标识符只能包含字母、数字、下划线和连字符",
|
||
"creds.form.keyRequired": "请输入标识符",
|
||
"creds.form.name": "显示名称",
|
||
"creds.form.nameRequired": "请输入显示名称",
|
||
"creds.form.save": "保存",
|
||
"creds.form.selectConnection": "选择 OAuth 连接",
|
||
"creds.form.selectConnectionPlaceholder": "选择已连接的账户",
|
||
"creds.form.selectedFile": "已选文件",
|
||
"creds.form.submit": "创建",
|
||
"creds.form.uploadDesc": "支持 JSON、PEM 等凭证文件格式",
|
||
"creds.form.uploadHint": "点击或拖拽文件上传",
|
||
"creds.form.valuePlaceholder": "输入值",
|
||
"creds.form.values": "键值对",
|
||
"creds.oauth.noConnections": "暂无可用的 OAuth 连接,请先连接账户。",
|
||
"creds.signIn": "登录 Market",
|
||
"creds.signInRequired": "请登录 Market 以管理您的凭证",
|
||
"creds.table.actions": "操作",
|
||
"creds.table.key": "标识符",
|
||
"creds.table.lastUsed": "上次使用",
|
||
"creds.table.name": "名称",
|
||
"creds.table.neverUsed": "从未使用",
|
||
"creds.table.preview": "预览",
|
||
"creds.table.type": "类型",
|
||
"creds.typeDesc.file": "上传服务账户或证书等凭证文件",
|
||
"creds.typeDesc.kv-env": "将 API 密钥和令牌存储为环境变量",
|
||
"creds.typeDesc.kv-header": "将授权值存储为 HTTP 请求头",
|
||
"creds.typeDesc.oauth": "关联已有的 OAuth 连接",
|
||
"creds.types.all": "全部",
|
||
"creds.types.file": "文件",
|
||
"creds.types.kv-env": "环境变量",
|
||
"creds.types.kv-header": "请求头",
|
||
"creds.types.oauth": "OAuth",
|
||
"creds.view.error": "加载凭证失败",
|
||
"creds.view.noValues": "无值",
|
||
"creds.view.oauthNote": "OAuth 凭证由连接的服务管理。",
|
||
"creds.view.title": "查看凭证:{{name}}",
|
||
"creds.view.values": "凭证值",
|
||
"creds.view.warning": "这些值是敏感信息,请勿与他人分享。",
|
||
"danger.clear.action": "立即清除",
|
||
"danger.clear.confirm": "确定要清除所有聊天数据吗?此操作无法撤销。",
|
||
"danger.clear.desc": "删除所有数据,包括智能体、文件、消息和技能。您的账户不会被删除。",
|
||
"danger.clear.success": "已清除所有会话消息",
|
||
"danger.clear.title": "清除数据",
|
||
"danger.reset.action": "立即重置",
|
||
"danger.reset.confirm": "确认重置所有设置吗?",
|
||
"danger.reset.currentVersion": "当前版本",
|
||
"danger.reset.desc": "恢复所有设置为默认值。您的数据不会被删除。",
|
||
"danger.reset.success": "已重置所有设置",
|
||
"danger.reset.title": "重置所有设置",
|
||
"defaultAgent.model.desc": "创建新助理时使用的默认模型",
|
||
"defaultAgent.model.title": "模型",
|
||
"defaultAgent.title": "默认助理设置",
|
||
"group.aiConfig": "智能体",
|
||
"group.common": "通用",
|
||
"group.profile": "账号",
|
||
"group.subscription": "套餐",
|
||
"group.system": "系统",
|
||
"groupTab.chat": "对话",
|
||
"groupTab.members": "成员",
|
||
"groupTab.meta": "基本信息",
|
||
"header.desc": "偏好与模型设置",
|
||
"header.global": "全局设置",
|
||
"header.group": "群组设置",
|
||
"header.groupDesc": "管理群组与对话偏好",
|
||
"header.session": "会话设置",
|
||
"header.sessionDesc": "助理档案与会话偏好",
|
||
"header.sessionWithName": "会话设置 · {{name}}",
|
||
"header.title": "设置",
|
||
"hotkey.clearBinding": "清除绑定",
|
||
"hotkey.conflicts": "与现有快捷键冲突",
|
||
"hotkey.errors.CONFLICT": "快捷键冲突:该快捷键已被其他功能占用",
|
||
"hotkey.errors.INVALID_FORMAT": "快捷键格式无效:请使用正确的格式(如 CommandOrControl+E)",
|
||
"hotkey.errors.INVALID_ID": "无效的快捷键ID",
|
||
"hotkey.errors.NO_MODIFIER": "快捷键必须包含修饰键(Ctrl、Alt、Shift等)",
|
||
"hotkey.errors.SYSTEM_OCCUPIED": "快捷键已被系统或其他应用程序占用",
|
||
"hotkey.errors.UNKNOWN": "更新失败:未知错误",
|
||
"hotkey.group.conversation": "会话",
|
||
"hotkey.group.desktop": "桌面端",
|
||
"hotkey.group.essential": "基础",
|
||
"hotkey.invalidCombination": "快捷键需要至少包含一个修饰键 (Ctrl, Alt, Shift) 和一个常规键",
|
||
"hotkey.record": "按下按键以录制快捷键",
|
||
"hotkey.reset": "重置为默认快捷键",
|
||
"hotkey.title": "快捷键",
|
||
"hotkey.updateError": "快捷键更新失败:网络或系统错误",
|
||
"hotkey.updateSuccess": "快捷键更新成功",
|
||
"llm.aesGcm": "你的密钥与代理地址等将使用 <1>AES-GCM</1> 加密算法进行加密",
|
||
"llm.apiKey.desc": "请填写你的 {{name}} API Key",
|
||
"llm.apiKey.placeholder": "{{name}} API Key",
|
||
"llm.apiKey.title": "API Key",
|
||
"llm.checker.button": "检查",
|
||
"llm.checker.desc": "测试 Api Key 与代理地址是否正确填写",
|
||
"llm.checker.pass": "检查通过",
|
||
"llm.checker.title": "连通性检查",
|
||
"llm.customModelCards.addNew": "创建并添加 {{id}} 模型",
|
||
"llm.customModelCards.config": "配置模型",
|
||
"llm.customModelCards.confirmDelete": "即将删除该自定义模型,删除后将不可恢复。请谨慎操作",
|
||
"llm.customModelCards.modelConfig.azureDeployName.extra": "在 Azure OpenAI 中实际请求的字段",
|
||
"llm.customModelCards.modelConfig.azureDeployName.placeholder": "请输入 Azure 中的模型部署名称",
|
||
"llm.customModelCards.modelConfig.azureDeployName.title": "模型部署名称",
|
||
"llm.customModelCards.modelConfig.displayName.placeholder": "请输入模型的展示名称,例如 ChatGPT、GPT-4 等",
|
||
"llm.customModelCards.modelConfig.displayName.title": "模型展示名称",
|
||
"llm.customModelCards.modelConfig.files.extra": "当前文件上传实现仅为一种 Hack 方案,仅限自行尝试。完整文件上传能力请等待后续实现",
|
||
"llm.customModelCards.modelConfig.files.title": "支持文件上传",
|
||
"llm.customModelCards.modelConfig.functionCall.extra": "此配置将仅开启应用中的技能调用能力,是否支持技能调用完全取决于模型本身,请自行测试该模型的技能调用能力可用性",
|
||
"llm.customModelCards.modelConfig.functionCall.title": "支持技能调用",
|
||
"llm.customModelCards.modelConfig.id.extra": "将作为模型标签进行展示",
|
||
"llm.customModelCards.modelConfig.id.placeholder": "请输入模型id,例如 gpt-4-turbo-preview 或 claude-2.1",
|
||
"llm.customModelCards.modelConfig.id.title": "模型 ID",
|
||
"llm.customModelCards.modelConfig.modalTitle": "自定义模型配置",
|
||
"llm.customModelCards.modelConfig.tokens.title": "最大 token 数",
|
||
"llm.customModelCards.modelConfig.vision.extra": "此配置将仅开启应用中的图片上传配置,是否支持识别完全取决于模型本身,请自行测试该模型的视觉识别能力可用性",
|
||
"llm.customModelCards.modelConfig.vision.title": "支持视觉识别",
|
||
"llm.fetchOnClient.desc": "客户端请求模式将从浏览器直接发起会话请求,可提升响应速度",
|
||
"llm.fetchOnClient.title": "使用客户端请求模式",
|
||
"llm.fetcher.clear": "清除获取的模型",
|
||
"llm.fetcher.fetch": "获取模型列表",
|
||
"llm.fetcher.fetching": "正在获取模型列表…",
|
||
"llm.fetcher.latestTime": "上次更新时间:{{time}}",
|
||
"llm.fetcher.noLatestTime": "暂未获取列表",
|
||
"llm.helpDoc": "配置教程",
|
||
"llm.modelList.desc": "选择在会话中展示的模型,选择的模型会在模型列表中展示",
|
||
"llm.modelList.placeholder": "请从列表中选择模型",
|
||
"llm.modelList.title": "模型列表",
|
||
"llm.modelList.total": "共 {{count}} 个模型可用",
|
||
"llm.proxyUrl.desc": "除默认地址外,必须包含 http(s)://",
|
||
"llm.proxyUrl.title": "API 代理地址",
|
||
"llm.waitingForMore": "更多模型正在 <1>计划接入</1> 中,敬请期待",
|
||
"llm.waitingForMoreLinkAriaLabel": "打开模型服务商接入需求表单",
|
||
"marketPublish.forkConfirm.by": "作者:{{author}}",
|
||
"marketPublish.forkConfirm.confirm": "确认发布",
|
||
"marketPublish.forkConfirm.confirmGroup": "确认发布",
|
||
"marketPublish.forkConfirm.description": "你即将基于社区中已存在的助理发布一个二次创作版本。你的新助理将作为独立条目发布到市场。",
|
||
"marketPublish.forkConfirm.descriptionGroup": "您即将基于社区中已有的群组发布一个衍生版本。您的新群组将在市场中作为一个独立条目创建。",
|
||
"marketPublish.forkConfirm.title": "发布二次创作助理",
|
||
"marketPublish.forkConfirm.titleGroup": "发布衍生群组",
|
||
"marketPublish.modal.changelog.extra": "描述此版本的主要变更和改进",
|
||
"marketPublish.modal.changelog.label": "变更日志",
|
||
"marketPublish.modal.changelog.maxLengthError": "变更日志不能超过500个字符",
|
||
"marketPublish.modal.changelog.placeholder": "请输入变更日志",
|
||
"marketPublish.modal.changelog.required": "请输入变更日志",
|
||
"marketPublish.modal.comparison.local": "本地当前版本",
|
||
"marketPublish.modal.comparison.remote": "当前发布版本",
|
||
"marketPublish.modal.identifier.extra": "标识符将作为助理的唯一标识,建议使用小写字母、数字和连字符",
|
||
"marketPublish.modal.identifier.label": "助理标识符",
|
||
"marketPublish.modal.identifier.lengthError": "标识符长度应在3-50个字符之间",
|
||
"marketPublish.modal.identifier.patternError": "标识符只能包含小写字母、数字和连字符",
|
||
"marketPublish.modal.identifier.placeholder": "请输入助理的唯一标识符,如: web-development",
|
||
"marketPublish.modal.identifier.required": "请输入助理标识符",
|
||
"marketPublish.modal.loading.fetchingRemote": "正在加载远程数据…",
|
||
"marketPublish.modal.loading.submit": "正在发布助理…",
|
||
"marketPublish.modal.loading.submitGroup": "正在提交群组...",
|
||
"marketPublish.modal.loading.upload": "正在发布新版本…",
|
||
"marketPublish.modal.loading.uploadGroup": "正在发布新群组版本...",
|
||
"marketPublish.modal.messages.createVersionFailed": "版本创建失败: {{message}}",
|
||
"marketPublish.modal.messages.fetchRemoteFailed": "获取远程助理数据失败",
|
||
"marketPublish.modal.messages.missingIdentifier": "当前助理还没有社区标识符",
|
||
"marketPublish.modal.messages.noGroup": "未选择任何群组",
|
||
"marketPublish.modal.messages.notAuthenticated": "请先登录社区账户",
|
||
"marketPublish.modal.messages.publishFailed": "发布失败: {{message}}",
|
||
"marketPublish.modal.submitButton": "发布",
|
||
"marketPublish.modal.title.submit": "分享到助理社区",
|
||
"marketPublish.modal.title.upload": "发布新版本",
|
||
"marketPublish.resultModal.message": "你创作的助理已提交审核,审核通过后将自动上线",
|
||
"marketPublish.resultModal.messageGroup": "您的群组已提交审核。审核通过后将自动上线。",
|
||
"marketPublish.resultModal.title": "提交成功",
|
||
"marketPublish.resultModal.view": "前往社区查看",
|
||
"marketPublish.status.underReview": "审核中",
|
||
"marketPublish.submit.button": "分享到社区",
|
||
"marketPublish.submit.tooltip": "分享助理到社区",
|
||
"marketPublish.submitGroup.tooltip": "将此群组分享至社区",
|
||
"marketPublish.upload.button": "发布新版本",
|
||
"marketPublish.upload.tooltip": "发布新版本到助理社区",
|
||
"marketPublish.uploadGroup.tooltip": "向群组社区发布新版本",
|
||
"marketPublish.validation.confirmPublish": "确定要发布到市场吗?",
|
||
"marketPublish.validation.emptyName": "无法发布:名称不能为空",
|
||
"marketPublish.validation.emptySystemRole": "无法发布:系统角色不能为空",
|
||
"marketPublish.validation.underReview": "您的新版本正在审核中,请等待审核通过后再发布新版本。",
|
||
"memory.effort.desc": "控制 AI 检索和更新记忆的积极程度。",
|
||
"memory.effort.high": "高 — 主动检索和更新",
|
||
"memory.effort.level.high": "高",
|
||
"memory.effort.level.low": "低",
|
||
"memory.effort.level.medium": "中",
|
||
"memory.effort.low": "低 — 最少的记忆操作",
|
||
"memory.effort.medium": "中 — 平衡行为",
|
||
"memory.effort.title": "积极性",
|
||
"memory.enabled.desc": "允许 LobeHub 从对话中提取偏好和信息,并在之后使用。您可以随时查看、编辑或清除记忆内容。",
|
||
"memory.enabled.title": "启用记忆功能",
|
||
"memory.title": "记忆设置",
|
||
"message.success": "更新成功",
|
||
"myAgents.actions.cancel": "取消",
|
||
"myAgents.actions.confirmDeprecate": "确认废弃",
|
||
"myAgents.actions.deprecate": "永久废弃",
|
||
"myAgents.actions.deprecateConfirmContent": "废弃后该助理将永久从市场移除,且无法重新上架。此操作不可逆,请谨慎操作。",
|
||
"myAgents.actions.deprecateConfirmTitle": "确认废弃助理?",
|
||
"myAgents.actions.deprecateError": "废弃助理失败",
|
||
"myAgents.actions.deprecateLoading": "正在废弃助理…",
|
||
"myAgents.actions.deprecateSuccess": "助理已废弃",
|
||
"myAgents.actions.edit": "去编辑助理",
|
||
"myAgents.actions.publish": "上架助理",
|
||
"myAgents.actions.publishError": "上架助理失败",
|
||
"myAgents.actions.publishLoading": "正在上架助理…",
|
||
"myAgents.actions.publishSuccess": "助理已上架",
|
||
"myAgents.actions.unpublish": "下架助理",
|
||
"myAgents.actions.unpublishError": "下架助理失败",
|
||
"myAgents.actions.unpublishLoading": "正在下架助理…",
|
||
"myAgents.actions.unpublishSuccess": "助理已下架",
|
||
"myAgents.actions.viewDetail": "查看详情",
|
||
"myAgents.detail.category": "分类",
|
||
"myAgents.detail.description": "描述",
|
||
"myAgents.detail.identifier": "标识符",
|
||
"myAgents.detail.title": "助理详情",
|
||
"myAgents.empty.description": "你还没有发布任何助理到市场",
|
||
"myAgents.empty.title": "暂无发布的助理",
|
||
"myAgents.errors.editFailed": "编辑助理失败,请稍后重试",
|
||
"myAgents.errors.fetchFailed": "获取助理详情失败",
|
||
"myAgents.errors.notAuthenticated": "请先登录市场账户",
|
||
"myAgents.loginRequired.button": "登录市场账户",
|
||
"myAgents.loginRequired.description": "请先登录市场账户以查看你发布的助理",
|
||
"myAgents.loginRequired.title": "需要登录",
|
||
"myAgents.status.archived": "已归档",
|
||
"myAgents.status.deprecated": "已废弃",
|
||
"myAgents.status.published": "已上架",
|
||
"myAgents.status.unpublished": "未上架",
|
||
"myAgents.title": "我发布的助理",
|
||
"notification.email.desc": "当重要事件发生时接收邮件通知",
|
||
"notification.email.title": "邮件通知",
|
||
"notification.enabled": "启用",
|
||
"notification.inbox.desc": "在应用内收件箱中显示通知",
|
||
"notification.inbox.title": "站内通知",
|
||
"notification.title": "通知渠道",
|
||
"plugin.addMCPPlugin": "添加 MCP",
|
||
"plugin.addTooltip": "自定义技能",
|
||
"plugin.clearDeprecated": "移除无效技能",
|
||
"plugin.empty": "暂无已安装技能,欢迎前往 <1>技能商店</1> 探索",
|
||
"plugin.installStatus.deprecated": "已卸载",
|
||
"plugin.settings.hint": "请根据描述填写以下配置",
|
||
"plugin.settings.title": "{{id}} 技能配置",
|
||
"plugin.settings.tooltip": "技能配置",
|
||
"plugin.store": "技能商店",
|
||
"publishToCommunity": "发布到社区",
|
||
"settingAgent.avatar.sizeExceeded": "图片大小超过 1MB 限制,请选择更小的图片",
|
||
"settingAgent.avatar.title": "助理头像",
|
||
"settingAgent.backgroundColor.title": "头像背景色",
|
||
"settingAgent.description.desc": "简单介绍你的助理,不作为角色设定",
|
||
"settingAgent.description.placeholder": "请输入助理描述",
|
||
"settingAgent.description.title": "助理描述",
|
||
"settingAgent.name.placeholder": "请输入助理名称",
|
||
"settingAgent.name.title": "名称",
|
||
"settingAgent.prompt.placeholder": "输入助理设定,按 / 打开命令菜单",
|
||
"settingAgent.prompt.templatePlaceholder": "#### 目标\n描述该智能体的主要用途和目标。\n\n#### 技能\n- 列出关键能力\n- 以及专业知识领域\n\n#### 工作流程\n1. 分步骤的执行流程\n2. 智能体应如何处理任务\n3. 与用户的预期互动方式\n\n#### 限制条件\n- 需要遵守的重要限制\n- 行为准则",
|
||
"settingAgent.prompt.title": "助理设定",
|
||
"settingAgent.submit": "更新助理信息",
|
||
"settingAgent.tag.desc": "助理标签将在助理社区中展示",
|
||
"settingAgent.tag.placeholder": "请输入标签",
|
||
"settingAgent.tag.title": "标签",
|
||
"settingAgent.title": "助理信息",
|
||
"settingAppearance.animationMode.agile": "敏捷",
|
||
"settingAppearance.animationMode.desc": "选择应用程序的操作响应的动画速度",
|
||
"settingAppearance.animationMode.disabled": "关闭",
|
||
"settingAppearance.animationMode.elegant": "优雅",
|
||
"settingAppearance.animationMode.title": "响应动画",
|
||
"settingAppearance.contextMenuMode.default": "默认",
|
||
"settingAppearance.contextMenuMode.desc": "为部分列表项启用右键菜单。",
|
||
"settingAppearance.contextMenuMode.disabled": "不使用",
|
||
"settingAppearance.contextMenuMode.title": "右键菜单方案",
|
||
"settingAppearance.neutralColor.desc": "不同色彩倾向的灰阶自定义",
|
||
"settingAppearance.neutralColor.title": "中性色",
|
||
"settingAppearance.noAnimation.desc": "禁用应用程序中的所有动画效果",
|
||
"settingAppearance.noAnimation.title": "无动画模式",
|
||
"settingAppearance.preview.title": "调色盘",
|
||
"settingAppearance.primaryColor.desc": "自定义主题色",
|
||
"settingAppearance.primaryColor.title": "主题色",
|
||
"settingAppearance.title": "应用外观",
|
||
"settingChat.autoCreateTopicThreshold.desc": "当前消息数超过设定该值后,将自动创建话题",
|
||
"settingChat.autoCreateTopicThreshold.title": "消息阈值",
|
||
"settingChat.chatStyleType.title": "聊天窗口样式",
|
||
"settingChat.chatStyleType.type.chat": "对话模式",
|
||
"settingChat.chatStyleType.type.docs": "文档模式",
|
||
"settingChat.compressThreshold.desc": "当未压缩的历史消息超过该值时,将进行压缩",
|
||
"settingChat.compressThreshold.title": "历史消息长度压缩阈值",
|
||
"settingChat.enableAutoCreateTopic.desc": "会话过程中是否自动创建话题,仅在临时话题中生效",
|
||
"settingChat.enableAutoCreateTopic.title": "自动创建话题",
|
||
"settingChat.enableAutoScrollOnStreaming.desc": "覆盖此助手的全局设置",
|
||
"settingChat.enableAutoScrollOnStreaming.title": "AI 回复时自动滚动",
|
||
"settingChat.enableCompressHistory.title": "开启历史消息自动总结",
|
||
"settingChat.enableHistoryCount.alias": "不限制",
|
||
"settingChat.enableHistoryCount.limited": "只包含 {{number}} 条会话消息",
|
||
"settingChat.enableHistoryCount.setlimited": "使用历史消息数",
|
||
"settingChat.enableHistoryCount.title": "限制历史消息数",
|
||
"settingChat.enableHistoryCount.unlimited": "不限历史消息数",
|
||
"settingChat.enableStreaming.desc": "启用流式输出以实时显示响应。禁用后仅显示完整响应。",
|
||
"settingChat.enableStreaming.title": "启用流式输出",
|
||
"settingChat.historyCount.desc": "每次请求携带的消息数(包括最新编写的提问。每个提问和回答都计算1)",
|
||
"settingChat.historyCount.title": "附带消息数",
|
||
"settingChat.inputTemplate.desc": "用户最新的一条消息会填充到此模板",
|
||
"settingChat.inputTemplate.placeholder": "预处理模版 {{text}} 将替换为实时输入信息",
|
||
"settingChat.inputTemplate.title": "用户输入预处理",
|
||
"settingChat.submit": "更新聊天偏好",
|
||
"settingChat.title": "聊天设置",
|
||
"settingChatAppearance.autoScrollOnStreaming.desc": "当 AI 正在生成回复时,自动滚动到底部",
|
||
"settingChatAppearance.autoScrollOnStreaming.title": "AI 回复时自动滚动",
|
||
"settingChatAppearance.fontSize.desc": "消息字体大小",
|
||
"settingChatAppearance.fontSize.marks.normal": "标准",
|
||
"settingChatAppearance.fontSize.title": "字体大小",
|
||
"settingChatAppearance.highlighterTheme.title": "代码高亮主题",
|
||
"settingChatAppearance.mermaidTheme.title": "Mermaid 主题",
|
||
"settingChatAppearance.title": "聊天外观",
|
||
"settingChatAppearance.transitionMode.desc": "选择聊天消息的显示方式",
|
||
"settingChatAppearance.transitionMode.options.fadeIn": "淡入",
|
||
"settingChatAppearance.transitionMode.options.none.desc": "这取决于模型的响应输出方式,请自行测试。",
|
||
"settingChatAppearance.transitionMode.options.none.value": "无",
|
||
"settingChatAppearance.transitionMode.options.smooth": "平滑",
|
||
"settingChatAppearance.transitionMode.title": "过渡动画",
|
||
"settingCommon.devMode.desc": "开启后将显示开发者相关的功能和选项",
|
||
"settingCommon.devMode.title": "开发者模式",
|
||
"settingCommon.lang.autoMode": "跟随系统",
|
||
"settingCommon.lang.title": "语言",
|
||
"settingCommon.liteMode.desc": "简化界面并隐藏高级功能",
|
||
"settingCommon.liteMode.title": "精简模式",
|
||
"settingCommon.responseLanguage.auto": "跟随系统",
|
||
"settingCommon.responseLanguage.desc": "设置 AI 回复使用的语言",
|
||
"settingCommon.responseLanguage.placeholder": "选择回复语言",
|
||
"settingCommon.responseLanguage.title": "回复语言",
|
||
"settingCommon.themeMode.auto": "自动",
|
||
"settingCommon.themeMode.dark": "深色",
|
||
"settingCommon.themeMode.light": "浅色",
|
||
"settingCommon.themeMode.title": "主题",
|
||
"settingCommon.title": "通用设置",
|
||
"settingGroup.description.placeholder": "请输入群组描述",
|
||
"settingGroup.description.title": "群组描述",
|
||
"settingGroup.name.placeholder": "请输入群组名称",
|
||
"settingGroup.name.title": "群组名称",
|
||
"settingGroup.scene.desc": "选择群组场景",
|
||
"settingGroup.scene.options.casual": "休闲",
|
||
"settingGroup.scene.options.productive": "生产力",
|
||
"settingGroup.scene.title": "群组场景",
|
||
"settingGroup.submit": "更新群组",
|
||
"settingGroup.systemPrompt.placeholder": "请输入主持人系统提示词",
|
||
"settingGroup.systemPrompt.title": "主持人系统提示词",
|
||
"settingGroup.title": "群组信息",
|
||
"settingGroupChat.allowDM.desc": "关闭后,你仍然可以主动向助理发送私信",
|
||
"settingGroupChat.allowDM.title": "允许助理发送私信",
|
||
"settingGroupChat.enableSupervisor.desc": "启用群组主持人功能,主持人将管理群组对话流程",
|
||
"settingGroupChat.enableSupervisor.title": "启用主持人",
|
||
"settingGroupChat.maxResponseInRow.desc": "选择成员可以连续回复多少条消息。设置为 0 则禁用此限制。",
|
||
"settingGroupChat.maxResponseInRow.title": "连续回复消息数",
|
||
"settingGroupChat.model.desc": "群成员发言不受影响。部分模型无法作为主持人模型使用。",
|
||
"settingGroupChat.model.title": "主持人模型",
|
||
"settingGroupChat.orchestratorTitle": "主持人设置",
|
||
"settingGroupChat.responseOrder.desc": "代理将按照在聊天中设置的顺序进行回复",
|
||
"settingGroupChat.responseOrder.options.natural": "自然",
|
||
"settingGroupChat.responseOrder.options.sequential": "顺序",
|
||
"settingGroupChat.responseOrder.placeholder": "选择回复顺序",
|
||
"settingGroupChat.responseOrder.title": "回复顺序",
|
||
"settingGroupChat.responseSpeed.desc": "控制聊天的整体进行速度",
|
||
"settingGroupChat.responseSpeed.options.fast": "快速",
|
||
"settingGroupChat.responseSpeed.options.medium": "中等",
|
||
"settingGroupChat.responseSpeed.options.slow": "慢速",
|
||
"settingGroupChat.responseSpeed.placeholder": "选择回复速度",
|
||
"settingGroupChat.responseSpeed.title": "回复速度",
|
||
"settingGroupChat.revealDM.desc": "使发送给其他成员的私信内容对你可见。",
|
||
"settingGroupChat.revealDM.title": "显示私信内容",
|
||
"settingGroupChat.submit": "更新设置",
|
||
"settingGroupChat.systemPrompt.desc": "群聊对话主持人的自定义系统提示词。这可能影响默认的主持人行为。",
|
||
"settingGroupChat.systemPrompt.placeholder": "请输入自定义主持人系统提示词…",
|
||
"settingGroupChat.systemPrompt.title": "主持人系统提示词",
|
||
"settingGroupChat.title": "聊天设置",
|
||
"settingGroupMembers.addToGroup": "加入群组",
|
||
"settingGroupMembers.availableAgents": "可用助理",
|
||
"settingGroupMembers.createMember": "创建成员",
|
||
"settingGroupMembers.defaultAgent": "自定义助理",
|
||
"settingGroupMembers.disableHost": "关闭主持助理",
|
||
"settingGroupMembers.edit": "编辑成员",
|
||
"settingGroupMembers.empty": "该群组中暂无成员。点击 + 按钮添加成员。",
|
||
"settingGroupMembers.enableHost": "启用主持助理",
|
||
"settingGroupMembers.groupHost": "群主持",
|
||
"settingGroupMembers.groupMembers": "群组成员",
|
||
"settingGroupMembers.host.description": "主持人在群组中时,群聊将自动化运行,适合发散性任务。",
|
||
"settingGroupMembers.host.title": "主持人",
|
||
"settingGroupMembers.noAvailableAgents": "暂无可用助理",
|
||
"settingGroupMembers.noDescription": "暂无描述",
|
||
"settingGroupMembers.noMembersInGroup": "群组暂无成员",
|
||
"settingGroupMembers.owner": "你(所有者)",
|
||
"settingGroupMembers.remove": "移除成员",
|
||
"settingGroupMembers.removeFromGroup": "移出群组",
|
||
"settingGroupMembers.you": "你",
|
||
"settingImage.defaultCount.desc": "设置图像生成面板在创建新任务时的默认图片数量。",
|
||
"settingImage.defaultCount.label": "默认图片数量",
|
||
"settingImage.defaultCount.title": "AI 图片设置",
|
||
"settingModel.enableContextCompression.desc": "当对话消息超过 64,000 tokens 时,自动将历史消息压缩为摘要,节省 60-80% 的 token 用量",
|
||
"settingModel.enableContextCompression.title": "开启自动上下文压缩",
|
||
"settingModel.enableMaxTokens.title": "开启单次回复限制",
|
||
"settingModel.enableReasoningEffort.title": "开启推理强度调整",
|
||
"settingModel.frequencyPenalty.desc": "值越大,用词越丰富多样;值越低,用词更朴实简单",
|
||
"settingModel.frequencyPenalty.title": "词汇丰富度",
|
||
"settingModel.maxTokens.desc": "单次交互所用的最大 Token 数",
|
||
"settingModel.maxTokens.title": "单次回复限制",
|
||
"settingModel.model.desc": "{{provider}} 模型",
|
||
"settingModel.model.title": "模型",
|
||
"settingModel.params.title": "高级参数",
|
||
"settingModel.presencePenalty.desc": "值越大,越倾向不同的表达方式,避免概念重复;值越小,越倾向使用重复的概念或叙述,表达更具一致性",
|
||
"settingModel.presencePenalty.title": "表述发散度",
|
||
"settingModel.reasoningEffort.desc": "值越大,推理能力越强,但可能会增加响应时间和 Token 消耗",
|
||
"settingModel.reasoningEffort.options.high": "高",
|
||
"settingModel.reasoningEffort.options.low": "低",
|
||
"settingModel.reasoningEffort.options.medium": "中",
|
||
"settingModel.reasoningEffort.title": "推理强度",
|
||
"settingModel.submit": "更新模型设置",
|
||
"settingModel.temperature.desc": "数值越大,回答越有创意和想象力;数值越小,回答越严谨",
|
||
"settingModel.temperature.title": "创意活跃度",
|
||
"settingModel.temperature.warning": "创意活跃度数值过大,输出可能会产生乱码",
|
||
"settingModel.title": "模型设置",
|
||
"settingModel.topP.desc": "考虑多少种可能性,值越大,接受更多可能的回答;值越小,倾向选择最可能的回答。不推荐和创意活跃度一起更改",
|
||
"settingModel.topP.title": "思维开放度",
|
||
"settingOpening.openingMessage.desc": "打开会话时的开场消息,用来介绍助理的功能",
|
||
"settingOpening.openingMessage.placeholder": "你好,我是自定义助理。你可以立即与我开始对话,也可以前往助理设置完善我的信息。",
|
||
"settingOpening.openingMessage.title": "开场消息",
|
||
"settingOpening.openingQuestions.desc": "会话开始时展示的引导性问题",
|
||
"settingOpening.openingQuestions.empty": "添加开场问题,帮助用户快速开始对话",
|
||
"settingOpening.openingQuestions.placeholder": "请输入问题",
|
||
"settingOpening.openingQuestions.repeat": "问题已存在",
|
||
"settingOpening.openingQuestions.title": "开场问题",
|
||
"settingOpening.title": "开场设置",
|
||
"settingPlugin.title": "技能列表",
|
||
"settingSystem.oauth.info.desc": "已登录",
|
||
"settingSystem.oauth.info.title": "账户信息",
|
||
"settingSystem.oauth.signin.action": "登录",
|
||
"settingSystem.oauth.signin.desc": "使用 SSO 登录以解锁应用",
|
||
"settingSystem.oauth.signin.title": "登录账号",
|
||
"settingSystem.oauth.signout.action": "退出登录",
|
||
"settingSystem.oauth.signout.confirm": "确认退出?",
|
||
"settingSystem.oauth.signout.success": "退出登录成功",
|
||
"settingSystem.title": "系统设置",
|
||
"settingSystemTools.appEnvironment.chromium.desc": "Chromium 浏览器引擎版本",
|
||
"settingSystemTools.appEnvironment.desc": "桌面应用内置的运行时版本",
|
||
"settingSystemTools.appEnvironment.electron.desc": "Electron 框架版本",
|
||
"settingSystemTools.appEnvironment.node.desc": "内嵌 Node.js 版本",
|
||
"settingSystemTools.appEnvironment.title": "内建应用工具",
|
||
"settingSystemTools.category.browserAutomation": "浏览器自动化",
|
||
"settingSystemTools.category.browserAutomation.desc": "用于无头浏览器自动化和网页交互的工具",
|
||
"settingSystemTools.category.cliAgents": "CLI 智能体",
|
||
"settingSystemTools.category.cliAgents.desc": "已检测到的命令行编码智能体,如 Claude Code、Codex、Kimi 等",
|
||
"settingSystemTools.category.contentSearch": "内容搜索",
|
||
"settingSystemTools.category.contentSearch.desc": "用于在文件内搜索文本内容的工具",
|
||
"settingSystemTools.category.fileSearch": "文件搜索",
|
||
"settingSystemTools.category.fileSearch.desc": "用于按名称或模式查找文件的工具",
|
||
"settingSystemTools.category.runtimeEnvironment": "运行环境",
|
||
"settingSystemTools.category.runtimeEnvironment.desc": "用于执行脚本和安装依赖的开发运行环境",
|
||
"settingSystemTools.detecting": "检测中...",
|
||
"settingSystemTools.redetect": "重新检测",
|
||
"settingSystemTools.status.available": "可用",
|
||
"settingSystemTools.status.notDetected": "未检测",
|
||
"settingSystemTools.status.unavailable": "不可用",
|
||
"settingSystemTools.title": "系统工具",
|
||
"settingSystemTools.tools.ag.desc": "The Silver Searcher - 快速代码搜索工具",
|
||
"settingSystemTools.tools.agentBrowser.desc": "Agent-browser - 面向AI代理的无头浏览器自动化命令行工具",
|
||
"settingSystemTools.tools.aider.desc": "Aider - 终端内的 AI 结对编程工具",
|
||
"settingSystemTools.tools.bun.desc": "Bun - 快速的 JavaScript 运行时和包管理器",
|
||
"settingSystemTools.tools.bunx.desc": "bunx - Bun 包执行器,用于运行 npm 包",
|
||
"settingSystemTools.tools.claude.desc": "Claude Code - Anthropic 官方命令行编码智能体",
|
||
"settingSystemTools.tools.codex.desc": "Codex - OpenAI 命令行编码智能体",
|
||
"settingSystemTools.tools.fd.desc": "fd - 快速且用户友好的 find 替代品",
|
||
"settingSystemTools.tools.find.desc": "Unix find - 标准文件搜索命令",
|
||
"settingSystemTools.tools.gemini.desc": "Gemini CLI - Google 命令行编码智能体",
|
||
"settingSystemTools.tools.grep.desc": "GNU grep - 标准文本搜索工具",
|
||
"settingSystemTools.tools.kimi.desc": "Kimi CLI - 月之暗面命令行编码智能体",
|
||
"settingSystemTools.tools.lobehub.desc": "LobeHub CLI - 管理和连接 LobeHub 服务",
|
||
"settingSystemTools.tools.mdfind.desc": "macOS 聚焦搜索(快速索引搜索)",
|
||
"settingSystemTools.tools.node.desc": "Node.js - 执行 JavaScript/TypeScript 的运行时",
|
||
"settingSystemTools.tools.npm.desc": "npm - Node.js 包管理器,用于安装依赖",
|
||
"settingSystemTools.tools.pnpm.desc": "pnpm - 快速、节省磁盘空间的包管理器",
|
||
"settingSystemTools.tools.python.desc": "Python - 编程语言运行时",
|
||
"settingSystemTools.tools.qwen.desc": "Qwen Code - 阿里通义千问命令行编码智能体",
|
||
"settingSystemTools.tools.rg.desc": "ripgrep - 极快的文本搜索工具",
|
||
"settingSystemTools.tools.uv.desc": "uv - 极快的 Python 包管理器",
|
||
"settingTTS.openai.sttModel": "OpenAI 语音识别模型",
|
||
"settingTTS.openai.title": "OpenAI",
|
||
"settingTTS.openai.ttsModel": "OpenAI 语音合成模型",
|
||
"settingTTS.showAllLocaleVoice.desc": "关闭则只显示当前语种的声源",
|
||
"settingTTS.showAllLocaleVoice.title": "显示所有语种声源",
|
||
"settingTTS.stt": "语音识别设置",
|
||
"settingTTS.sttAutoStop.desc": "关闭后,语音识别将不会自动结束,需要手动点击结束按钮",
|
||
"settingTTS.sttAutoStop.title": "自动结束语音识别",
|
||
"settingTTS.sttLocale.desc": "语音输入的语种,此选项可提高语音识别准确率",
|
||
"settingTTS.sttLocale.title": "语音识别语种",
|
||
"settingTTS.sttService.desc": "其中 browser 为浏览器原生的语音识别服务",
|
||
"settingTTS.sttService.title": "语音识别服务",
|
||
"settingTTS.submit": "更新语音服务",
|
||
"settingTTS.title": "语音服务",
|
||
"settingTTS.tts": "语音合成设置",
|
||
"settingTTS.ttsService.desc": "如使用 OpenAI 语音合成服务,需要保证 OpenAI 模型服务已开启",
|
||
"settingTTS.ttsService.title": "语音合成服务",
|
||
"settingTTS.voice.desc": "为当前助理挑选一个声音,不同 TTS 服务支持的声源不同",
|
||
"settingTTS.voice.preview": "试听声源",
|
||
"settingTTS.voice.title": "语音合成声源",
|
||
"skillStore.button": "技能商店",
|
||
"skillStore.empty": "浏览技能商店。安装一个技能开始使用,之后可随时添加更多。",
|
||
"skillStore.emptySearch": "未找到匹配的技能",
|
||
"skillStore.networkError": "网络错误,请重试",
|
||
"skillStore.search": "搜索技能名称或关键词,按回车键搜索…",
|
||
"skillStore.tabs.community": "社区",
|
||
"skillStore.tabs.custom": "自定义",
|
||
"skillStore.tabs.lobehub": "LobeHub",
|
||
"skillStore.tabs.mcp": "MCP",
|
||
"skillStore.tabs.skills": "技能",
|
||
"skillStore.title": "技能商店",
|
||
"skillStore.wantMore.action": "提交申请 →",
|
||
"skillStore.wantMore.feedback.message": "## 技能名称\n[请填写]\n\n## 使用场景\n当我在___时,我需要___\n\n## 期望功能\n1.\n2.\n3.\n\n## 参考示例\n(可选)是否有类似的工具或功能可供参考?\n\n---\n💡 提示:描述越具体,我们就越能满足您的需求",
|
||
"skillStore.wantMore.feedback.title": "[技能申请] 请用一句话概括您需要的技能",
|
||
"skillStore.wantMore.reachedEnd": "已经到底了,未找到所需技能?",
|
||
"startConversation": "开始对话",
|
||
"storage.actions.export.button": "导出",
|
||
"storage.actions.export.exportType.agent": "导出助理设定",
|
||
"storage.actions.export.exportType.agentWithMessage": "导出助理和消息",
|
||
"storage.actions.export.exportType.all": "导出全局设置和所有助理数据",
|
||
"storage.actions.export.exportType.allAgent": "导出所有助理设定",
|
||
"storage.actions.export.exportType.allAgentWithMessage": "导出所有助理和消息",
|
||
"storage.actions.export.exportType.globalSetting": "导出全局设置",
|
||
"storage.actions.export.title": "导出数据",
|
||
"storage.actions.import.button": "导入",
|
||
"storage.actions.import.title": "导入数据",
|
||
"storage.actions.title": "高级操作",
|
||
"storage.desc": "当前浏览器中的存储用量",
|
||
"storage.embeddings.used": "向量存储",
|
||
"storage.title": "数据存储",
|
||
"storage.used": "存储用量",
|
||
"submitAgentModal.button": "提交助理",
|
||
"submitAgentModal.identifier": "助理标识符(identifier)",
|
||
"submitAgentModal.metaMiss": "请补全助理信息后提交,需要包含名称、描述和标签",
|
||
"submitAgentModal.placeholder": "请输入助理的标识符,需要是唯一的,比如 web-development",
|
||
"submitAgentModal.success": "助理提交成功",
|
||
"submitAgentModal.tooltips": "分享到助理社区",
|
||
"submitGroupModal.tooltips": "分享到群组社区",
|
||
"sync.device.deviceName.hint": "添加名称以便于识别",
|
||
"sync.device.deviceName.placeholder": "请输入设备名称",
|
||
"sync.device.deviceName.title": "设备名称",
|
||
"sync.device.title": "设备信息",
|
||
"sync.device.unknownBrowser": "未知浏览器",
|
||
"sync.device.unknownOS": "未知系统",
|
||
"sync.warning.tip": "经过较长一段时间社区公测,WebRTC 同步可能无法稳定满足通用的数据同步诉求。请自行 <1>部署信令服务器</1> 后使用。",
|
||
"sync.webrtc.channelName.desc": "WebRTC 将使用此名创建同步频道,确保频道名称唯一",
|
||
"sync.webrtc.channelName.placeholder": "请输入同步频道名称",
|
||
"sync.webrtc.channelName.shuffle": "随机生成",
|
||
"sync.webrtc.channelName.title": "同步频道名称",
|
||
"sync.webrtc.channelPassword.desc": "添加密码确保频道私密性,只有密码正确时,设备才可加入频道",
|
||
"sync.webrtc.channelPassword.placeholder": "请输入同步频道密码",
|
||
"sync.webrtc.channelPassword.title": "同步频道密码",
|
||
"sync.webrtc.desc": "实时、点对点的数据通信,需设备同时在线才可同步",
|
||
"sync.webrtc.enabled.invalid": "请填写信令服务器和同步频道名称后再开启",
|
||
"sync.webrtc.enabled.title": "开启同步",
|
||
"sync.webrtc.signaling.desc": "WebRTC 将使用该地址进行同步",
|
||
"sync.webrtc.signaling.placeholder": "请输入信令服务器地址",
|
||
"sync.webrtc.signaling.title": "信令服务器",
|
||
"sync.webrtc.title": "WebRTC 同步",
|
||
"systemAgent.agentMeta.label": "模型",
|
||
"systemAgent.agentMeta.modelDesc": "指定用于生成助理名称、描述、头像、标签的模型",
|
||
"systemAgent.agentMeta.title": "助理信息生成助理",
|
||
"systemAgent.customPrompt.addPrompt": "添加自定义提示",
|
||
"systemAgent.customPrompt.desc": "填写后,系统助理将在生成内容时使用自定义提示",
|
||
"systemAgent.customPrompt.placeholder": "请输入自定义提示词",
|
||
"systemAgent.customPrompt.title": "自定义提示词",
|
||
"systemAgent.generationTopic.label": "模型",
|
||
"systemAgent.generationTopic.modelDesc": "指定用于 AI 图片自动命名话题的模型",
|
||
"systemAgent.generationTopic.title": "AI 图片话题命名助理",
|
||
"systemAgent.helpInfo": "当创建新助理时,将以默认助理设置作为预设值。",
|
||
"systemAgent.historyCompress.label": "模型",
|
||
"systemAgent.historyCompress.modelDesc": "指定用于压缩会话历史的模型",
|
||
"systemAgent.historyCompress.title": "会话历史压缩助理",
|
||
"systemAgent.inputCompletion.label": "模型",
|
||
"systemAgent.inputCompletion.modelDesc": "指定用于输入自动补全建议的模型(类似 GitHub Copilot 幽灵文本)",
|
||
"systemAgent.inputCompletion.title": "输入自动补全助理",
|
||
"systemAgent.promptRewrite.label": "模型",
|
||
"systemAgent.promptRewrite.modelDesc": "指定用于重写提示词的模型",
|
||
"systemAgent.promptRewrite.title": "提示词重写助理",
|
||
"systemAgent.queryRewrite.label": "模型",
|
||
"systemAgent.queryRewrite.modelDesc": "指定用于优化用户提问的模型",
|
||
"systemAgent.queryRewrite.title": "资源库提问重写助理",
|
||
"systemAgent.thread.label": "模型",
|
||
"systemAgent.thread.modelDesc": "指定用于子话题自动重命名的模型",
|
||
"systemAgent.thread.title": "子话题自动命名助理",
|
||
"systemAgent.title": "系统助理",
|
||
"systemAgent.topic.label": "模型",
|
||
"systemAgent.topic.modelDesc": "指定用于话题自动重命名的模型",
|
||
"systemAgent.topic.title": "话题自动命名助理",
|
||
"systemAgent.translation.label": "模型",
|
||
"systemAgent.translation.modelDesc": "指定用于翻译的模型",
|
||
"systemAgent.translation.title": "消息内容翻译助理",
|
||
"tab.about": "关于",
|
||
"tab.addAgentSkill": "添加 Agent 技能",
|
||
"tab.addCustomMcp": "添加自定义 MCP 技能",
|
||
"tab.addCustomMcp.desc": "手动配置自定义 MCP 服务器",
|
||
"tab.addCustomSkill": "添加",
|
||
"tab.advanced": "高级设置",
|
||
"tab.advanced.updateChannel.canary": "Canary",
|
||
"tab.advanced.updateChannel.canaryDesc": "每次 PR 合并触发构建,一天可能多次。最不稳定。",
|
||
"tab.advanced.updateChannel.desc": "默认情况下,接收稳定更新的通知。Canary 渠道会接收可能不适合生产环境的预发布版本。",
|
||
"tab.advanced.updateChannel.nightly": "Nightly",
|
||
"tab.advanced.updateChannel.nightlyDesc": "每日自动构建,包含最新更改。",
|
||
"tab.advanced.updateChannel.stable": "稳定版",
|
||
"tab.advanced.updateChannel.stableDesc": "正式发布版本。",
|
||
"tab.advanced.updateChannel.title": "更新通道",
|
||
"tab.agent": "助理服务",
|
||
"tab.all": "全部",
|
||
"tab.apikey": "API Key 管理",
|
||
"tab.appearance": "外观",
|
||
"tab.chatAppearance": "聊天外观",
|
||
"tab.common": "外观",
|
||
"tab.creds": "凭证管理",
|
||
"tab.experiment": "实验",
|
||
"tab.hotkey": "快捷键",
|
||
"tab.image": "绘画服务",
|
||
"tab.importFromGithub": "从 GitHub 导入",
|
||
"tab.importFromGithub.desc": "从公开的 GitHub 仓库导入",
|
||
"tab.importFromUrl": "从 URL 导入",
|
||
"tab.importFromUrl.desc": "通过 SKILL.md 的直接链接导入",
|
||
"tab.llm": "语言模型",
|
||
"tab.manualFill": "自行填写内容",
|
||
"tab.manualFill.desc": "手动配置自定义 MCP 技能",
|
||
"tab.memory": "记忆设置",
|
||
"tab.notification": "通知",
|
||
"tab.profile": "我的账号",
|
||
"tab.provider": "AI 服务商",
|
||
"tab.proxy": "网络代理",
|
||
"tab.security": "安全",
|
||
"tab.serviceModel": "服务模型",
|
||
"tab.skill": "技能管理",
|
||
"tab.skillDesc": "管理已连接的技能和集成",
|
||
"tab.skillDetail": "技能详情",
|
||
"tab.skillEmpty": "尚未连接任何技能",
|
||
"tab.skillInstalled": "已安装的技能",
|
||
"tab.skillIntegration": "集成",
|
||
"tab.stats": "数据统计",
|
||
"tab.storage": "数据存储",
|
||
"tab.sync": "云端同步",
|
||
"tab.systemTools": "系统工具",
|
||
"tab.tts": "语音服务",
|
||
"tab.uploadZip": "上传 Zip",
|
||
"tab.uploadZip.desc": "上传本地 .zip 或 .skill 文件",
|
||
"tab.usage": "用量",
|
||
"tools.add": "集成技能",
|
||
"tools.builtins.find-skills.description": "当用户询问“我该如何做 X”、“帮我找一个能做 X 的技能”或希望扩展能力时,帮助用户发现并安装助手技能",
|
||
"tools.builtins.find-skills.title": "查找技能",
|
||
"tools.builtins.groupName": "内置技能",
|
||
"tools.builtins.install": "安装",
|
||
"tools.builtins.installed": "已安装",
|
||
"tools.builtins.lobe-activator.description": "发现并启用工具与技能",
|
||
"tools.builtins.lobe-activator.title": "工具与技能激活器",
|
||
"tools.builtins.lobe-agent-browser.description": "面向 AI 助手的浏览器自动化命令行工具。当任务涉及网站或 Electron 交互(如导航、表单填写、点击、截图、数据抓取、登录流程和端到端应用测试)时使用。",
|
||
"tools.builtins.lobe-agent-browser.title": "助手浏览器",
|
||
"tools.builtins.lobe-agent-builder.description": "配置助手元信息、模型设置、插件以及系统提示词",
|
||
"tools.builtins.lobe-agent-builder.title": "助手构建器",
|
||
"tools.builtins.lobe-agent-documents.description": "管理助手范围内的文档(列出、创建、读取、编辑、删除、重命名)并加载规则",
|
||
"tools.builtins.lobe-agent-documents.title": "文档",
|
||
"tools.builtins.lobe-agent-management.description": "创建、管理并编排 AI 助手",
|
||
"tools.builtins.lobe-agent-management.title": "助手管理",
|
||
"tools.builtins.lobe-artifacts.description": "生成并预览交互式 UI 组件和可视化内容",
|
||
"tools.builtins.lobe-artifacts.readme": "生成并实时预览交互式 UI 组件、数据可视化、图表、SVG 图形和 Web 应用。创建用户可直接交互的丰富可视化内容。",
|
||
"tools.builtins.lobe-artifacts.title": "Artifacts",
|
||
"tools.builtins.lobe-brief.description": "汇报进度、交付结果,并请求用户决策",
|
||
"tools.builtins.lobe-brief.title": "简报工具",
|
||
"tools.builtins.lobe-calculator.description": "执行数学计算、解方程,并处理符号表达式",
|
||
"tools.builtins.lobe-calculator.readme": "高级数学计算器,支持基础算术、代数方程、微积分运算和符号数学。包括进制转换、方程求解、微分、积分等更多功能。",
|
||
"tools.builtins.lobe-calculator.title": "计算器",
|
||
"tools.builtins.lobe-cloud-sandbox.description": "在安全的云端环境中执行代码、运行命令和管理文件",
|
||
"tools.builtins.lobe-cloud-sandbox.readme": "在隔离的云端环境中执行 Python、JavaScript 和 TypeScript 代码。运行 Shell 命令、管理文件、使用正则搜索内容并安全导出结果。",
|
||
"tools.builtins.lobe-cloud-sandbox.title": "云沙盒",
|
||
"tools.builtins.lobe-creds.description": "管理用于身份验证、环境变量注入和 API 调用的用户凭据 — 处理 API 密钥、OAuth 令牌以及第三方集成所需的密钥。",
|
||
"tools.builtins.lobe-creds.title": "凭据管理",
|
||
"tools.builtins.lobe-cron.description": "管理在指定时间自动运行的定时任务。可为助手创建、更新、启用/禁用并监控周期性任务。",
|
||
"tools.builtins.lobe-cron.title": "定时任务",
|
||
"tools.builtins.lobe-group-agent-builder.description": "配置群组的元信息、成员和共享内容,用于多助手群组",
|
||
"tools.builtins.lobe-group-agent-builder.title": "群组助手构建器",
|
||
"tools.builtins.lobe-group-management.description": "编排并管理多助手群组对话",
|
||
"tools.builtins.lobe-group-management.title": "群组管理",
|
||
"tools.builtins.lobe-gtd.description": "使用 GTD 方法规划目标并追踪进度",
|
||
"tools.builtins.lobe-gtd.readme": "使用 GTD 方法规划目标并追踪进度。创建战略计划、管理带状态跟踪的待办列表,并执行长时间运行的异步任务。",
|
||
"tools.builtins.lobe-gtd.title": "GTD 工具",
|
||
"tools.builtins.lobe-knowledge-base.description": "通过语义向量检索搜索已上传的文档与领域知识 — 适用于持久、可复用的参考资料",
|
||
"tools.builtins.lobe-knowledge-base.title": "知识库",
|
||
"tools.builtins.lobe-local-system.description": "访问和管理本地文件,在桌面端运行 Shell 命令",
|
||
"tools.builtins.lobe-local-system.readme": "访问桌面端的本地文件系统。读取、写入、搜索和组织文件。执行 Shell 命令,支持后台任务和正则内容搜索。",
|
||
"tools.builtins.lobe-local-system.title": "本地系统",
|
||
"tools.builtins.lobe-message.description": "通过统一接口在多个消息平台上发送、读取、编辑和管理消息",
|
||
"tools.builtins.lobe-message.readme": "跨平台消息工具,支持 Discord、Telegram、Slack、Google Chat 和 IRC。提供统一 API 用于消息操作、表情回应、置顶、话题、频道管理以及投票等平台特定功能。",
|
||
"tools.builtins.lobe-message.title": "消息",
|
||
"tools.builtins.lobe-notebook.description": "在对话主题中创建和管理文档",
|
||
"tools.builtins.lobe-notebook.readme": "在对话主题中创建和管理持久化文档。保存笔记、报告、文章和 Markdown 内容,可跨会话持续访问。",
|
||
"tools.builtins.lobe-notebook.title": "笔记本",
|
||
"tools.builtins.lobe-page-agent.description": "在 XML 结构化文档中创建、读取、更新和删除节点",
|
||
"tools.builtins.lobe-page-agent.readme": "通过精确的节点级控制创建和编辑结构化文档。可从 Markdown 初始化、批量执行插入/修改/删除操作,并跨文档查找替换文本。",
|
||
"tools.builtins.lobe-page-agent.title": "文档编辑",
|
||
"tools.builtins.lobe-remote-device.description": "发现并管理远程桌面设备连接",
|
||
"tools.builtins.lobe-remote-device.readme": "管理与桌面设备的连接。列出在线设备、激活设备以执行远程操作并查看连接状态。",
|
||
"tools.builtins.lobe-remote-device.title": "远程设备",
|
||
"tools.builtins.lobe-skill-store.description": "从 LobeHub 技能市场浏览并安装助手技能。当你需要扩展能力或想安装特定技能时使用。",
|
||
"tools.builtins.lobe-skill-store.title": "技能商店",
|
||
"tools.builtins.lobe-skills.description": "激活并使用可复用的技能包",
|
||
"tools.builtins.lobe-skills.title": "技能",
|
||
"tools.builtins.lobe-task.description": "创建、列出、编辑和删除任务,支持依赖关系和审核配置",
|
||
"tools.builtins.lobe-task.title": "任务工具",
|
||
"tools.builtins.lobe-topic-reference.description": "从被引用的话题对话中检索上下文",
|
||
"tools.builtins.lobe-topic-reference.title": "话题引用",
|
||
"tools.builtins.lobe-user-interaction.description": "通过界面交互向用户提问,并观察其生命周期结果",
|
||
"tools.builtins.lobe-user-interaction.title": "用户交互",
|
||
"tools.builtins.lobe-user-memory.description": "记住用户的偏好、活动和经历",
|
||
"tools.builtins.lobe-user-memory.readme": "构建关于你的个性化知识库。记住偏好、追踪活动和经历、存储身份信息,并在未来对话中回忆相关上下文。",
|
||
"tools.builtins.lobe-user-memory.title": "记忆",
|
||
"tools.builtins.lobe-web-browsing.description": "搜索网页获取最新信息,并抓取网页内容。支持多种搜索引擎、分类和时间范围。",
|
||
"tools.builtins.lobe-web-browsing.readme": "搜索网页获取最新信息,并抓取网页内容。支持多种搜索引擎、分类和时间范围,满足全面的研究需求。",
|
||
"tools.builtins.lobe-web-browsing.title": "网页浏览",
|
||
"tools.builtins.lobe-web-onboarding.description": "通过受控的助手运行时驱动 Web 引导流程",
|
||
"tools.builtins.lobe-web-onboarding.title": "Web 引导",
|
||
"tools.builtins.lobehub.description": "通过命令行管理 LobeHub 平台 — 包括知识库、记忆、助手、文件、搜索、生成等。",
|
||
"tools.builtins.lobehub.title": "LobeHub",
|
||
"tools.builtins.notInstalled": "未安装",
|
||
"tools.builtins.task.description": "任务管理与执行 — 通过命令行创建、追踪、审核并完成任务。",
|
||
"tools.builtins.task.title": "任务",
|
||
"tools.builtins.uninstall": "卸载",
|
||
"tools.builtins.uninstallConfirm.desc": "确定要卸载 {{name}} 吗?此技能将从当前助手中移除。",
|
||
"tools.builtins.uninstallConfirm.title": "卸载 {{name}}",
|
||
"tools.builtins.uninstalled": "已卸载",
|
||
"tools.disabled": "当前模型不支持函数调用,无法使用技能",
|
||
"tools.klavis.addServer": "添加服务器",
|
||
"tools.klavis.authCompleted": "认证完成",
|
||
"tools.klavis.authFailed": "认证失败",
|
||
"tools.klavis.authRequired": "需要认证",
|
||
"tools.klavis.connect": "连接",
|
||
"tools.klavis.connected": "已连接",
|
||
"tools.klavis.disconnect": "断开连接",
|
||
"tools.klavis.disconnected": "已断开连接",
|
||
"tools.klavis.error": "错误",
|
||
"tools.klavis.groupName": "Klavis 工具",
|
||
"tools.klavis.manage": "管理 Klavis",
|
||
"tools.klavis.manageTitle": "管理 Klavis 集成",
|
||
"tools.klavis.noServers": "暂无连接的服务器",
|
||
"tools.klavis.notEnabled": "Klavis 服务未启用",
|
||
"tools.klavis.oauthRequired": "请在新窗口中完成 OAuth 认证",
|
||
"tools.klavis.pendingAuth": "待认证",
|
||
"tools.klavis.serverCreated": "服务器创建成功",
|
||
"tools.klavis.serverCreatedFailed": "服务器创建失败",
|
||
"tools.klavis.serverRemoved": "服务器已删除",
|
||
"tools.klavis.servers": "个服务器",
|
||
"tools.klavis.servers.airtable.description": "Airtable 是一款基于云的数据库和电子表格平台,结合了电子表格的灵活性与数据库的强大功能,使团队能够通过可自定义视图和强大的自动化功能来组织、跟踪和协作项目。",
|
||
"tools.klavis.servers.airtable.readme": "集成 Airtable 以管理数据库和工作流程。查询记录、创建条目、更新数据,并通过可自定义视图和强大的跟踪功能实现自动化操作。",
|
||
"tools.klavis.servers.cal-com.description": "Cal.com 是一个开源的日程安排平台,帮助您无需反复邮件即可安排会议。管理事件类型、预订、可用时间,并与日历集成,实现无缝预约安排。",
|
||
"tools.klavis.servers.cal-com.readme": "连接 Cal.com 以管理您的日程和预约。查看可用时间、预订会议、管理事件类型,并通过自然对话自动化您的日历。",
|
||
"tools.klavis.servers.clickup.description": "ClickUp 是一个全面的项目管理和效率平台,帮助团队组织任务、管理项目,并通过可自定义的工作流程和强大的跟踪功能高效协作。",
|
||
"tools.klavis.servers.clickup.readme": "连接 ClickUp 以管理任务、跟踪项目并组织工作。创建任务、更新状态、管理自定义工作流程,并通过自然语言指令与团队协作。",
|
||
"tools.klavis.servers.confluence.description": "Confluence 是一个团队协作空间,融合了知识管理与协作功能。",
|
||
"tools.klavis.servers.confluence.readme": "连接 Confluence 以访问和管理团队文档。搜索页面、创建内容、组织空间,并通过对话式 AI 构建您的知识库。",
|
||
"tools.klavis.servers.dropbox.description": "Dropbox 云存储的完整文件管理解决方案。上传、下载、组织文件和文件夹,管理共享与协作,处理文件版本,创建文件请求,并对文件和文件夹执行批量操作。",
|
||
"tools.klavis.servers.dropbox.readme": "集成 Dropbox 以访问和管理您的文件。上传、下载、共享文件,管理文件夹,处理文件版本,并通过对话式 AI 组织您的云存储。",
|
||
"tools.klavis.servers.figma.description": "Figma 是一款用于网页和移动应用界面的协作设计工具。",
|
||
"tools.klavis.servers.figma.readme": "连接 Figma 以访问设计文件并协作项目。查看设计、导出资源、浏览组件,并通过自然对话管理设计流程。",
|
||
"tools.klavis.servers.github.description": "增强版 GitHub MCP 服务器",
|
||
"tools.klavis.servers.github.readme": "连接 GitHub 以管理代码库、问题、拉取请求和代码。搜索代码、审查更改、创建分支,并通过对话式 AI 协作开发项目。",
|
||
"tools.klavis.servers.gmail.description": "Gmail 是 Google 提供的免费电子邮件服务",
|
||
"tools.klavis.servers.gmail.readme": "将 Gmail 的强大功能直接引入您的 AI 助手。阅读、撰写和发送邮件,搜索收件箱,管理标签,并通过自然对话组织您的通信。",
|
||
"tools.klavis.servers.google-calendar.description": "Google 日历是一项时间管理和日程安排服务",
|
||
"tools.klavis.servers.google-calendar.readme": "集成 Google 日历以无缝查看、创建和管理事件。安排会议、设置提醒、查看可用时间,并通过自然语言指令协调您的时间。",
|
||
"tools.klavis.servers.google-docs.description": "Google 文档是 Google 提供的免费网页文字处理工具,属于 Google 文档编辑器套件的一部分",
|
||
"tools.klavis.servers.google-docs.readme": "集成 Google 文档以创建、编辑和管理文档。撰写内容、格式化文本、实时协作,并通过自然对话访问您的文档。",
|
||
"tools.klavis.servers.google-drive.description": "Google 云端硬盘是一项云存储服务",
|
||
"tools.klavis.servers.google-drive.readme": "连接 Google 云端硬盘以访问、组织和管理您的文件。搜索文档、上传文件、共享内容,并通过 AI 助手高效导航您的云存储。",
|
||
"tools.klavis.servers.google-sheets.description": "Google 表格是一款基于网页的电子表格应用,允许用户在线创建、编辑和协作处理表格",
|
||
"tools.klavis.servers.google-sheets.readme": "连接 Google 表格以读取、编写和分析表格数据。执行计算、生成报告、创建图表,并通过 AI 协作管理表格数据。",
|
||
"tools.klavis.servers.hubspot.description": "HubSpot 是一家专注于入站营销、销售和客户服务的软件开发商",
|
||
"tools.klavis.servers.hubspot.readme": "集成 HubSpot 以管理联系人、交易和营销活动。访问 CRM 数据、跟踪销售流程、自动化工作流,并优化销售与营销操作。",
|
||
"tools.klavis.servers.jira.description": "Jira 是由 Atlassian 开发的项目管理和问题跟踪工具",
|
||
"tools.klavis.servers.jira.readme": "集成 Jira 以管理问题、跟踪进度并组织冲刺。创建工单、更新状态、查询项目数据,并通过自然对话优化开发流程。",
|
||
"tools.klavis.servers.notion.description": "Notion 是一款协作型效率与笔记应用",
|
||
"tools.klavis.servers.notion.readme": "连接 Notion 以访问和管理您的工作区。创建页面、搜索内容、更新数据库,并通过与 AI 助手的自然对话组织知识库。",
|
||
"tools.klavis.servers.onedrive.description": "OneDrive 是由微软运营的文件托管和同步服务",
|
||
"tools.klavis.servers.onedrive.readme": "连接 OneDrive 以访问和管理您的微软云文件。上传、下载、共享文件,组织文件夹,并通过 AI 助手协作处理文档。",
|
||
"tools.klavis.servers.outlook-mail.description": "Outlook 邮件是微软提供的基于网页的邮件、联系人、任务和日历服务套件。",
|
||
"tools.klavis.servers.outlook-mail.readme": "集成 Outlook 邮件以阅读、发送和管理您的微软邮件。搜索消息、撰写邮件、管理文件夹,并通过自然对话整理收件箱。",
|
||
"tools.klavis.servers.salesforce.description": "Salesforce 是全球领先的客户关系管理(CRM)平台,帮助企业与客户、合作伙伴和潜在客户建立联系",
|
||
"tools.klavis.servers.salesforce.readme": "连接 Salesforce 以管理客户关系和销售数据。查询记录、更新商机、跟踪潜在客户,并通过自然语言指令自动化 CRM 工作流。",
|
||
"tools.klavis.servers.slack.description": "Slack 是一款为企业设计的消息应用,帮助人们获取所需信息",
|
||
"tools.klavis.servers.slack.readme": "集成 Slack 以发送消息、搜索对话并管理频道。与团队连接、自动化沟通流程,并通过自然语言访问工作区信息。",
|
||
"tools.klavis.servers.supabase.description": "Supabase 官方 MCP 服务器",
|
||
"tools.klavis.servers.supabase.readme": "集成 Supabase 以管理数据库和后端服务。查询数据、管理身份验证、处理存储,并通过自然对话与应用后端交互。",
|
||
"tools.klavis.servers.whatsapp.description": "WhatsApp Business API 集成,支持发送文本、媒体并管理客户对话。适用于客户支持、营销活动和通过官方 WhatsApp Business 平台实现的自动化消息工作流。",
|
||
"tools.klavis.servers.whatsapp.readme": "集成 WhatsApp Business 以发送消息、管理对话并与客户互动。通过对话式 AI 自动化消息流程并处理通信。",
|
||
"tools.klavis.servers.youtube.description": "YouTube 是一个视频分享平台,用户可以上传、分享和发现内容。可编程访问视频信息、字幕和元数据。",
|
||
"tools.klavis.servers.youtube.readme": "连接 YouTube 以搜索视频、访问字幕并获取视频信息。分析内容、提取元数据,并通过自然对话发现视频。",
|
||
"tools.klavis.servers.zendesk.description": "Zendesk 是一家客户服务软件公司",
|
||
"tools.klavis.servers.zendesk.readme": "集成 Zendesk 以管理支持工单和客户互动。创建、更新和跟踪支持请求,访问客户数据,并优化您的客服流程。",
|
||
"tools.klavis.tools": "个工具",
|
||
"tools.klavis.verifyAuth": "我已完成认证",
|
||
"tools.lobehubSkill.authorize": "授权",
|
||
"tools.lobehubSkill.connect": "连接",
|
||
"tools.lobehubSkill.connected": "已连接",
|
||
"tools.lobehubSkill.disconnect": "断开连接",
|
||
"tools.lobehubSkill.disconnectConfirm.desc": "您仍然可以继续之前引用 {{name}} 内容的对话。但助手将无法访问新内容或执行新任务。",
|
||
"tools.lobehubSkill.disconnectConfirm.title": "断开 {{name}} 的连接?",
|
||
"tools.lobehubSkill.disconnected": "已断开连接",
|
||
"tools.lobehubSkill.error": "错误",
|
||
"tools.lobehubSkill.providers.github.description": "GitHub 是一个面向版本控制和协作的平台,开发者可以在此托管、审查并管理代码仓库。",
|
||
"tools.lobehubSkill.providers.github.readme": "连接 GitHub 以访问您的代码仓库,创建并管理 Issue、审查 Pull Request,并通过与 AI 助手的自然对话协作开发。",
|
||
"tools.lobehubSkill.providers.linear.description": "Linear 是一款现代化的问题跟踪和项目管理工具,专为高效团队打造,助力更快构建更优软件。",
|
||
"tools.lobehubSkill.providers.linear.readme": "将 Linear 的强大功能引入您的 AI 助手。创建和更新问题、管理冲刺、跟踪项目进度,并通过自然对话优化开发流程。",
|
||
"tools.lobehubSkill.providers.microsoft.description": "Outlook 日历是 Microsoft Outlook 中集成的日程安排工具,用户可创建约会、组织会议并高效管理时间和事件。",
|
||
"tools.lobehubSkill.providers.microsoft.readme": "集成 Outlook 日历以无缝查看、创建和管理事件。安排会议、查看可用时间、设置提醒,并通过自然语言指令协调时间。",
|
||
"tools.lobehubSkill.providers.twitter.description": "X(原 Twitter)是一个社交媒体平台,用于分享实时动态、新闻,并通过推文、回复和私信与受众互动。",
|
||
"tools.lobehubSkill.providers.twitter.readme": "连接 X(原 Twitter)以发布推文、管理时间线并与受众互动。创建内容、安排发布、监控提及,并通过对话式 AI 构建社交媒体影响力。",
|
||
"tools.lobehubSkill.providers.vercel.description": "Vercel 是一个面向前端开发者的云平台,提供托管服务和无服务器函数,可轻松部署 Web 应用。",
|
||
"tools.lobehubSkill.providers.vercel.readme": "连接 Vercel 以管理部署、监控项目状态并控制基础设施。通过对话式 AI 部署应用、查看构建日志、管理环境变量并扩展项目。",
|
||
"tools.notInstalled": "未安装",
|
||
"tools.notInstalledWarning": "当前技能暂未安装,可能会影响助理使用",
|
||
"tools.plugins.enabled": "已启用 {{num}}",
|
||
"tools.plugins.groupName": "三方技能",
|
||
"tools.plugins.management": "技能管理",
|
||
"tools.plugins.noEnabled": "暂无启用技能",
|
||
"tools.plugins.store": "添加技能",
|
||
"tools.search": "搜索技能...",
|
||
"tools.skillActivateMode.auto.desc": "AI 可自主激活工具、运行技能,并从商店安装新技能",
|
||
"tools.skillActivateMode.auto.title": "自动",
|
||
"tools.skillActivateMode.manual.desc": "仅用户选择的工具和技能对 AI 可用",
|
||
"tools.skillActivateMode.manual.title": "手动",
|
||
"tools.skillActivateMode.title": "激活方式",
|
||
"tools.tabs.all": "全部",
|
||
"tools.tabs.installed": "已启用",
|
||
"tools.title": "技能"
|
||
}
|