Commit Graph
50 Commits
Author SHA1 Message Date
admin b0783c9356 feat(sync): 添加 Vault 所有的用户 Skill 记录 2026-09-09 08:39:14 +08:00
admin a751d80459 feat(sync): 按 Vault 持久化可移植侧栏布局 2026-09-09 06:49:10 +08:00
admin 4c79e940d2 feat: 添加 OpenNexus 认证 Core 与 Stronghold 基础能力 2026-09-08 12:23:20 +08:00
admin 2010778780 fix(agent): 恢复桌面端执行轨迹 2026-09-08 08:04:31 +08:00
admin 2b18b8b2a2 fix(desktop): 扩充应用菜单与元数据快捷键 2026-09-08 00:01:03 +08:00
admin afb76dc325 feat(desktop): 增加原生 Vault 写入与属性导入 2026-09-07 16:52:30 +08:00
admin ac2d36bf9c fix(chat): preserve retry attachments and per-answer context snapshots 2026-09-07 00:09:14 +08:00
admin cec8daac93 feat(chat): add workspace chat, attachments and agent delegation 2026-09-06 23:17:35 +08:00
admin 637ddbb9bf feat: improve chat retrieval, message versions and Markdown rendering 2026-09-06 21:39:40 +08:00
admin f0fe8f2629 feat(editor): add scroll navigation and update theme Markdown behavior 2026-09-06 17:15:41 +08:00
admin 3b9490e3fb fix: stabilize background operations and large embedding results 2026-09-06 16:26:17 +08:00
admin 750e17212e fix(editor): recover missing files and synchronize section toggle 2026-09-06 13:29:19 +08:00
admin 8ad1db33f7 feat(editor): add markdown presets, heading folding and external file refresh 2026-09-06 12:57:09 +08:00
admin 415efc4444 feat(editor): add themed callouts and desktop command boundary 2026-09-06 11:33:19 +08:00
admin a5c44c4ac0 fix(workspace): background vector indexing and correct diagram previews 2026-09-06 02:57:56 +08:00
admin 7001794a22 fix(phase2): restore agent streams and persist extension installations 2026-09-06 02:21:27 +08:00
admin 99a92e9eb1 feat(extensions): add ZIP installation and unify action dialogs 2026-09-06 00:52:59 +08:00
admin a1ab1024f0 feat: 添加全局人设与头像设置并优化对话及弹窗交互 2026-09-05 22:26:12 +08:00
admin 7551716e13 feat: 添加模型上下文管理并统一主题组件与用量交互 2026-09-05 21:58:37 +08:00
admin a63f6c57e0 feat(frontend): 完善工作区导航与笔记属性并适配手帐主题 2026-09-05 19:11:45 +08:00
admin 0f08cd051b fix(frontend): 同步 main 并修复 phase2 关闭审阅意见 2026-09-05 17:32:34 +08:00
admin 32411ce6fe fix(chat): 删除会话期间阻止发送和重复删除 2026-09-05 15:12:07 +08:00
admin cce96588e2 fix(chat): 防止会话切换串写和删除后复活 2026-09-05 10:31:42 +08:00
admin feb8cc651f fix(chat): 持久化会话与消息 2026-09-05 10:12:09 +08:00
saint f273fef235 fix(frontend): 修复 PR #18 审阅问题并补充回归测试
审阅意见逐项修复:

1. 主题包安装丢弃用户 CSS
   inspectThemePackage 之前只解析 YAML 清单,ThemesView 安装时另外
   生成一套硬编码调色板,用户提供的 CSS 被整份丢掉。现在定义单文件
   格式(YAML 清单 + `---` + CSS),parseThemePackage 取出真实 CSS
   并原样安装;CSS 安全校验提前到预览阶段;按内容识别并拒绝 ZIP。

2. 主题恢复竞态导致页面无 data-theme
   initTheme 之前没有 await loadCustomThemes,自定义主题还没进
   allThemes,applyTheme 找不到主题直接 return。现在先同步落一个
   内置主题兜底(不写 localStorage,避免冲掉用户存的自定义主题 id),
   加载完成后再切到真正保存的那个;主题失效或列表加载失败时回退并
   通过 themeLoadWarning 告知用户,不再静默。

