Commit Graph
150 Commits
Author SHA1 Message Date
hy bb3a374b61 Advance human live tests and simplify report evidence 2026-03-18 16:26:54 +08:00
hy fe04c06fe3 Refine live model baseline and normalize OpenAI base URLs 2026-03-17 14:49:31 +08:00
hy 19c8f995f9 Add partial delivery coverage for blocked human flows 2026-03-17 12:25:08 +08:00
hy fb1dec8757 Expand AI backend tests and add human test harnesses 2026-03-17 12:11:08 +08:00
huangyuan 8247f9cf81 实施测试日志契约v2改造方案」} ओली? need Chinese 2026-03-14 15:38:03 +08:00
hy 5f6beebe21 Start new openspec change process 2026-03-13 16:44:14 +08:00
hy 5f4582b734 Update human-led delivery docs 2026-03-13 12:52:09 +08:00
hy 7382ce612c Document main runtime baseline 2026-03-13 09:23:34 +08:00
hy 354ed9a3fe Update human test P3 status 2026-03-12 19:09:01 +08:00
hy eb51ae835b 继续推进 human 测试计划}collectionWeights 2026-03-12 18:49:05 +08:00
hy f7aa26ba01 Archive improve-human-test-eval 2026-03-12 17:48:11 +08:00
hy f73f4b86dd Clean renderer warning noise on UI 2026-03-12 14:02:55 +08:00
hy b9deb51925 Rename human-live naming 2026-03-12 10:26:01 +08:00
hy f7de58edd4 Add doc/test directory docs 2026-03-11 17:24:54 +08:00
hy 8991a16319 Migrate ai directory structure 2026-03-11 14:21:35 +08:00
huangyuan fa228c680b new workspace 2026-03-10 18:31:29 +08:00
hy f34995966d Implement brain-driven skill activat 2026-03-06 18:57:26 +08:00
hy 4f0c9a9e00 设计 brain 驱动 skill 加载方案 2026-03-06 18:34:55 +08:00
hy ae8ec9a460 refactor: unify AI prompt management and enhance human execution flow
- Introduced a centralized AI prompt registry to consolidate main, human, and memory prompts, improving maintainability and auditability.
- Enhanced human execution strategy to allow for progressive exploration in case of recoverable failures, preventing premature task blocking.
- Removed the `HumanTaskInput.mode` field, simplifying the input contract to `taskId` and `objective`, reducing coupling and complexity.
- Updated relevant documentation and specifications to reflect architectural changes and ensure consistency across the system.
- Implemented structured prompt building interfaces to enforce output contracts and improve prompt quality.
- Ensured backward compatibility by maintaining existing event semantics while transitioning to the new prompt management system.
2026-03-05 15:02:11 +08:00
hy 3e6763fcaa refactor: centralize AI prompt management and enhance human execution flow
- Introduced a unified prompt registry for main, human, and memory prompts to improve maintainability and reduce duplication.
- Replaced inline prompts in various nodes with calls to the new prompt registry.
- Enhanced the human execution model to allow for progressive exploration after recoverable failures, rather than immediate blocking.
- Removed the `mode` field from `HumanTaskInput`, simplifying the input contract to just `taskId` and `objective`.
- Updated documentation to reflect changes in architecture and prompt management.
- Added structured prompt building functions to ensure consistent output contracts across the system.
2026-03-05 14:06:27 +08:00
hy bbb33f514e feat(docx): expand docx tool capabilities and implement worker for document processing
- Updated the docx tool capabilities to include new actions: 'docx_open', 'docx_outline', 'docx_get_block', 'docx_search', 'docx_apply_ops', 'docx_render_preview', 'docx_save', and 'docx_validate'.
- Introduced a new types file for docx-related types, including specifications for text runs, paragraphs, tables, and operations.
- Created a worker for handling document processing tasks, including opening documents, outlining, searching, applying operations, rendering previews, and saving.
- Implemented a client for the docx worker to manage requests and responses.
- Added protocol definitions for communication between the main thread and the worker.
- Enhanced the ChatPage component to support document previews for artifacts.
2026-03-04 16:54:22 +08:00
hy c1139a33d9 feat: Update AI architecture and node structure to enhance task execution flow and state management 2026-03-04 15:34:01 +08:00
hy e212b5b9e4 Refactor AI Node Structure: Remove Slot Commit and Human Init Nodes, Simplify Tool Execution Flow
- Deleted `initNode.ts` and `slotCommitNode.ts` to streamline the human node structure.
- Updated `toolExecNode.ts` to remove unnecessary phases and simplify the tool execution logic.
- Adjusted `types.ts` to reflect the removal of phases and state properties related to slot management.
- Modified `contextDispatchNode.ts` and `dispatchNode.ts` to align with the new flow and removed references to slot states.
- Introduced `intentNode.ts` to handle intent decisions and context enrichment.
- Updated state schemas to remove slot-related properties and adjust the main stage flow.
- Cleaned up unused imports and types across various files to enhance code clarity and maintainability.
2026-03-04 14:08:03 +08:00
hy 39afff090c feat: add docx and local knowledge base retrieval capabilities
- Implemented docx capability tools including inspection, editing, and saving functionalities.
- Added local knowledge base retrieval tools for hybrid, vector, and FTS searches.
- Created a registry to manage capability tools and their configurations.
- Developed terminal execution capabilities with command risk assessment and workspace boundary checks.
- Introduced artifact management for terminal commands, including file creation and updates.
- Enhanced error handling and event emission for better tracking of tool execution states.
2026-03-03 18:23:34 +08:00
hy b7c87ad3e4 feat: add contextTaskObjective to state schema and update context handling in nodes 2026-03-03 17:57:27 +08:00
hy 179a631b9a feat: implement human task execution and context management nodes
- Added `toolExecNode.ts` for executing tools in human tasks, handling tool responses, and managing task states.
- Introduced `types.ts` to define types related to human run states and phases.
- Created `contextDispatchNode.ts` for dispatching context enrichment tasks.
- Developed `contextGateNode.ts` to manage context decision-making and transitions.
- Implemented `dispatchNode.ts` for handling task dispatching and state updates.
- Added `finalizeNode.ts` to generate final answers based on task outcomes.
- Created helper functions in `helpers.ts` for managing context evidence and task planning.
- Implemented `planNode.ts` for generating task plans based on user input and context.
- Updated `types.ts` to include new types for human tasks and context management.
- Refactored utility functions in `aiCapabilityUtils.ts` to streamline task handling.
- Enhanced `ChatPage.tsx` to support new event types and display human step tracking.
- Updated shared types to include new event stages and task definitions.
2026-03-03 17:20:17 +08:00
hy d08b30865b feat: implement host action executor and tools for AI capabilities
- Add hostActionExecutor.ts to manage execution of host actions including context retrieval, plan creation, and final answers.
- Introduce hostActionTools.ts for defining and validating host action schemas.
- Create hostNode.ts to handle decision-making and task execution logic for the AI host.
- Implement hostPrompt.ts to generate prompts for host decision-making based on current state and context evidence.
- Enhance runtime.ts to include local instructions in the AI run context.
- Update types.ts to define new types for host actions and events.
- Modify ChatPage.tsx to handle internal events and improve user feedback on task execution and approval processes.
- Ensure proper handling of internal events in the UI to avoid unnecessary user notifications.
2026-03-02 17:21:36 +08:00
hy 6ebab8bd00 feat: implement host decision loop with context enrichment and tool actions 2026-03-02 16:35:52 +08:00
hy 3a747294a1 feat: add terminal execution capability with boundary checks and risk classification
- Implemented terminal command execution with safety checks and approval gating.
- Added tools for running commands and marking completion.
- Introduced policies for workspace boundary checks and command risk classification.
- Enhanced artifact tracking for file operations resulting from terminal commands.
- Created utility functions for managing task execution and event emissions.
- Developed a local knowledge base retrieval system with hybrid, vector, and FTS search capabilities.
2026-03-02 15:07:31 +08:00
hy be56ac1f4e fix: correct import paths for capability tools in graph.ts 2026-03-02 14:24:08 +08:00
hy 9d7cfed144 feat: implement terminal execution capabilities with safety checks and artifact management
- Added terminalExec.ts for running shell commands with timeout and output management.
- Introduced terminalPolicy.ts for workspace boundary checks and command risk classification.
- Developed terminalTools.ts to handle command execution, artifact detection, and event emission.
- Removed outdated test files related to previous implementations.
- Added utility functions for bounded loops and file artifact event emission.
2026-03-02 14:23:57 +08:00
hy b4c49ca782 feat: add terminal capability tools and file artifact management
- Implemented `emitFileArtifactEvent` for emitting file artifact events.
- Created `TerminalCapabilityTools` for executing terminal commands with workspace boundary checks and risk classification.
- Added `checkWorkspaceBoundary` and `classifyCommandRisk` functions for command validation.
- Introduced `terminalPolicy` for managing terminal command policies.
- Enhanced `ChatPage` to display file artifacts and provide options to open or reveal paths.
- Updated shared types to include artifact-related types and events.
- Added utility functions for grouping artifact events by task.
2026-02-28 18:41:59 +08:00
hy 34c9fa3155 Refactor AI graph processing and utility functions
- Introduced utility functions for handling carrier content and tool calls in `graph.ts`.
- Simplified task mapping logic by creating a dedicated `toPlannedTask` function.
- Enhanced error handling in `ModelService` and `EmbeddingService` for better clarity.
- Added new utility functions in `decoder.ts` for type-safe conversions.
- Improved document handling in `DocumentsStore` with better type checks and normalization.
- Updated preload API to streamline communication between renderer and main process.
- Enhanced type definitions for better clarity and maintainability in global types.
- Refactored components to improve type safety and reduce TypeScript errors.
2026-02-28 17:57:39 +08:00
hy 537915d067 refactor: remove deprecated writing workflow types and methods
- Removed WritingFolderRecord, WritingDocumentRecord, and related methods from global types.
- Cleaned up legacy writing workflow types and events from shared types.
- Updated serialization utility to improve type safety for IPC results.
- Changed input and output types in AiRunEvent to use 'unknown' for better type handling.
2026-02-28 17:09:35 +08:00
hy 8bcbe7980e feat: add terminal execution capabilities and approval workflow
- Implemented a new terminal execution service in `terminalExec.ts` to run shell commands with configurable options.
- Removed deprecated writing tools from `writingTools.ts`.
- Updated AI task types to include 'terminal_exec' and 'local_kb_retrieval'.
- Enhanced AI run context and state management to support document selection and workspace configuration.
- Added approval request and decision types to the AI run event system.
- Modified the ChatPage component to handle terminal execution events and display results.
- Introduced UI elements for selecting documents and specifying workspace paths.
2026-02-28 15:42:52 +08:00
hy 3d2b30c713 feat(ai-runtime): 引入基于LangGraph的AI运行时以重构聊天模式
- 新增LangGraph状态机,包含host、retrieval、writer和answer四个节点,支持多步骤任务执行
- 实现AI运行事件流,通过IPC向渲染进程发送计划、任务和工具调用等执行详情
- 添加会话记忆存储,支持加载最近对话轮次和生成紧凑的会话摘要
- 提供检索工具集(混合/向量/全文搜索)和写作工具集(创建/更新/搜索替换文档)
- 弃用旧版写作工作流,默认禁用其IPC端点并引导使用新运行时
- 更新渲染进程类型定义和预加载API,支持新的AI运行事件订阅
- 在写作工作空间页面添加通过URL参数直接打开文档的支持
- 统一使用@langchain/openai创建LLM客户端,将模型调用移至主进程
2026-02-27 19:12:50 +08:00
hy 545dc7c540 perf(检索上下文): 优化检索策略并增加结果数量上限
将单一查询循环拆分为三个独立阶段:全局查询混合检索、章节查询混合检索和关键词全文检索,以提升检索质量。同时将去重后结果上限从30条增加到50条,提供更多上下文信息。
2026-02-25 15:34:13 +08:00
hy ad888da6b7 refactor(writing): 将写作工作流重构为模块化架构
将写作工作流的实现拆分为独立的运行时、节点和图构建模块,以提升可维护性和可扩展性。

