refactor(ux): consolidate BMAD skills, update design system, and clean up Prisma generated client
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"about": {
|
||||
"appDescription": "具有 AI 功能的强大笔记应用程序",
|
||||
"appName": "Keep Notes",
|
||||
"appName": "Memento",
|
||||
"buildDate": "构建日期",
|
||||
"description": "应用程序信息",
|
||||
"features": {
|
||||
@@ -69,7 +69,9 @@
|
||||
"providerOllamaOption": "🦙 Ollama (Local & Free)",
|
||||
"providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)",
|
||||
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
|
||||
"saved": "(已保存)"
|
||||
"saved": "(已保存)",
|
||||
"chatProvider": "聊天提供商",
|
||||
"chatDescription": "用于聊天助手的 AI 提供商。如果未配置,将回退到标签提供商。"
|
||||
},
|
||||
"aiTest": {
|
||||
"description": "测试您的 AI 提供商的标签生成和语义搜索嵌入",
|
||||
@@ -93,7 +95,22 @@
|
||||
"tipDescription": "在测试之前使用 AI 测试面板诊断配置问题。",
|
||||
"tipTitle": "提示:",
|
||||
"title": "AI 提供商测试",
|
||||
"vectorDimensions": "向量维度"
|
||||
"vectorDimensions": "向量维度",
|
||||
"tagsGenerationTest": "🏷️ 标签生成测试:",
|
||||
"tagsStep1": "向 AI 提供商发送一条示例笔记",
|
||||
"tagsStep2": "根据内容请求 3-5 个相关标签",
|
||||
"tagsStep3": "显示生成的标签及其置信度分数",
|
||||
"tagsStep4": "测量响应时间",
|
||||
"embeddingsTestLabel": "🔍 嵌入测试:",
|
||||
"embeddingsStep1": "向嵌入提供商发送一段示例文本",
|
||||
"embeddingsStep2": "生成向量表示(数字列表)",
|
||||
"embeddingsStep3": "显示嵌入维度和示例值",
|
||||
"embeddingsStep4": "验证向量是否有效且格式正确",
|
||||
"tipContent": "您可以为标签和嵌入使用不同的提供商!例如,使用 Ollama(免费)生成标签,使用 OpenAI(最佳质量)生成嵌入,以优化成本和性能。",
|
||||
"testSuccessToast": "{type} 测试成功!",
|
||||
"testFailedToast": "{type} 测试失败",
|
||||
"testingType": "正在测试 {type}...",
|
||||
"technicalDetails": "技术详情"
|
||||
},
|
||||
"aiTesting": "AI 测试",
|
||||
"security": {
|
||||
@@ -105,6 +122,22 @@
|
||||
"updateSuccess": "安全设置已更新"
|
||||
},
|
||||
"settings": "管理员设置",
|
||||
"resend": {
|
||||
"title": "Resend(推荐)",
|
||||
"description": "通过 Resend API 发送邮件。如已配置,优先于 SMTP。",
|
||||
"apiKey": "Resend API 密钥",
|
||||
"apiKeyHint": "从 resend.com 获取 API 密钥。用于代理通知和密码重置。",
|
||||
"saveSettings": "保存 Resend 设置",
|
||||
"updateSuccess": "Resend 设置已更新",
|
||||
"updateFailed": "Resend 设置更新失败",
|
||||
"configured": "Resend 已配置并激活"
|
||||
},
|
||||
"email": {
|
||||
"title": "邮件配置",
|
||||
"description": "配置代理通知和密码重置的邮件发送。",
|
||||
"provider": "邮件提供商",
|
||||
"saveSettings": "保存邮件设置"
|
||||
},
|
||||
"smtp": {
|
||||
"description": "配置用于密码重置的邮件服务器。",
|
||||
"forceSSL": "强制 SSL/TLS(通常用于端口 465)",
|
||||
@@ -127,7 +160,7 @@
|
||||
"userManagement": "用户管理",
|
||||
"users": {
|
||||
"addUser": "添加用户",
|
||||
"confirmDelete": "Are you sure? This action cannot be undone.",
|
||||
"confirmDelete": "确定吗?此操作无法撤销。",
|
||||
"createFailed": "创建用户失败",
|
||||
"createSuccess": "用户创建成功",
|
||||
"createUser": "创建用户",
|
||||
@@ -153,6 +186,38 @@
|
||||
"name": "姓名",
|
||||
"role": "角色"
|
||||
}
|
||||
},
|
||||
"chat": "AI 聊天",
|
||||
"lab": "实验室",
|
||||
"agents": "代理",
|
||||
"workspace": "工作区",
|
||||
"sidebar": {
|
||||
"dashboard": "仪表盘",
|
||||
"users": "用户",
|
||||
"aiManagement": "AI 管理",
|
||||
"chat": "AI 聊天",
|
||||
"lab": "实验室(想法)",
|
||||
"agents": "代理",
|
||||
"settings": "设置"
|
||||
},
|
||||
"metrics": {
|
||||
"vsLastPeriod": "与上一周期相比"
|
||||
},
|
||||
"tools": {
|
||||
"title": "代理工具",
|
||||
"description": "配置代理工具使用的外部工具:网络搜索、网页抓取和 API 访问。",
|
||||
"searchProvider": "网络搜索提供商",
|
||||
"searxng": "SearXNG(自托管)",
|
||||
"brave": "Brave Search API",
|
||||
"both": "两者皆可(SearXNG 优先,Brave 备用)",
|
||||
"searxngUrl": "SearXNG URL",
|
||||
"braveKey": "Brave Search API 密钥",
|
||||
"jinaKey": "Jina Reader API 密钥",
|
||||
"jinaKeyOptional": "可选 — 无密钥也可使用,但有速率限制",
|
||||
"jinaKeyDescription": "用于网页抓取。无密钥也可使用,但有速率限制。",
|
||||
"saveSettings": "保存工具设置",
|
||||
"updateSuccess": "工具设置更新成功",
|
||||
"updateFailed": "更新工具设置失败"
|
||||
}
|
||||
},
|
||||
"ai": {
|
||||
@@ -201,7 +266,8 @@
|
||||
"languageDetected": "检测到的语言",
|
||||
"notebookSummary": {
|
||||
"regenerate": "重新生成摘要",
|
||||
"regenerating": "正在重新生成摘要..."
|
||||
"regenerating": "正在重新生成摘要...",
|
||||
"exportPDF": "导出为 PDF"
|
||||
},
|
||||
"original": "原文",
|
||||
"poweredByAI": "由 AI 驱动",
|
||||
@@ -229,7 +295,21 @@
|
||||
"transformError": "转换时出错",
|
||||
"transformMarkdown": "转换为 Markdown",
|
||||
"transformSuccess": "文本已成功转换为 Markdown!",
|
||||
"transforming": "转换中..."
|
||||
"transforming": "转换中...",
|
||||
"clarifyDesc": "使文本更清晰易懂",
|
||||
"shortenDesc": "总结文本并突出要点",
|
||||
"improve": "改进写作",
|
||||
"improveDesc": "修复语法并增强风格",
|
||||
"toMarkdown": "格式化为 Markdown",
|
||||
"toMarkdownDesc": "添加标题、项目符号并组织文本结构",
|
||||
"translate": "翻译",
|
||||
"translateDesc": "更改文本语言",
|
||||
"translateBack": "返回",
|
||||
"translationApplied": "翻译已应用",
|
||||
"translationFailed": "翻译失败",
|
||||
"undo": "撤销 AI",
|
||||
"undoAI": "撤销 AI 转换",
|
||||
"undoApplied": "已恢复原始文本"
|
||||
},
|
||||
"aiSettings": {
|
||||
"description": "配置您的 AI 驱动功能和偏好设置",
|
||||
@@ -255,7 +335,11 @@
|
||||
},
|
||||
"appearance": {
|
||||
"description": "自定义应用的外观",
|
||||
"title": "外观"
|
||||
"title": "外观",
|
||||
"notesViewDescription": "选择笔记在主页和笔记本中的显示方式。",
|
||||
"notesViewLabel": "笔记布局",
|
||||
"notesViewTabs": "标签页(OneNote 风格)",
|
||||
"notesViewMasonry": "卡片(网格)"
|
||||
},
|
||||
"auth": {
|
||||
"backToLogin": "返回登录",
|
||||
@@ -283,7 +367,7 @@
|
||||
"sending": "发送中...",
|
||||
"signIn": "登录",
|
||||
"signInToAccount": "登录您的账户",
|
||||
"signOut": "Sign out",
|
||||
"signOut": "退出登录",
|
||||
"signUp": "注册"
|
||||
},
|
||||
"autoLabels": {
|
||||
@@ -453,11 +537,11 @@
|
||||
},
|
||||
"diagnostics": {
|
||||
"apiStatus": "API 状态",
|
||||
"checking": "Checking...",
|
||||
"checking": "检查中...",
|
||||
"configuredProvider": "已配置的提供商",
|
||||
"description": "Check your AI provider connection status",
|
||||
"errorStatus": "Error",
|
||||
"operational": "Operational",
|
||||
"description": "检查您的 AI 提供商连接状态",
|
||||
"errorStatus": "错误",
|
||||
"operational": "正常运行",
|
||||
"testDetails": "测试详情:",
|
||||
"tip1": "确保 Ollama 正在运行(ollama serve)",
|
||||
"tip2": "检查模型是否已安装(ollama pull llama3)",
|
||||
@@ -482,13 +566,13 @@
|
||||
"apply": "应用",
|
||||
"back": "返回",
|
||||
"cancel": "取消",
|
||||
"clean": "Clean",
|
||||
"clean": "清理",
|
||||
"clear": "清除",
|
||||
"close": "关闭",
|
||||
"confirm": "确认",
|
||||
"edit": "编辑",
|
||||
"error": "发生错误",
|
||||
"indexAll": "Index All",
|
||||
"indexAll": "全部索引",
|
||||
"loading": "加载中...",
|
||||
"next": "下一步",
|
||||
"operationFailed": "操作失败",
|
||||
@@ -499,7 +583,7 @@
|
||||
"save": "保存",
|
||||
"select": "选择",
|
||||
"submit": "提交",
|
||||
"testConnection": "Test Connection",
|
||||
"testConnection": "测试连接",
|
||||
"tryAgain": "请重试"
|
||||
},
|
||||
"generalSettings": {
|
||||
@@ -507,37 +591,39 @@
|
||||
"title": "常规设置"
|
||||
},
|
||||
"labels": {
|
||||
"addLabel": "Add label",
|
||||
"allLabels": "All Labels",
|
||||
"changeColor": "Change Color",
|
||||
"changeColorTooltip": "Change color",
|
||||
"clearAll": "Clear all",
|
||||
"confirmDelete": "Are you sure you want to delete this label?",
|
||||
"addLabel": "添加标签",
|
||||
"allLabels": "所有标签",
|
||||
"changeColor": "更改颜色",
|
||||
"changeColorTooltip": "更改颜色",
|
||||
"clearAll": "清除全部",
|
||||
"confirmDelete": "确定要删除此标签吗?",
|
||||
"count": "{count} 个标签",
|
||||
"createLabel": "Create label",
|
||||
"delete": "Delete",
|
||||
"deleteTooltip": "Delete label",
|
||||
"editLabels": "Edit Labels",
|
||||
"editLabelsDescription": "Create, edit colors, or delete labels.",
|
||||
"filter": "Filter by Label",
|
||||
"filterByLabel": "Filter by label",
|
||||
"labelColor": "Label color",
|
||||
"labelName": "Label name",
|
||||
"loading": "Loading...",
|
||||
"manage": "Manage Labels",
|
||||
"manageLabels": "Manage labels",
|
||||
"manageLabelsDescription": "Add or remove labels for this note. Click on a label to change its color.",
|
||||
"manageTooltip": "Manage Labels",
|
||||
"namePlaceholder": "Enter label name",
|
||||
"newLabelPlaceholder": "Create new label",
|
||||
"createLabel": "创建标签",
|
||||
"delete": "删除",
|
||||
"deleteTooltip": "删除标签",
|
||||
"editLabels": "编辑标签",
|
||||
"editLabelsDescription": "创建、编辑颜色或删除标签。",
|
||||
"filter": "按标签筛选",
|
||||
"filterByLabel": "按标签筛选",
|
||||
"labelColor": "标签颜色",
|
||||
"labelName": "标签名称",
|
||||
"loading": "加载中...",
|
||||
"manage": "管理标签",
|
||||
"manageLabels": "管理标签",
|
||||
"manageLabelsDescription": "为此笔记添加或移除标签。点击标签可更改其颜色。",
|
||||
"manageTooltip": "管理标签",
|
||||
"namePlaceholder": "输入标签名称",
|
||||
"newLabelPlaceholder": "创建新标签",
|
||||
"noLabels": "暂无标签",
|
||||
"noLabelsFound": "No labels found.",
|
||||
"notebookRequired": "⚠️ Labels are only available in notebooks. Move this note to a notebook first.",
|
||||
"selectedLabels": "Selected Labels",
|
||||
"showLess": "Show less",
|
||||
"showMore": "Show more",
|
||||
"tagAdded": "Tag \"{tag}\" added",
|
||||
"title": "Labels"
|
||||
"noLabelsFound": "未找到标签。",
|
||||
"notebookRequired": "⚠️ 标签仅在笔记本中可用。请先将此笔记移至笔记本。",
|
||||
"selectedLabels": "已选标签",
|
||||
"showLess": "收起",
|
||||
"showMore": "展开更多",
|
||||
"tagAdded": "标签 \"{tag}\" 已添加",
|
||||
"title": "标签",
|
||||
"confirmDeleteShort": "确认?",
|
||||
"labelRemoved": "标签 \"{label}\" 已移除"
|
||||
},
|
||||
"memoryEcho": {
|
||||
"clickToView": "点击查看笔记",
|
||||
@@ -611,7 +697,8 @@
|
||||
"thanksFeedback": "感谢您的反馈!",
|
||||
"thanksFeedbackImproving": "谢谢!我们将利用此来改进。",
|
||||
"title": "我注意到了一些事情...",
|
||||
"viewConnection": "查看关联"
|
||||
"viewConnection": "查看关联",
|
||||
"match": "{percentage}% 匹配"
|
||||
},
|
||||
"nav": {
|
||||
"accountSettings": "账户设置",
|
||||
@@ -646,7 +733,10 @@
|
||||
"supportDevelopment": "支持 Memento 开发 ☕",
|
||||
"trash": "回收站",
|
||||
"userManagement": "用户管理",
|
||||
"workspace": "工作区"
|
||||
"workspace": "工作区",
|
||||
"chat": "AI 聊天",
|
||||
"lab": "实验室",
|
||||
"agents": "代理"
|
||||
},
|
||||
"notebook": {
|
||||
"cancel": "取消",
|
||||
@@ -667,7 +757,16 @@
|
||||
"selectIcon": "图标",
|
||||
"summary": "笔记本摘要",
|
||||
"summaryDescription": "生成此笔记本中所有笔记的 AI 摘要。",
|
||||
"summaryError": "生成摘要时出错"
|
||||
"summaryError": "生成摘要时出错",
|
||||
"namePlaceholder": "例如:第四季度营销策略",
|
||||
"myNotebook": "我的笔记本",
|
||||
"saving": "保存中...",
|
||||
"pdfTitle": "摘要 — {name}",
|
||||
"pdfNotesLabel": "笔记:",
|
||||
"pdfGeneratedOn": "生成日期:",
|
||||
"confidence": "置信度",
|
||||
"savingReminder": "保存提醒失败",
|
||||
"removingReminder": "移除提醒失败"
|
||||
},
|
||||
"notebookSuggestion": {
|
||||
"description": "这条笔记似乎属于这个笔记本",
|
||||
@@ -676,7 +775,7 @@
|
||||
"generalNotes": "普通笔记",
|
||||
"move": "移动",
|
||||
"moveToNotebook": "移动到笔记本",
|
||||
"title": "移动到 {icon} {name}?"
|
||||
"title": "移动到 {name}?"
|
||||
},
|
||||
"notebooks": {
|
||||
"allNotebooks": "所有笔记本",
|
||||
@@ -784,7 +883,16 @@
|
||||
"unpinned": "未置顶",
|
||||
"untitled": "无标题",
|
||||
"uploadFailed": "上传失败:{filename}",
|
||||
"view": "查看笔记"
|
||||
"view": "查看笔记",
|
||||
"emptyStateTabs": "这里还没有笔记。使用侧边栏中的「新建笔记」来添加(AI 标题建议会出现在编辑器中)。",
|
||||
"viewCards": "卡片视图",
|
||||
"viewCardsTooltip": "卡片网格,支持拖拽排序",
|
||||
"viewTabs": "列表视图",
|
||||
"viewTabsTooltip": "上方为标签页,下方为笔记 — 拖拽标签页可排序",
|
||||
"viewModeGroup": "笔记显示模式",
|
||||
"reorderTabs": "重新排序标签页",
|
||||
"modified": "已修改",
|
||||
"created": "已创建"
|
||||
},
|
||||
"pagination": {
|
||||
"next": "→",
|
||||
@@ -833,12 +941,12 @@
|
||||
"preferredLanguage": "首选语言",
|
||||
"profileError": "更新个人资料时出错",
|
||||
"profileUpdated": "个人资料已更新",
|
||||
"recentNotesUpdateFailed": "Failed to update recent notes setting",
|
||||
"recentNotesUpdateSuccess": "Recent notes setting updated successfully",
|
||||
"recentNotesUpdateFailed": "更新最近笔记设置失败",
|
||||
"recentNotesUpdateSuccess": "最近笔记设置更新成功",
|
||||
"selectFontSize": "选择字体大小",
|
||||
"selectLanguage": "选择语言",
|
||||
"showRecentNotes": "Show Recent Notes Section",
|
||||
"showRecentNotesDescription": "Display recent notes (last 7 days) on the main page",
|
||||
"showRecentNotes": "显示最近笔记部分",
|
||||
"showRecentNotesDescription": "在主页上显示最近 7 天的笔记",
|
||||
"title": "个人资料",
|
||||
"updateFailed": "更新个人资料失败",
|
||||
"updatePassword": "更新密码",
|
||||
@@ -887,21 +995,21 @@
|
||||
"about": "关于",
|
||||
"account": "账户",
|
||||
"appearance": "外观",
|
||||
"cleanTags": "Clean Orphan Tags",
|
||||
"cleanTagsDescription": "Remove tags that are no longer used by any notes",
|
||||
"cleanTags": "清理孤立标签",
|
||||
"cleanTagsDescription": "移除不再被任何笔记使用的标签",
|
||||
"description": "管理您的设置和偏好",
|
||||
"language": "语言",
|
||||
"languageAuto": "自动检测",
|
||||
"maintenance": "Maintenance",
|
||||
"maintenanceDescription": "Tools to maintain your database health",
|
||||
"maintenance": "维护",
|
||||
"maintenanceDescription": "维护数据库健康的工具",
|
||||
"notifications": "通知",
|
||||
"privacy": "隐私",
|
||||
"profile": "个人资料",
|
||||
"searchNoResults": "未找到匹配的设置",
|
||||
"security": "安全",
|
||||
"selectLanguage": "选择语言",
|
||||
"semanticIndexing": "Semantic Indexing",
|
||||
"semanticIndexingDescription": "Generate vectors for all notes to enable intent-based search",
|
||||
"semanticIndexing": "语义索引",
|
||||
"semanticIndexingDescription": "为所有笔记生成向量以启用基于意图的搜索",
|
||||
"settingsError": "保存设置时出错",
|
||||
"settingsSaved": "设置已保存",
|
||||
"theme": "主题",
|
||||
@@ -909,15 +1017,29 @@
|
||||
"themeLight": "浅色",
|
||||
"themeSystem": "跟随系统",
|
||||
"title": "设置",
|
||||
"version": "版本"
|
||||
"version": "版本",
|
||||
"cleanupDone": "已同步 {created} 条标签记录,移除 {deleted} 个孤立标签",
|
||||
"cleanupNothing": "无需操作 — 标签已与笔记匹配",
|
||||
"cleanupWithErrors": "部分操作失败",
|
||||
"cleanupError": "无法清理标签",
|
||||
"indexingComplete": "索引完成:已处理 {count} 条笔记",
|
||||
"indexingError": "索引期间出错",
|
||||
"emailNotifications": "电子邮件通知",
|
||||
"emailNotificationsDesc": "通过电子邮件接收重要通知",
|
||||
"desktopNotifications": "桌面通知",
|
||||
"desktopNotificationsDesc": "在浏览器中接收通知",
|
||||
"notificationsDesc": "管理您的通知偏好"
|
||||
},
|
||||
"sidebar": {
|
||||
"archive": "Archive",
|
||||
"editLabels": "Edit labels",
|
||||
"labels": "Labels",
|
||||
"notes": "Notes",
|
||||
"reminders": "Reminders",
|
||||
"trash": "Trash"
|
||||
"archive": "归档",
|
||||
"editLabels": "编辑标签",
|
||||
"labels": "标签",
|
||||
"notes": "笔记",
|
||||
"reminders": "提醒",
|
||||
"trash": "回收站",
|
||||
"newNoteTabs": "新建笔记",
|
||||
"newNoteTabsHint": "在此笔记本中创建笔记",
|
||||
"noLabelsInNotebook": "此笔记本中暂无标签"
|
||||
},
|
||||
"support": {
|
||||
"aiApiCosts": "AI API 成本:",
|
||||
@@ -987,10 +1109,19 @@
|
||||
"thanksFeedbackImproving": "谢谢!我们将利用此来改进。"
|
||||
},
|
||||
"trash": {
|
||||
"deletePermanently": "永久删除",
|
||||
"empty": "回收站是空的",
|
||||
"title": "回收站",
|
||||
"empty": "回收站为空",
|
||||
"emptyDescription": "已删除的笔记将显示在这里",
|
||||
"restore": "恢复",
|
||||
"title": "回收站"
|
||||
"deletePermanently": "永久删除",
|
||||
"noteTrashed": "笔记已移至回收站",
|
||||
"noteRestored": "笔记已恢复",
|
||||
"notePermanentlyDeleted": "笔记已永久删除",
|
||||
"emptyTrash": "清空回收站",
|
||||
"emptyTrashConfirm": "确定永久删除回收站中的所有笔记?",
|
||||
"emptyTrashSuccess": "回收站已清空",
|
||||
"permanentDelete": "永久删除",
|
||||
"permanentDeleteConfirm": "此笔记将被永久删除,此操作无法撤销。"
|
||||
},
|
||||
"ui": {
|
||||
"close": "关闭",
|
||||
@@ -1003,7 +1134,7 @@
|
||||
"description": "管理 API 密钥并配置外部工具",
|
||||
"whatIsMcp": {
|
||||
"title": "什么是 MCP?",
|
||||
"description": "模型上下文协议(MCP)是一个开放协议,使 AI 模型能够与外部工具和数据源安全交互。通过 MCP,您可以将 Claude Code、Cursor 或 N8N 等工具连接到您的 Keep Notes 实例,以编程方式读取、创建和整理笔记。",
|
||||
"description": "模型上下文协议(MCP)是一个开放协议,使 AI 模型能够与外部工具和数据源安全交互。通过 MCP,您可以将 Claude Code、Cursor 或 N8N 等工具连接到您的 Memento 实例,以编程方式读取、创建和整理笔记。",
|
||||
"learnMore": "了解更多关于 MCP"
|
||||
},
|
||||
"serverStatus": {
|
||||
@@ -1057,5 +1188,241 @@
|
||||
"description": "在您的 N8N MCP 节点中使用以下凭据:"
|
||||
}
|
||||
}
|
||||
},
|
||||
"agents": {
|
||||
"title": "代理",
|
||||
"subtitle": "自动化您的监控和研究任务",
|
||||
"newAgent": "新建代理",
|
||||
"myAgents": "我的代理",
|
||||
"noAgents": "暂无代理",
|
||||
"noAgentsDescription": "创建您的第一个代理或安装下方的模板以自动化监控任务。",
|
||||
"types": {
|
||||
"scraper": "监控器",
|
||||
"researcher": "研究员",
|
||||
"monitor": "观察者",
|
||||
"custom": "自定义"
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"scraper": "抓取多个网站并创建摘要",
|
||||
"researcher": "搜索有关主题的信息",
|
||||
"monitor": "监视笔记本并分析笔记",
|
||||
"custom": "使用自定义提示的自由代理"
|
||||
},
|
||||
"form": {
|
||||
"agentType": "代理类型",
|
||||
"name": "名称",
|
||||
"namePlaceholder": "例如:周二 AI 观察",
|
||||
"description": "描述(可选)",
|
||||
"descriptionPlaceholder": "每周 AI 新闻摘要",
|
||||
"urlsLabel": "要抓取的 URL",
|
||||
"urlsOptional": "(可选)",
|
||||
"sourceNotebook": "要监视的笔记本",
|
||||
"selectNotebook": "选择笔记本...",
|
||||
"targetNotebook": "目标笔记本",
|
||||
"inbox": "收件箱",
|
||||
"instructions": "AI 指令",
|
||||
"instructionsPlaceholder": "描述代理的行为...",
|
||||
"frequency": "频率",
|
||||
"cancel": "取消",
|
||||
"saving": "保存中...",
|
||||
"save": "保存",
|
||||
"create": "创建代理",
|
||||
"editTitle": "编辑代理",
|
||||
"createTitle": "新建代理",
|
||||
"nameRequired": "名称为必填项",
|
||||
"addUrl": "添加 URL",
|
||||
"advancedMode": "高级模式",
|
||||
"instructionsHint": "替换自动提示词",
|
||||
"researchTopic": "研究主题",
|
||||
"researchTopicPlaceholder": "例如:人工智能最新进展",
|
||||
"notifyEmail": "邮件通知",
|
||||
"notifyEmailHint": "每次运行后通过邮件接收代理结果"
|
||||
},
|
||||
"frequencies": {
|
||||
"manual": "手动",
|
||||
"hourly": "每小时",
|
||||
"daily": "每天",
|
||||
"weekly": "每周",
|
||||
"monthly": "每月"
|
||||
},
|
||||
"status": {
|
||||
"success": "成功",
|
||||
"failure": "失败",
|
||||
"running": "运行中",
|
||||
"pending": "等待中"
|
||||
},
|
||||
"actions": {
|
||||
"edit": "编辑",
|
||||
"run": "运行",
|
||||
"delete": "删除",
|
||||
"deleteConfirm": "删除代理 \"{name}\"?",
|
||||
"toggleOn": "代理已启用",
|
||||
"toggleOff": "代理已禁用"
|
||||
},
|
||||
"toasts": {
|
||||
"created": "代理已创建",
|
||||
"updated": "代理已更新",
|
||||
"deleted": "\"{name}\" 已删除",
|
||||
"deleteError": "删除时出错",
|
||||
"runSuccess": "\"{name}\" 执行成功",
|
||||
"runError": "错误:{error}",
|
||||
"runFailed": "执行失败",
|
||||
"runGenericError": "执行期间出错",
|
||||
"toggleError": "切换代理时出错",
|
||||
"installSuccess": "\"{name}\" 已安装",
|
||||
"installError": "安装时出错",
|
||||
"saveError": "保存时出错"
|
||||
},
|
||||
"templates": {
|
||||
"title": "模板",
|
||||
"install": "安装",
|
||||
"installing": "安装中...",
|
||||
"veilleAI": {
|
||||
"name": "AI 观察",
|
||||
"description": "抓取 5 个 AI 专业网站并生成每周摘要。"
|
||||
},
|
||||
"veilleTech": {
|
||||
"name": "科技观察",
|
||||
"description": "抓取主要科技网站并创建新闻摘要。"
|
||||
},
|
||||
"veilleDev": {
|
||||
"name": "开发观察",
|
||||
"description": "抓取开发网站并总结新技术和框架。"
|
||||
},
|
||||
"surveillant": {
|
||||
"name": "笔记观察者",
|
||||
"description": "分析笔记本中的近期笔记并建议补充内容、参考和链接。"
|
||||
},
|
||||
"chercheur": {
|
||||
"name": "主题研究员",
|
||||
"description": "搜索有关主题的深入信息并创建带有参考的结构化笔记。"
|
||||
}
|
||||
},
|
||||
"runLog": {
|
||||
"title": "历史记录",
|
||||
"noHistory": "暂无执行记录",
|
||||
"toolTrace": "{count} 次工具调用",
|
||||
"step": "第 {num} 步"
|
||||
},
|
||||
"tools": {
|
||||
"title": "代理工具",
|
||||
"webSearch": "网络搜索",
|
||||
"webScrape": "网页抓取",
|
||||
"noteSearch": "笔记搜索",
|
||||
"noteRead": "读取笔记",
|
||||
"noteCreate": "创建笔记",
|
||||
"urlFetch": "获取 URL",
|
||||
"memorySearch": "记忆",
|
||||
"configNeeded": "配置",
|
||||
"selected": "{count} 个已选择",
|
||||
"maxSteps": "最大迭代次数"
|
||||
},
|
||||
"metadata": {
|
||||
"executions": "{count} 次执行"
|
||||
},
|
||||
"defaultRoles": {
|
||||
"scraper": "您是一个监控助手。将不同网站的文章综合成清晰、结构化的摘要。",
|
||||
"researcher": "您是一位严谨的研究员。针对请求的主题,制作包含背景、要点、争议和参考文献的研究笔记。",
|
||||
"monitor": "您是一位分析助手。分析提供的笔记并建议线索、参考和笔记之间的联系。",
|
||||
"custom": "您是一位有帮助的助手。"
|
||||
},
|
||||
"help": {
|
||||
"title": "代理指南",
|
||||
"btnLabel": "帮助",
|
||||
"close": "关闭",
|
||||
"whatIsAgent": "什么是代理?",
|
||||
"whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.",
|
||||
"howToUse": "如何使用代理?",
|
||||
"howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook",
|
||||
"types": "代理类型",
|
||||
"typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types",
|
||||
"advanced": "高级模式(AI指令,最大迭代)",
|
||||
"advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.",
|
||||
"tools": "可用工具(详细)",
|
||||
"toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.",
|
||||
"frequency": "频率和计划",
|
||||
"frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.",
|
||||
"targetNotebook": "目标笔记本",
|
||||
"targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.",
|
||||
"templates": "模板",
|
||||
"templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.",
|
||||
"tips": "提示和故障排除",
|
||||
"tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs",
|
||||
"tooltips": {
|
||||
"agentType": "选择代理将执行的任务类型。每种类型具有不同的功能和字段。",
|
||||
"researchTopic": "代理将在网络上研究的主题。请具体说明以获得更好的结果。",
|
||||
"description": "关于此代理功能的简短描述。帮助您记住其用途。",
|
||||
"urls": "要抓取的网站列表。代理将访问每个URL并提取内容。",
|
||||
"sourceNotebook": "代理将分析的笔记本。它读取此笔记本中的笔记以查找关联和主题。",
|
||||
"targetNotebook": "代理的结果笔记将保存到哪里。选择收件箱或特定笔记本。",
|
||||
"frequency": "代理自动运行的频率。从手动开始测试。",
|
||||
"instructions": "替换默认AI提示的自定义指令。留空则使用自动提示。",
|
||||
"tools": "选择代理可以使用的工具。每个工具赋予代理特定能力。",
|
||||
"maxSteps": "最大推理循环数。更多步骤 = 更深入的分析,但耗时更长。"
|
||||
}
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
"title": "AI 聊天",
|
||||
"subtitle": "与您的笔记和 AI 代理聊天",
|
||||
"newConversation": "新对话",
|
||||
"noHistory": "暂无历史记录",
|
||||
"untitled": "无标题对话",
|
||||
"deleteConfirm": "删除此对话?",
|
||||
"yes": "是",
|
||||
"placeholder": "向助手发送消息...",
|
||||
"allNotebooks": "所有笔记本",
|
||||
"inAllNotebooks": "在所有笔记本中",
|
||||
"active": "活跃",
|
||||
"disclaimer": "AI 可能会出错。请核实重要信息。",
|
||||
"assistantError": "助手错误",
|
||||
"loadError": "加载对话时出错",
|
||||
"createError": "创建对话时出错",
|
||||
"deleteError": "删除时出错",
|
||||
"renamed": "对话已重命名",
|
||||
"renameError": "重命名时出错",
|
||||
"welcome": "我可以帮助您综合笔记、生成新想法或讨论您的笔记本。",
|
||||
"searching": "搜索中...",
|
||||
"noNotesFoundForContext": "未找到与此问题相关的笔记。请用你的常识回答。"
|
||||
},
|
||||
"labHeader": {
|
||||
"title": "实验室",
|
||||
"live": "实时",
|
||||
"currentProject": "当前项目",
|
||||
"choose": "选择...",
|
||||
"yourSpaces": "您的空间",
|
||||
"updated": "已更新",
|
||||
"newSpace": "新思考空间",
|
||||
"new": "新建",
|
||||
"renamed": "空间已重命名",
|
||||
"renameError": "重命名时出错",
|
||||
"created": "新空间已创建",
|
||||
"createFailed": "创建失败",
|
||||
"deleteSpace": "删除空间",
|
||||
"deleted": "空间已删除",
|
||||
"deleteError": "删除时出错"
|
||||
},
|
||||
"notification": {
|
||||
"shared": "分享了\"{title}\"",
|
||||
"untitled": "无标题",
|
||||
"notifications": "通知",
|
||||
"accept": "Accept",
|
||||
"accepted": "Share accepted",
|
||||
"decline": "Decline",
|
||||
"declined": "分享已拒绝",
|
||||
"noNotifications": "No new notifications",
|
||||
"removed": "笔记已从列表中移除"
|
||||
},
|
||||
"reminders": {
|
||||
"title": "提醒",
|
||||
"empty": "暂无提醒",
|
||||
"emptyDescription": "为笔记添加提醒后,它会显示在这里。",
|
||||
"upcoming": "即将到来",
|
||||
"overdue": "已过期",
|
||||
"done": "已完成",
|
||||
"markDone": "标记为已完成",
|
||||
"markUndone": "标记为未完成",
|
||||
"todayAt": "今天 {time}",
|
||||
"tomorrowAt": "明天 {time}"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user