3. Trace 建树依赖事件相邻顺序
   后端真实顺序是 ModelCallStarted → ModelCallCompleted → Usage →
   ToolCall/ToolResult,工具在模型调用完成后才执行且并发跑,相邻性
   不可用。改为按 model_call_id / parent_model_call_id / tool_call_id
   关联;ToolResult 回填 ToolCall 的状态与耗时,结束后不再显示
   running;SSE 断点恢复的孤立事件退回顶层而不是丢弃。

4. Trace 叶子节点无法查看数据
   行的 click 是 `children.length && toggleExpand`,而详情 v-if 又
   要求 `children.length === 0`,两个条件互斥。拆成 expandedNodes
   与 detailNodes 两个状态集合;展开箭头改为独立按钮,行支持键盘
   与 aria-expanded;引用节点补「定位」按钮。同时修正 Usage 卡片
   字段(后端只发累计 token_usage)。

5. 引用定位逻辑三处重复且各自有缺陷
   抽出 navigateToCitation(依赖注入,可独立测试)+ useCitationNavigation。
   调用顺序固化:必须先 await loadFile 再 highlightBlock,否则
   editor store 的 loadFile 末尾会把高亮清掉;loadFile 失败时不跳转。
   AgentView / ChatView / AppShell 统一走这一处。

6. 插件命令 UI 重复实现
   抽出 PluginCommandPanel 复用 PluginMcpPanel 的 schema 驱动表单,
   删除 PluginsView 里的劣化副本。effect 现在真的执行 navigate /
   refresh(此前只拼成文本显示);补上必填校验与布尔字段初始值,
   修正「显示否但不提交该键」的不一致。

补充回归测试 64 项(相关 spec 由 25 项增至 89 项),并对 2、3、4 三项
缺陷做了变异验证:把修复回退成原写法后对应测试确实失败。
涉及 traceService / theme store / themePackageService / pluginCommandForm /
useCitationNavigation / TraceTimeline,其中后三个为新增文件。

vue-tsc -b、vitest(32 文件 182 项)、vite build 全部通过。
2026-09-05 10:04:17 +08:00
admin 89e475c0c2 fix(frontend): 补齐英文失败路径 2026-09-05 09:48:27 +08:00
admin ef961d322b feat(frontend): 实现中英文切换与拼写检查 2026-09-05 09:38:23 +08:00
saint 639f38c1fc feat(frontend): 第二阶段前端 Agent Trace / 主题包 / Mermaid 能力
实现第二阶段分工表中吉海燕负责的 P0/P1 前端能力。

- Agent Trace 可视化:新增 traceService 将扁平事件流折叠为树
  (ModelCallStarted 区间内的工具/文本事件挂为子节点,运行级事件保持顶层),
  TraceTimeline 支持时间线/树两种视图、耗时统计与引用跳转。
- 主题包:新增 themePackageService(Web Mock Adapter),
  校验 manifest 必填字段与 theme_id 格式,拒绝远程 css_entry;
  CSS 侧拒绝 @import / expression() / javascript:,
  未通过校验的 CSS 不会注入页面。内置主题走 data-theme=light|dark|sepia,
  自定义主题走 data-theme={theme_id} + 独立 style 节点。
  ThemesView 增加“已安装/社区主题”两个标签页与导入、预览、卸载流程。
- Mermaid:新增 mermaidService(securityLevel: strict)与 MermaidBlock,
  markdown 渲染管线识别 mermaid 代码块;MarkdownContent 随亮/暗主题重渲染
  (SVG 配色在渲染时烘焙,无法靠 CSS 变量事后调整)。
- 插件贡献 UI:PluginsView 增加“概览/命令/设置”标签页,
  PluginSettingsPanel 按 Schema 动态生成表单;
  secret 字段只写不读,仅展示 configured 状态,不进 store 也不回显。

与 main 上队友成果的整合(rebase 时处理):
- 命令面板保留队友基于真实后端的实现(when 条件求值、效果白名单、
  参数命令跳详情页),仅叠加我新增的主题/任务两条内置命令。
- 删除我先前的 pluginContributionService(mock 版),
  统一改用队友已落地的 pluginService 真实接口;
  相应修正表单以匹配真实契约(options 为 string[]、min/max 可空、无 placeholder)。
- 移除 contracts 中与队友重复的 PluginHostStatus / PluginCommand /
  PluginSettingField / PluginSettingsSchema 声明,以队友版本为准。
- PluginsView 概览页保留队友的 PluginMcpPanel,并补回被我改写时丢掉的空状态。