- 提取共享工作流上下文,集中管理取消检查、事件发送、持久化和工具函数
- 将每个工作流阶段实现为独立的节点模块,明确职责边界
- 保持现有阶段ID和事件语义不变,确保渲染器兼容性
- 更新相关类型定义和存储接口以支持新架构
2026-02-25 15:28:09 +08:00
hy ca46afb6b9 refactor(storage): 重构存储层为低层数据库核心和领域服务
引入 LanceDbCore 作为低层数据库访问层,封装连接、表管理和查询辅助方法
创建 DocumentsStore、ChatStore、LlmConfigStore、WritingStore 等领域服务类
将 UnifiedStore 重构为 StorageService 门面,提供统一的领域服务访问
更新所有 IPC 处理器和主进程服务以使用新的存储 API
2026-02-25 14:25:57 +08:00
hy be7569f2a1 feat(writing): 新增基于知识库的AI写作工作流与写作空间
- 新增知识库驱动的AI写作工作流,使用LangGraph JS编排多阶段生成流程(大纲→检索计划→检索→引用选择→草稿生成)
- 支持通过"@"提及功能选择特定文档作为引用范围,默认检索整个知识库
- 新增写作空间,包含文件夹树、文档列表和BlockNote编辑器,支持文档的创建、编辑和持久化
- 集成BlockNote编辑器,支持将AI生成的Markdown导入编辑,并可导出为DOCX和PDF格式
- 新增写作工作流运行记录和引用追踪,确保生成内容的可追溯性
- 扩展存储层,新增写作文件夹、文档和工作流运行表
- 扩展搜索接口,支持按文档ID范围进行检索过滤
2026-02-24 17:21:08 +08:00
hy 137f269a0a refactor: 移除导入页面的高级配置折叠面板并调整品牌图标样式
移除 ImportPage 中未使用的 Collapse 组件以简化界面,同时调整 App 中品牌图标的宽度样式以优化显示效果。
2026-02-10 17:58:52 +08:00
hy 375566cb72 build: 更新应用图标文件并修正导入路径
将图标文件从 resources 目录移动到 build 目录,并更新主进程代码中的图标引用路径。同时修正了 IngestionService 的导入路径以保持项目结构一致性。
2026-02-10 17:46:19 +08:00
hy 3b86747970 feat(web-import): 支持从网页 URL 导入内容并集成到搜索
新增网页 URL 导入能力,使用 CheerioWebBaseLoader 抓取网页正文,并通过 include/exclude selectors 过滤噪声内容。网页内容进入与文件一致的分段、嵌入和索引管线,使其可参与混合搜索。在 UI 中区分网页与文件类型,为网页结果提供打开链接功能,并支持按来源类型过滤搜索结果。
2026-02-10 14:44:20 +08:00
hy 9f8be412c8 fix: 将返回按钮改为首页按钮以改进导航体验
将侧边栏的返回按钮替换为首页按钮,点击后直接导航至根路径('/')而不是返回上一页,提供更直观的导航方式。
2026-02-05 16:12:37 +08:00
hy 8947289b9a feat(chat): 实现基于数据库的聊天会话与LLM配置管理
- 新增 ChatSession、ChatMessage、LLMConfig 类型定义
- 在 UnifiedStore 中添加聊天相关表的创建与CRUD方法
- 实现 IPC handlers 用于前后端通信
- 重构 SettingsPage 使用数据库存储LLM配置
- 重构 ChatPage 使用数据库存储会话和消息
- 更新 NotificationCenter 和 SearchPage 以支持异步配置获取
- 添加数据库文档说明
2026-02-05 16:08:58 +08:00
hy 3270d10d19 refactor(renderer): 移除未使用的 React 导入并统一代码格式
- 从 docx.tsx、pdf.tsx 和 markdown.tsx 中移除未使用的 React 命名导入
- 在 markdown.tsx 中统一使用双引号,并调整缩进以提升代码一致性
2026-02-05 14:25:03 +08:00
hy 3952316ee3 fix(搜索): 在聊天页面中去除重复的搜索结果并优化UI
在搜索结果展示前根据document_id进行去重,确保用户不会看到重复文档
同时调整AI头像背景色和源卡片布局,将垂直排列改为水平滚动以提高可读性
2026-01-30 16:46:40 +08:00
hy a02efc2b17 docs: 更新模型名称和描述以匹配实际规格
简化模型名称,移除不准确的上下文长度和维度信息
更新标签以反映模型文件大小
2026-01-30 14:39:19 +08:00
hy baa75e29cb feat(ui): 添加通知中心以统一管理模型和LLM配置提示
- 将 ModelStatusChecker 重构为 NotificationCenter,支持多种通知类型
- 新增 LLM 配置检查,在聊天页自动提示,并在搜索页切换 AI 回答时触发检查
- 添加 CSS 动画效果使通知卡片从右侧滑入
- 将侧边栏和设置页的“模型配置”文本统一更新为“大模型配置”
2026-01-30 14:30:16 +08:00
hy 3043c883b3 feat: 添加全局模型状态检查组件并移除页面级检查逻辑
- 新增 ModelStatusChecker 组件,统一处理模型下载提示
- 从 ChatPage 和 SearchPage 移除重复的模型状态检查逻辑
- 在 App.tsx 中全局引入 ModelStatusChecker 组件
- 更新项目规则文档,添加 UI/UX 注意事项
2026-01-30 14:20:29 +08:00