新增: AI Chat多项增强(审批去重/编辑重发/导出/实体引用/会话置顶搜索)+任务推进链df-nodes落地

This commit is contained in:
2026-06-16 12:41:13 +08:00
parent 212a927eee
commit 7d5cd4c89a
62 changed files with 4576 additions and 248 deletions

View File

@@ -6,9 +6,15 @@ export default {
doubleClickToRename: 'Double-click to rename',
archive: 'Archive',
unarchive: 'Unarchive',
pinConversation: 'Pin',
unpinConversation: 'Unpin',
archived: 'Archived',
archivedCount: 'Archived ({n})',
emptyConversation: 'No conversations',
// UX-06 §3.1: conversation search (live title filter, Ctrl+K to focus)
searchPlaceholder: 'Search chats…',
searchEmpty: 'No matching chats',
searchShortcutHint: 'Ctrl+K',
// ── Time grouping (sidebar) ──
today: 'Today',
@@ -62,10 +68,17 @@ export default {
// ── Skill ──
clearSkill: 'Clear skill',
placeholderWithSkill: 'Skill selected. Type arguments and press Enter',
placeholderDefault: 'Type a message... (/ for skills)',
placeholderDefault: 'Type a message... (/ for skills, @ to mention)',
skillNoMatch: 'No matching skill',
skillNotLoaded: 'No local skills loaded',
// ── UX-10: @ entity mention (@ opens popover, select inserts [Type:Name] token) ──
mentionHint: '@ to mention project/task',
mentionGroupProject: 'Projects',
mentionGroupTask: 'Tasks',
mentionNoMatch: 'No matching entity',
mentionEmpty: 'No project/task to mention',
// ── Send ──
stopGenerating: 'Stop generating',
@@ -76,11 +89,43 @@ export default {
confirmDeleteConversation: 'Delete chat "{title}"? This cannot be undone.',
clearChat: 'Clear',
confirmClearChat: 'Are you sure you want to clear all messages in this chat? This cannot be undone.',
// UX-08 §3.4: generate-in-progress confirm when starting a new chat (only when generating, otherwise no behavior change)
confirmNewConvWhileGenerating: 'Generation is in progress. Interrupt it and start a new chat?',
toastSendFail: 'Send failed: {msg}',
// ── Message copy (F-260615-13) ──
copyMsg: 'Copy message',
copied: 'Copied',
copyFailed: 'Copy failed',
// ── Message actions bar (UX-02) ──
regenerate: 'Regenerate',
regenerateFailed: 'Regenerate failed: {msg}',
regenerateUnavailable: 'No reply to regenerate',
// ── UX-09: edit last user message and regenerate ──
editMessage: 'Edit',
editMessageFailed: 'Edit failed: {msg}',
editNotLastUser: 'Only the last user message can be edited',
placeholderEditing: 'Edit message then Enter to regenerate (Esc to cancel)',
// ── Error bubble actions (UX-03) ──
retry: 'Retry',
goToSettingsAction: 'Open settings',
// ── F-260616-03: max iterations reached pause action card ──
maxRoundsReached: 'Max rounds reached. Continue?',
maxRoundsHint: 'Continue runs another full round; stop ends with current results',
continueLoop: 'Continue',
stopLoop: 'Stop',
continueLoopFailed: 'Continue failed: {msg}',
stopLoopFailed: 'Stop failed: {msg}',
// ── UX-18: conversation export (sidebar hover, pick format to download) ──
exportConversation: 'Export chat',
exportMarkdown: 'Markdown',
exportJson: 'JSON',
exportTxt: 'Plain text',
exportFailed: 'Export failed: {msg}',
},
}

View File

@@ -4,7 +4,8 @@ export default {
add: '+ New Knowledge',
tab: {
library: 'Library',
inbox: 'Inbox',
// inbox = pending items (candidate + pending_review); library is published-only (F-260616-02 decision a)
inbox: 'Pending',
},
searchPlaceholder: 'Search title, tags, content...',
categoryAll: 'All',

View File

@@ -5,6 +5,7 @@ export default {
projects: 'Projects',
tasks: 'Tasks',
knowledge: 'Knowledge',
audit: 'Audit Log',
settings: 'Settings',
workspace: 'Workspace',
traceability: 'Traceability',

View File

@@ -76,6 +76,9 @@ export default {
labelPerConvConcurrency: 'Per-conversation concurrency',
descPerConvConcurrency: 'Concurrent LLM calls within one conversation (main loop / title / distill shared)',
labelAgentMaxIterations: 'Agent max iterations',
descAgentMaxIterations: 'Max rounds of the agentic loop (stream → tool → feedback) (1-50, default 10); changes take effect on the next message',
// ===== Knowledge base panel =====
panelKnowledge: '📚 Knowledge base',
labelAutoExtract: 'Auto-distill knowledge',

View File

@@ -5,7 +5,7 @@ export default {
refresh: 'Refresh',
// Status hints
loading: 'Loading...',
loadFailed: 'Failed to load',
loadFailed: 'Failed to load: {msg}',
// Panel
infoTitle: 'Task Info',
// Field labels
@@ -36,6 +36,16 @@ export default {
cancel: 'Cancel Task',
},
advancing: 'Advancing...',
advanceFailed: 'Failed to advance task',
advanceFailed: 'Failed to advance task: {msg}',
// F-260616-06 ①-1 / B-41 Workflow advance (linked to task, auto-selects pipeline template by target_status)
workflowAdvanceTitle: 'Workflow Advance',
workflowAdvance: 'Run Workflow',
workflowAdvancing: 'Workflow advancing...',
workflowAdvanceFailed: 'Workflow advance failed: {msg}',
// B-41 Inline progress (lightweight, listens to NodeStarted/NodeCompleted/WorkflowFailed)
workflowStepRunning: 'Running: {node}',
workflowStepsProgress: '{done} / {total} steps done',
workflowCompletedHint: 'Workflow completed, task advanced',
workflowFailedHint: 'Workflow failed, task rolled back',
},
}

View File

@@ -6,9 +6,15 @@ export default {
doubleClickToRename: '双击重命名',
archive: '归档',
unarchive: '取消归档',
pinConversation: '置顶',
unpinConversation: '取消置顶',
archived: '已归档',
archivedCount: '已归档 ({n})',
emptyConversation: '暂无对话',
// UX-06 §3.1:对话搜索(实时过滤标题,Ctrl+K 聚焦)
searchPlaceholder: '搜索对话…',
searchEmpty: '无匹配对话',
searchShortcutHint: 'Ctrl+K',
// ── 时间分组(侧栏) ──
today: '今天',
@@ -62,10 +68,17 @@ export default {
// ── 技能 ──
clearSkill: '取消技能',
placeholderWithSkill: '已选技能,输入参数后回车',
placeholderDefault: '输入消息.../ 触发技能)',
placeholderDefault: '输入消息.../ 触发技能@ 引用实体',
skillNoMatch: '无匹配技能',
skillNotLoaded: '未读取到本机技能',
// ── UX-10: @ 实体引用(@ 触发 popover,选中插入 [类型:名] 标记) ──
mentionHint: '@ 引用项目/任务',
mentionGroupProject: '项目',
mentionGroupTask: '任务',
mentionNoMatch: '无匹配实体',
mentionEmpty: '暂无可引用的项目/任务',
// ── 发送 ──
stopGenerating: '停止生成',
@@ -76,11 +89,43 @@ export default {
confirmDeleteConversation: '确定删除对话「{title}」?该操作不可恢复。',
clearChat: '清空',
confirmClearChat: '确定清空当前对话的所有消息?此操作不可恢复。',
// UX-08 §3.4:生成中点新建对话确认弹窗(仅生成中触发,非生成中零行为变化)
confirmNewConvWhileGenerating: '当前正在生成,确定中断并新建对话?',
toastSendFail: '发送失败:{msg}',
// ── 消息拷贝(F-260615-13) ──
copyMsg: '复制消息',
copied: '已复制',
copyFailed: '复制失败',
// ── 消息操作栏(UX-02) ──
regenerate: '重新生成',
regenerateFailed: '重新生成失败:{msg}',
regenerateUnavailable: '没有可重新生成的回复',
// ── UX-09: 编辑末条 user 消息并重新生成 ──
editMessage: '编辑',
editMessageFailed: '编辑失败:{msg}',
editNotLastUser: '只能编辑最后一条用户消息',
placeholderEditing: '编辑消息后回车重新生成Esc 取消)',
// ── 错误气泡操作入口(UX-03) ──
retry: '重试',
goToSettingsAction: '去设置',
// ── F-260616-03: 达 max_iterations 暂停态操作卡 ──
maxRoundsReached: '已达最大轮次,是否继续?',
maxRoundsHint: '继续将再跑一轮上限;停止则按当前结果收尾',
continueLoop: '继续',
stopLoop: '停止',
continueLoopFailed: '继续失败:{msg}',
stopLoopFailed: '停止失败:{msg}',
// ── UX-18:对话导出(侧栏 hover 浮出,选格式下载) ──
exportConversation: '导出对话',
exportMarkdown: 'Markdown',
exportJson: 'JSON',
exportTxt: '纯文本',
exportFailed: '导出失败:{msg}',
},
}

View File

@@ -5,14 +5,15 @@ export default {
// 顶层 Tab
tab: {
library: '知识库',
inbox: '审核收件箱',
// inbox = 待处理收件箱(candidate + pending_review);library 纯 published(F-260616-02 决策 a)
inbox: '待处理',
},
// 搜索
searchPlaceholder: '搜索标题、标签、内容...',
// 分类
categoryAll: '全部',
// 列表空状态
emptyInbox: '✅ 暂无待审核条目',
emptyInbox: '✅ 暂无待处理条目',
emptyLibrary: '📭 没有匹配的知识',
// 详情头部操作
edit: '✏️ 编辑',

View File

@@ -5,6 +5,7 @@ export default {
projects: '项目',
tasks: '任务',
knowledge: '知识库',
audit: '审批历史',
settings: '设置',
workspace: '工作区',
traceability: '追溯',

View File

@@ -76,6 +76,9 @@ export default {
labelPerConvConcurrency: '单对话并发上限',
descPerConvConcurrency: '单个对话内同时进行的 LLM 调用数(主循环 / 标题 / 提炼共享)',
labelAgentMaxIterations: 'Agent 最大轮次',
descAgentMaxIterations: 'Agentic 循环流式→工具→回传的最大轮次1-50默认 10热改下次发消息生效',
// ===== 知识库面板 =====
panelKnowledge: '📚 知识库',
labelAutoExtract: '自动提炼知识',

View File

@@ -5,7 +5,7 @@ export default {
refresh: '刷新',
// 状态提示
loading: '加载中...',
loadFailed: '加载失败',
loadFailed: '加载失败: {msg}',
// 面板
infoTitle: '任务信息',
// 字段标签
@@ -36,6 +36,16 @@ export default {
cancel: '取消任务', // * → cancelled
},
advancing: '推进中...',
advanceFailed: '推进任务失败',
advanceFailed: '推进任务失败: {msg}',
// F-260616-06 ①-1 / B-41 工作流推进(联动任务,按 target_status 自动选推进链模板)
workflowAdvanceTitle: '工作流推进',
workflowAdvance: '工作流推进', // 按钮(默认入口)
workflowAdvancing: '工作流推进中...',
workflowAdvanceFailed: '工作流推进失败: {msg}',
// B-41 内嵌进度(轻量,听 NodeStarted/NodeCompleted/WorkflowFailed)
workflowStepRunning: '执行中: {node}',
workflowStepsProgress: '已完成 {done} / {total} 步',
workflowCompletedHint: '工作流完成,任务已推进',
workflowFailedHint: '工作流失败,任务已退回',
},
}