顺带修复:
- 开启 skipLibCheck —— mermaid 11.17 把 type-fest 泄漏进了发布产物的
  .d.ts,但只声明为自身 devDependency,vue-tsc -b 会因此报错。

验证:pnpm test 26 文件 / 113 测试通过(新增 traceService、
themePackageService 两个测试文件共 22 项);pnpm build 通过。
2026-09-04 21:36:47 +08:00
admin 1d0f19508a fix(search): 将搜索历史持久化到应用数据库 2026-09-04 19:33:43 +08:00
admin 6eb97bf9ab feat: 添加知识库检索功能和改进模型路由错误处理
- 在ChatRequest中添加Citation事件类型,支持引用来源展示
- 实现聊天上下文准备服务,构建带源元数据的受限聊天上下文
- 添加ThreadedProcess类以支持Windows平台的子进程操作
- 改进检索引擎中的错误处理和向量搜索逻辑
- 实现严格的嵌入模型验证和索引重建机制
- 添加前端聊天界面的知识库检索开关
- 实现搜索历史记录功能和错误降级处理
- 更新模型路由设置提示信息以反映索引重建需求
2026-09-04 13:02:08 +08:00
admin c04f4c1989 fix(frontend): 移除运行时演示数据并接入真实后端状态 2026-09-04 07:47:05 +08:00
admin ed2e867db1 feat(frontend): complete MCP plugin management UI 2026-09-03 14:22:29 +08:00
admin 49c856a69c chore(frontend): 补充状态与服务边界注释 2026-08-30 22:59:58 +08:00
admin 3595021d80 feat(frontend): 添加 GitHub 代码块主题设置 2026-08-30 20:41:42 +08:00
admin 352975d753 feat(frontend): 支持直接配置模型API密钥 2026-08-30 10:57:05 +08:00
admin 31e29f25bb fix(frontend): 提示模型凭据缺失与鉴权失败 2026-08-30 10:48:25 +08:00
admin 0f6938c6a2 feat(frontend): 支持提供商预设与自动获取模型 2026-08-30 10:44:04 +08:00
admin 693c86c24d fix(frontend): 修复可视化编辑器文件切换时序 2026-08-30 10:24:47 +08:00
admin 0dbd32a757 fix(frontend): 防止切换文件丢稿并修复主题恢复 2026-08-30 00:14:10 +08:00
admin cd405da21c fix(frontend): 接通设置状态与搜索降级 2026-08-29 23:59:22 +08:00
admin d6f6b7e6e2 fix(frontend): 修复任务关联字段持久化 2026-08-29 23:59:11 +08:00
admin 4f9ebc55ec fix(frontend): 清理Agent跨Run权限状态 2026-08-29 23:59:11 +08:00
admin afd49ba00f fix(frontend): 修复文件树与编辑器状态一致性 2026-08-29 23:59:11 +08:00
admin 5aa0026bb9 fix(frontend): 完善Markdown与Chat事件渲染 2026-08-29 23:59:01 +08:00
admin 5192a8b4e8 feat(frontend): 完成主题与设置页面 2026-08-29 22:49:44 +08:00
admin 3239bab696 feat(frontend): 完成Skill与Plugin管理页面 2026-08-29 22:49:44 +08:00
admin 3c9142533e feat(frontend): 完成任务管理页面 2026-08-29 22:49:33 +08:00
admin 6b362ccb6f feat(frontend): 完成Agent运行与Trace页面 2026-08-29 22:49:32 +08:00
admin 610fc77b0f fix(frontend): 修复合并审阅发现的构建与契约问题
恢复 Vue TypeScript 生产构建,补齐可运行页面壳子,并修复文件树与 SSE 状态问题。

按 FastAPI Wire Contract 统一 Service DTO 映射,同时补充前端开发说明和问题修复复盘。
2026-08-29 12:10:33 +08:00
saint f9efc4f4a2 feat(frontend): 搭建桌面端基础界面与 Workspace
- App Shell 壳层:主导航、次导航、Title Bar、状态栏
- Vault 入口页:最近 Vault、打开/创建 Vault、AI Core 状态
- Workspace 与文件树:浏览、打开、创建笔记/文件夹
- Design Token:浅色/深色主题 CSS Variables
- Contracts / Service / Store / Router 基础架构
- 统一 ApiClient 与 SseClient,对接后端 API 契约
2026-08-29 10:36:16 +08:00