From fbaab05ffde32b3892028aa0b4876b41c0dd6024 Mon Sep 17 00:00:00 2001 From: Kevin Jiang Date: Fri, 17 Jul 2026 17:40:33 +0800 Subject: [PATCH] update terrain assets --- .terrain/.meta/freshness.json | 26 +- .terrain/.meta/sync.json | 2 +- .terrain/agent/context-meta.json | 6 +- .terrain/agent/context.md | 163 +++---- .terrain/agent/meta-inputs-manifest.json | 2 +- .terrain/agent/meta.json | 8 +- .terrain/agent/repomix.index.json | 554 +++++++++++------------ .terrain/project-note.md | 1 + 8 files changed, 384 insertions(+), 378 deletions(-) create mode 100644 .terrain/project-note.md diff --git a/.terrain/.meta/freshness.json b/.terrain/.meta/freshness.json index 31fa29e..903984e 100644 --- a/.terrain/.meta/freshness.json +++ b/.terrain/.meta/freshness.json @@ -3,28 +3,28 @@ "project": "cowork-forge", "repo_path": ".", "baseline": { - "git_head": "9aa2871fd20d9fdaf383b7ef8830307994572f53", - "git_head_at": "2026-07-15T03:20:27.772498+00:00", + "git_head": "3648988c24af4765ce097bfce94c36802afa799a", + "git_head_at": "2026-07-17T08:50:26.910002+00:00", "dirty": false }, "assets": { "agent_pack": { "path": "agent/repomix.md", - "synced_at": "2026-07-15T03:19:39.469840+00:00", - "baseline_git_head": "9aa2871fd20d9fdaf383b7ef8830307994572f53", + "synced_at": "2026-07-17T08:47:15.068260+00:00", + "baseline_git_head": "3648988c24af4765ce097bfce94c36802afa799a", "stale": false, "freshness_score": 100 }, "agent_context": { "path": "agent/context.md", - "synced_at": "2026-07-15T03:20:27.383931+00:00", - "baseline_git_head": "9aa2871fd20d9fdaf383b7ef8830307994572f53", + "synced_at": "2026-07-17T08:50:26.623612+00:00", + "baseline_git_head": "3648988c24af4765ce097bfce94c36802afa799a", "stale": false, "freshness_score": 90 }, "human_docs": { "path": "human/", - "synced_at": "2026-07-15T03:19:39.470836+00:00", + "synced_at": "2026-07-17T08:47:15.071298+00:00", "stale": false, "freshness_score": 100 } @@ -39,10 +39,10 @@ "overall_stale": false, "commits_since_baseline": 0, "changed_files_count": 0, - "current_git_head": "9aa2871", + "current_git_head": "3648988", "working_tree_dirty": false, "is_git_repo": true, - "last_computed_at": "2026-07-15T03:20:27.772498+00:00", + "last_computed_at": "2026-07-17T08:50:26.910002+00:00", "agent_pack_score": 100, "agent_context_score": 90, "human_docs_score": 100, @@ -52,7 +52,7 @@ "id": "baseline_match", "severity": "info", "title": "与 baseline 提交一致", - "detail": "源码索引与 Agent 上下文均基于提交 9aa2871fd20d9fdaf383b7ef8830307994572f53 生成,相对 HEAD 无文件漂移。" + "detail": "源码索引与 Agent 上下文均基于提交 3648988c24af4765ce097bfce94c36802afa799a 生成,相对 HEAD 无文件漂移。" }, { "id": "context_lineage", @@ -68,8 +68,8 @@ "detail": "综合分取三层最低值:源码索引 100、Agent 上下文 90、人类文档 100。" } ], - "pack_baseline_short": "9aa2871", - "context_baseline_short": "9aa2871" + "pack_baseline_short": "3648988", + "context_baseline_short": "3648988" }, - "last_computed_at": "2026-07-15T03:20:27.772498+00:00" + "last_computed_at": "2026-07-17T08:50:26.910002+00:00" } \ No newline at end of file diff --git a/.terrain/.meta/sync.json b/.terrain/.meta/sync.json index 9c4e72a..2f435a2 100644 --- a/.terrain/.meta/sync.json +++ b/.terrain/.meta/sync.json @@ -1,7 +1,7 @@ { "project": "cowork-forge", "repo_path": ".", - "synced_at": "2026-07-15T03:19:39.470836+00:00", + "synced_at": "2026-07-17T08:47:15.071298+00:00", "collectors": [ "git", "repomix" diff --git a/.terrain/agent/context-meta.json b/.terrain/agent/context-meta.json index 49aa379..4a01684 100644 --- a/.terrain/agent/context-meta.json +++ b/.terrain/agent/context-meta.json @@ -2,8 +2,8 @@ "project": "cowork-forge", "repo_path": ".", "output_file": "context.md", - "generated_at": "2026-07-15T03:20:27.383931+00:00", + "generated_at": "2026-07-17T08:50:26.623612+00:00", "section_count": 6, - "char_count": 7514, - "baseline_git_head": "9aa2871fd20d9fdaf383b7ef8830307994572f53" + "char_count": 8068, + "baseline_git_head": "3648988c24af4765ce097bfce94c36802afa799a" } \ No newline at end of file diff --git a/.terrain/agent/context.md b/.terrain/agent/context.md index 7a23c73..e6e2df0 100644 --- a/.terrain/agent/context.md +++ b/.terrain/agent/context.md @@ -7,115 +7,120 @@ source: . ## 项目概览 -Cowork Forge 是 **AI 原生的多 Agent 软件开发平台**:内置 PM、架构师、项目经理、工程师等角色,经 **7 阶段流水线**(Idea→PRD→Design→Plan→Coding→Check→Delivery)将想法变为可交付软件。面向独立开发者(CLI 自动化)、团队(跨迭代记忆与继承)、探索型用户(GUI + HITL)。核心约束:**本地优先**(数据驻留用户机器)、**六边形架构**(`cowork-core` 纯域逻辑)、**Actor-Critic 自优化**(adk-rust `LoopAgent`)、**人在回路门**(关键阶段确认)、**工作区沙箱**(路径与命令校验)。 +Cowork Forge 是 **AI 原生的多 Agent 软件开发平台**:内置 PM、架构师、项目经理、工程师等 10+ 角色 Agent,通过 **7 阶段流水线**(Idea→PRD→Design→Plan→Coding→Check→Delivery)将自然语言想法转化为可交付软件。消费方包括独立开发者(CLI 自动化)、技术团队(标准化迭代与记忆继承)、以及偏好可视化监督的 GUI 用户。 -## 架构设计 +核心约束:**本地优先**(数据驻留本机)、**人在回路(HITL)** 关键门控、**Actor-Critic** 自优化、工作区沙箱与路径校验、LLM 全局限流(30 req/min)。双入口(CLI/GUI)共享 `cowork-core` 域逻辑,配置驱动 Agent/Stage/Flow。 -| 容器 | 职责 | 主要依赖 | -|------|------|----------| -| **cowork-core** | 域模型、流水线编排、Agent/工具、持久化、LLM 适配 | adk-rust、Tokio、serde | -| **cowork-cli** | CLI 入站适配器(命令解析、终端 HITL) | clap、dialoguer → `InteractiveBackend` | -| **cowork-gui** | 桌面 GUI:React 前端 + Tauri 后端 | Tauri invoke/emit → `InteractiveBackend` | +## 架构设计 -**分层(core 内部)** +**六边形架构(端口-适配器)**:`cowork-core` 为纯域核心;`cowork-cli` 与 `cowork-gui` 为入站适配器;LLM、文件系统、Shell、外部 Agent 为出站适配器。 -- **Domain**:`Project` / `Iteration` / `ProjectMemory` 聚合与值对象 -- **Pipeline**:`Stage` trait + `StageExecutor` + `PipelineExecutor` 编排 -- **Agents & Tools**:adk-rust `LlmAgent` / `LoopAgent` + 40+ `Tool` 实现 -- **Interaction**:`InteractiveBackend` 端口(消息、流式、HITL 确认) -- **Persistence**:`ProjectStore` / `IterationStore` / `MemoryStore`(JSON) -- **Config**:JSON 驱动的 agents / stages / flows 注册表 +| 容器/层 | 职责 | 主要路径 | +|---------|------|----------| +| **cowork-core** | 域模型、流水线编排、ADK Agent、工具、持久化 | `crates/cowork-core/src/` | +| **cowork-cli** | clap 命令入口、终端 HITL | `crates/cowork-cli/src/` | +| **cowork-gui 前端** | React 交互、状态、流式展示 | `crates/cowork-gui/src/` | +| **cowork-gui 后端** | Tauri 命令/事件桥接、进程管理 | `crates/cowork-gui/src-tauri/src/` | +| **配置层** | JSON 驱动的 Agent/Stage/Flow 定义 | `crates/cowork-core/src/config_definition/` | +| **交互端口** | `InteractiveBackend` trait 抽象 CLI/GUI | `crates/cowork-core/src/interaction/` | -**关键模式**:六边形(端口/适配器)、DDD 聚合、Actor-Critic(Actor=`IncludeContents::Default`,Critic=`None`+artifact 工具加载)、Repository、LLM 限流装饰器(并发=1,~30 req/min)。 +**依赖流向**:CLI/GUI → Pipeline Controller → StageExecutor → adk-rust(LoopAgent + LlmAgent)→ Tools → LLM/FS/Shell。GUI 采用 **invoke 请求 + emit 事件** 非对称通信。 ## 模块地图 | 模块 | 职责 | 主要路径 | |------|------|----------| -| Domain | 项目/迭代/记忆聚合、继承模式 | `crates/cowork-core/src/domain/` | -| Pipeline | 7 阶段编排、阶段执行、工作区管理 | `crates/cowork-core/src/pipeline/` | -| StageExecutor | 连接 Pipeline 与 adk-rust,Actor-Critic 循环 | `crates/cowork-core/src/pipeline/stage_executor.rs` | -| Tools | 文件/制品/验证/控制/知识等 ADK 工具 | `crates/cowork-core/src/tools/` | -| Agents | PM、摘要、知识生成、外部编码 Agent 封装 | `crates/cowork-core/src/agents/` | -| Instructions | 各阶段 Agent 提示词库 | `crates/cowork-core/src/instructions/` | -| ConfigDefinition | Agent/Stage/Flow JSON 配置与注册 | `crates/cowork-core/src/config_definition/` | -| Interaction | `InteractiveBackend` trait 与 CLI 实现 | `crates/cowork-core/src/interaction/` | -| Persistence | JSON 存储:项目、迭代、记忆 | `crates/cowork-core/src/persistence/` | -| CLI | 命令入口:init/iter/import/config 等 | `crates/cowork-cli/src/` | -| GUI Frontend | React 面板、聊天、配置、预览 | `crates/cowork-gui/src/` | -| GUI Backend | Tauri 命令、事件流、进程/预览服务 | `crates/cowork-gui/src-tauri/src/` | +| **Domain** | Project/Iteration/Memory 聚合、继承模式、状态机 | `crates/cowork-core/src/domain/` | +| **Pipeline** | 7 阶段编排、Stage trait、StageExecutor | `crates/cowork-core/src/pipeline/` | +| **Tools** | 40+ ADK 工具(文件/工件/验证/控制/HITL) | `crates/cowork-core/src/tools/` | +| **Agents** | 外部编码 Agent、迭代助手、遗留分析器 | `crates/cowork-core/src/agents/` | +| **Instructions** | 各阶段 Actor/Critic 提示词库 | `crates/cowork-core/src/instructions/` | +| **Config Definition** | Agent/Stage/Flow 注册表与校验 | `crates/cowork-core/src/config_definition/` | +| **Persistence** | JSON 文件存储(项目/迭代/记忆) | `crates/cowork-core/src/persistence/` | +| **Interaction** | HITL 抽象(消息/确认/流式) | `crates/cowork-core/src/interaction/`、`cli.rs` | +| **ACP** | Agent Client Protocol 外部 Agent 集成 | `crates/cowork-core/src/acp/` | +| **Importer** | 遗留项目导入与分析 | `crates/cowork-core/src/importer/` | +| **Skills** | agentskills.io 标准技能管理 | `crates/cowork-core/src/skills/` | +| **GUI** | 桌面 UI、Runner、预览、配置面板 | `crates/cowork-gui/src/`、`src-tauri/` | ## 核心流程 -### 1. Genesis 迭代(首次开发) +### 1. 创世迭代(Genesis) -1. 用户通过 CLI/GUI 创建项目并启动迭代(`cowork iter` 或 GUI Runner) -2. `PipelineExecutor` 按 flow 配置依次执行 7 阶段(`default.json` 或 `rapid-prototype.json`) -3. 每阶段 `StageExecutor` 构建 Actor-Critic `LoopAgent`,流式调用 LLM 并执行工具 -4. 关键阶段触发 HITL:用户通过/编辑/反馈 → 可能 `execute_with_feedback` 重试 -5. 制品写入 `.cowork-v2/iterations/{id}/artifacts/`,迭代完成后生成知识快照 +1. 用户通过 CLI/GUI 创建项目并提交想法 +2. Pipeline Controller 初始化 `PipelineContext`,IterationStore 创建 Draft 迭代 +3. 按 Flow 配置顺序执行 7 阶段:StageExecutor 构建 adk-rust Agent(Actor-Critic LoopAgent) +4. 每阶段产出工件(markdown/代码)写入 `.cowork-v2/iterations/{id}/` +5. HITL 门(Idea/PRD/Design/Plan/Coding)经 `InteractiveBackend` 等待用户通过/编辑/反馈 +6. 完成后更新迭代状态,Knowledge Gen 提取跨迭代记忆 -### 2. Evolution 迭代(增量演进) +### 2. 演进迭代(Evolution) -1. 用户描述变更,系统分析关键词确定继承模式(None / Partial / Full) -2. 按变更范围选择起始阶段(Idea/PRD/Design/Plan) -3. 从前序迭代加载代码与/或制品,注入 `PipelineContext` -4. 执行剩余阶段,记忆系统跨迭代累积决策 +1. 基于已完成迭代创建 Evolution 迭代,选择继承模式(None/Full/Partial) +2. 变更范围分析决定工件/代码继承范围 +3. 流水线从指定阶段继续,Actor 可见前序 Critic 反馈(`IncludeContents::Default`) +4. Critic 通过工具加载 artifact 审查(`IncludeContents::None`),调用 `exit_loop` 或 `provide_feedback` 控制循环 ### 3. 遗留项目导入 -1. `cowork import` 或 GUI Import 触发 `importer` 模块 -2. `project_analyzer` 检测技术栈与结构,`artifact_generator` 反向生成文档 -3. 注册为 Cowork 项目,后续可走 Evolution 流程 +1. CLI/GUI 触发 import 命令 +2. `legacy_project_analyzer` Agent 扫描代码库、检测技术栈 +3. ArtifactGenerator 反向生成 PRD/Design 等文档 +4. 注册为 Cowork 项目,纳入迭代管理体系 -### 4. 编码阶段外部 Agent(可选) +### 4. 外部编码 Agent(ACP) -1. Coding 阶段可通过 ACP 协议调用外部编码 Agent(OpenCode、Claude CLI 等) -2. `acp/client.rs` 管理子进程通信;核心域通过 `external_coding_agent.rs` 集成 +1. Coding 阶段可选启用 `ExternalCodingAgent`(配置 `coding_agent.enabled`) +2. 通过 ACP 协议调用外部 CLI Agent(OpenCode、Claude CLI、Gemini CLI 等) +3. `CoworkClient` 实现 ACP 服务端,约束工作区路径 +4. 流式消息经 `AgentMessage` 通道回传 GUI/CLI ## 技术选型 -- **语言/运行时**:Rust 2024 edition、Tokio 全特性异步 -- **AI 编排**:adk-rust 1.0(`adk-core` / `adk-agent` / `adk-model` / `adk-tool` / `adk-runner` / `adk-session` / `adk-skill`) -- **LLM**:OpenAI 兼容 API(`adk-model` openai feature),全局限流装饰器 -- **CLI**:clap 4、dialoguer、console -- **GUI**:Tauri 2、React 18、Ant Design、Vite -- **持久化**:JSON + serde(项目元数据、迭代状态、记忆条目) -- **配置**:TOML 用户配置 + JSON 内置 Agent/Flow 定义 -- **Skills**:agentskills.io 标准(`skills/manager.rs`) -- **集成**:MCP 远程工具、ACP 外部 Agent、Hook 系统(`integration/`) -- **安全**:`runtime_security.rs` 路径校验、命令白名单、工作区边界 +- **语言/运行时**:Rust 2024 edition、Tokio 异步 +- **AI 编排**:adk-rust 1.0(LoopAgent、LlmAgentBuilder、Tool trait、EventActions) +- **LLM**:OpenAI 兼容 API(adk-model openai feature)、自定义 RateLimiter(信号量 + 2s 延迟) +- **外部 Agent**:agent-client-protocol 0.9(ACP) +- **CLI**:clap 4、dialoguer、colored +- **GUI**:Tauri 2、React 18、Ant Design、Vite、Zustand hooks +- **持久化**:JSON + serde 文件存储(无数据库) +- **配置**:TOML(`config.toml`)+ JSON 数据驱动 Agent/Flow +- **安全**:路径校验、命令白名单、工作区沙箱、`runtime_security.rs` +- **文档**:Litho docs(`litho.docs/`)、Terrain 知识资产(`.terrain/`) ## 系统边界 -| 边界 | 交互方式 | 信任/约束 | -|------|----------|-----------| -| **LLM 提供商** | OpenAI 兼容 HTTP API | API Key 来自 config/env;30 req/min 限流 | -| **本地文件系统** | 读写项目工作区、`.cowork-v2/` 元数据 | `validate_path()` 防路径穿越 | -| **Shell/子进程** | 构建、测试、lint、开发服务器 | 命令白名单;项目目录内执行 | -| **MCP 服务器** | Tavily、DeepWiki 等远程工具 | 可选集成;经 adk 工具层调用 | -| **ACP 外部 Agent** | 子进程 stdio 协议 | Coding 阶段可选;用户配置启用 | -| **系统编辑器** | 外部编辑器打开制品 | HITL 编辑路径 | -| **用户配置目录** | `~/Library/Application Support/CoworkCreative/` 等 | 平台相关路径;不入库 | +| 边界 | 类型 | 说明 | +|------|------|------| +| **LLM Provider API** | 外部出站 | OpenAI 兼容端点;30 req/min 限流;API Key 来自 config/env | +| **本地文件系统** | 信任域内 | 项目工作区、`.cowork-v2/` 迭代数据、用户 config 目录 | +| **Shell/子进程** | 受限出站 | 构建/测试/开发服务器;命令清理与白名单 | +| **MCP 服务器** | 可选出站 | Tavily 搜索、DeepWiki 文档等第三方能力扩展 | +| **外部编码 Agent** | 可选出站 | ACP 协议;工作区路径强制校验 | +| **Tauri 系统 API** | 平台集成 | 托盘、文件对话框、进程管理、静态预览服务器 | +| **用户** | 入站 | CLI 命令或 GUI 交互;HITL 确认/编辑/反馈 | + +**信任边界**:`cowork-core` 不直接依赖 UI;所有用户交互经 `InteractiveBackend`。文件工具禁止访问工作区外路径。 -**数据布局**:项目根下 `.cowork-v2/iterations/{id}/` 存放 artifacts、session_history、workspace 代码。 +**配置路径**:macOS `~/Library/Application Support/CoworkCreative/config.toml`;GUI 配置 `com.cowork-forge.app/config/`。 ## 代码映射索引 | 概念 | 位置 | 备注 | |------|------|------| -| 工作区入口 | `Cargo.toml` | 三 crate:core、cli、gui-tauri | -| 域聚合根 | `crates/cowork-core/src/domain/project.rs` | Project + IterationSummary | -| 迭代实体 | `crates/cowork-core/src/domain/iteration.rs` | 状态机、继承模式 | -| 记忆系统 | `crates/cowork-core/src/domain/memory.rs` | 三范围查询(项目/迭代/Smart) | -| Stage trait | `crates/cowork-core/src/pipeline/stages/mod.rs` | 各阶段 `execute()` | -| 流水线执行器 | `crates/cowork-core/src/pipeline/executor/mod.rs` | 阶段转换、上下文 | -| 默认 7 阶段流 | `crates/cowork-core/src/config_definition/default_configs/flows/default.json` | idea→…→delivery | -| 内置 Agent 配置 | `crates/cowork-core/src/config_definition/default_configs/agents/built-in/` | actor/critic JSON | -| InteractiveBackend | `crates/cowork-core/src/interaction/mod.rs` | CLI/GUI 统一端口 | -| GUI Tauri 适配 | `crates/cowork-gui/src-tauri/src/lib.rs` | emit agent_event/streaming | -| CLI 命令 | `crates/cowork-cli/src/commands/` | iter/init/import 等 | -| ACP 客户端 | `crates/cowork-core/src/acp/client.rs` | 外部编码 Agent | -| 遗留导入 | `crates/cowork-core/src/importer/` | 分析与制品生成 | -| 运行时检测 | `crates/cowork-core/src/runtime_analyzer.rs` | 技术栈/预览类型 | -| 安全边界 | `crates/cowork-core/src/runtime_security.rs` | 路径与命令校验 | \ No newline at end of file +| 项目/迭代聚合 | `crates/cowork-core/src/domain/` | Project、Iteration、Memory、InheritanceMode | +| 流水线控制器 | `crates/cowork-core/src/pipeline/mod.rs` | PipelineContext、阶段转换 | +| 阶段执行器 | `crates/cowork-core/src/pipeline/stage_executor.rs` | 连接 Stage 与 adk-rust | +| 7 阶段实现 | `crates/cowork-core/src/pipeline/stages/` | idea/prd/design/plan/coding/check/delivery | +| 默认 Flow | `crates/cowork-core/src/config_definition/default_configs/flows/default.json` | 7 阶段顺序定义 | +| 内置 Agent 配置 | `crates/cowork-core/src/config_definition/default_configs/agents/built-in/` | Actor/Critic JSON | +| ADK 工具集 | `crates/cowork-core/src/tools/` | artifact/control/file/validation 等 | +| Actor-Critic 指令 | `crates/cowork-core/src/instructions/` | 各阶段 prompt 库 | +| HITL 交互端口 | `crates/cowork-core/src/interaction/cli.rs` | InteractiveBackend 实现 | +| 外部 Agent ACP | `crates/cowork-core/src/acp/client.rs` | CoworkClient、路径校验 | +| 外部编码封装 | `crates/cowork-core/src/agents/external_coding_agent.rs` | ACP 流式任务 | +| JSON 持久化 | `crates/cowork-core/src/persistence/` | ProjectStore、IterationStore、MemoryStore | +| CLI 命令 | `crates/cowork-cli/src/commands/` | init/iter/import/config 等 | +| GUI Tauri 命令 | `crates/cowork-gui/src-tauri/src/commands/` | runner/pm/preview/file 等 | +| GUI 前端组件 | `crates/cowork-gui/src/components/` | 项目/迭代/聊天/配置面板 | +| 运行时检测 | `crates/cowork-core/src/project_runtime.rs` | 技术栈/预览类型识别 | \ No newline at end of file diff --git a/.terrain/agent/meta-inputs-manifest.json b/.terrain/agent/meta-inputs-manifest.json index 6a08197..fd2ba0e 100644 --- a/.terrain/agent/meta-inputs-manifest.json +++ b/.terrain/agent/meta-inputs-manifest.json @@ -1,5 +1,5 @@ { - "collected_at": "2026-07-15T03:19:39.576303+00:00", + "collected_at": "2026-07-17T08:47:15.165773+00:00", "meta_files": [], "input_count": 2, "sources": [ diff --git a/.terrain/agent/meta.json b/.terrain/agent/meta.json index f2363f1..e8c86e0 100644 --- a/.terrain/agent/meta.json +++ b/.terrain/agent/meta.json @@ -5,8 +5,8 @@ "pack_strategy": "architecture-context", "output_file": "repomix.md", "total_files": 259, - "total_tokens": 403697, - "total_characters": 1516069, + "total_tokens": 403827, + "total_characters": 1516677, "top_files_by_tokens": [ { "path": "litho.docs/zh/2、架构概览.md", @@ -90,6 +90,6 @@ } ], "directory_structure": "crates/\n cowork-cli/\n src/\n commands/\n config.rs\n continue_cmd.rs\n delete.rs\n import.rs\n init.rs\n iter.rs\n knowledge.rs\n list.rs\n mod.rs\n show.rs\n status.rs\n main.rs\n utils.rs\n Cargo.toml\n cowork-core/\n src/\n acp/\n client.rs\n mod.rs\n agents/\n external_coding_agent.rs\n iterative_assistant.rs\n legacy_project_analyzer.rs\n mod.rs\n config_definition/\n default_configs/\n agents/\n built-in/\n check_agent.json\n coding_actor.json\n coding_critic.json\n delivery_agent.json\n design_actor.json\n design_critic.json\n idea_agent.json\n knowledge_gen_agent.json\n plan_actor.json\n plan_critic.json\n pm_agent.json\n prd_actor.json\n prd_critic.json\n summary_agent.json\n flows/\n default.json\n rapid-prototype.json\n stages/\n check.json\n coding.json\n delivery.json\n design.json\n idea.json\n plan.json\n prd.json\n agent_definition.rs\n builtin.rs\n flow_definition.rs\n integration_definition.rs\n mod.rs\n registry.rs\n stage_definition.rs\n validator.rs\n data/\n mod.rs\n models.rs\n domain/\n iteration.rs\n memory.rs\n mod.rs\n project.rs\n importer/\n artifact_generator.rs\n import_config.rs\n mod.rs\n project_analyzer.rs\n instructions/\n check.rs\n coding.rs\n delivery.rs\n design.rs\n idea.rs\n knowledge_gen.rs\n legacy_project_analyzer.rs\n mod.rs\n plan.rs\n prd.rs\n project_manager.rs\n summary.rs\n integration/\n USAGE_EXAMPLE.md\n adapters.rs\n hooks.rs\n mod.rs\n interaction/\n cli.rs\n mod.rs\n llm/\n mod.rs\n rate_limiter.rs\n persistence/\n iteration_data.rs\n iteration_store.rs\n memory_store.rs\n mod.rs\n project_store.rs\n pipeline/\n executor/\n interaction_ext.rs\n knowledge.rs\n mod.rs\n workspace.rs\n stages/\n check.rs\n coding.rs\n delivery.rs\n design.rs\n idea.rs\n mod.rs\n plan.rs\n prd.rs\n mod.rs\n stage_executor.rs\n skills/\n manager.rs\n mod.rs\n tools/\n artifact_tools.rs\n control_tools.rs\n data_tools.rs\n deployment_tools.rs\n file_tools.rs\n goto_stage_tool.rs\n hitl_content_tools.rs\n knowledge_tools.rs\n legacy_project_analyzer_tools.rs\n load_artifacts.rs\n memory_tools.rs\n mod.rs\n pm_tools.rs\n test_lint_tools.rs\n validation_tools.rs\n config.rs\n lib.rs\n project_runtime.rs\n runtime_analyzer.rs\n runtime_security.rs\n tech_stack.rs\n Cargo.toml\n cowork-gui/\n src/\n components/\n chat/\n ChatPanel.tsx\n InputArea.tsx\n MessageList.tsx\n index.ts\n common/\n LoadingScreen.tsx\n MarkdownMessage.tsx\n StatusBadge.tsx\n index.ts\n config/\n AgentConfigForm.tsx\n AgentsSetupPanel.tsx\n FlowConfigPanel.tsx\n IntegrationConfig.tsx\n SkillManager.tsx\n index.ts\n iterations/\n CreateIterationModal.tsx\n InitProjectModal.tsx\n IterationDetailsModal.tsx\n index.ts\n onboarding/\n index.ts\n projects/\n CreateProjectModal.tsx\n EditProjectModal.tsx\n ImportProjectModal.tsx\n index.ts\n ArtifactsViewer.tsx\n CodeEditor.tsx\n CommandPalette.tsx\n IterationsPanel.tsx\n KnowledgePanel.tsx\n MemoryPanel.tsx\n PreviewPanel.tsx\n ProjectsPanel.tsx\n RunnerPanel.tsx\n constants/\n events.ts\n index.ts\n stages.ts\n status.ts\n hooks/\n index.ts\n useAppEvents.ts\n useAutoScroll.ts\n useChatInput.ts\n useIterationActions.ts\n useIterationEvents.ts\n useIterationsData.ts\n useLoading.ts\n useModal.ts\n usePMAgent.ts\n useProjectEvents.ts\n useProjectsData.ts\n useRefreshTrigger.ts\n useTauriEvent.ts\n stores/\n agentStore.ts\n configStore.ts\n index.ts\n projectStore.ts\n uiStore.ts\n styles/\n antd-overrides.css\n chat.css\n components.css\n global.css\n layout.css\n markdown.css\n theme.css\n types/\n agent.ts\n artifacts.ts\n chat.ts\n config.ts\n index.ts\n iteration.ts\n knowledge.ts\n project.ts\n registry.ts\n utils/\n errorHandler.ts\n index.ts\n markdown.ts\n App.tsx\n assets.d.ts\n main.tsx\n styles.css\n src-tauri/\n capabilities/\n default.json\n src/\n commands/\n file.rs\n import_cmd.rs\n memory.rs\n mod.rs\n path_utils.rs\n pm.rs\n preview.rs\n runner.rs\n system.rs\n template.rs\n gui_types.rs\n iteration_commands.rs\n lib.rs\n main.rs\n project_manager.rs\n project_runner.rs\n static_server.rs\n tray.rs\n Cargo.toml\n build.rs\n tauri.conf.json\n README.md\n index.html\n package.json\n tsconfig.json\n tsconfig.node.json\n vite.config.js\nlitho.docs/\n en/\n 4.Deep-Exploration/\n CLI Domain.md\n Domain Logic.md\n GUI Backend Domain.md\n GUI Frontend Domain.md\n Interaction Domain.md\n LLM Integration Domain.md\n Memory Domain.md\n Persistence Domain.md\n Pipeline Domain.md\n Tools Domain.md\n 1.Overview.md\n 2.Architecture.md\n 3.Workflow.md\n zh/\n 4、深入探索/\n 4.10 、LLM集成.md\n 4.1、领域实体.md\n 4.2、流程调度.md\n 4.3、HITL人机协同.md\n 4.4、Agent工具系统.md\n 4.5、Artifacts存储.md\n 4.6、自迭代记忆系统.md\n 4.7、Cowork CLI.md\n 4.8、Cowork GUI前端.md\n 4.9、Cowork GUI后端.md\n 1、项目概述.md\n 2、架构概览.md\n 3、工作流程.md\nAGENTS.md\nCargo.toml\nLICENSE", - "synced_at": "2026-07-15T03:19:39.469840+00:00", - "baseline_git_head": "9aa2871fd20d9fdaf383b7ef8830307994572f53" + "synced_at": "2026-07-17T08:47:15.068260+00:00", + "baseline_git_head": "3648988c24af4765ce097bfce94c36802afa799a" } \ No newline at end of file diff --git a/.terrain/agent/repomix.index.json b/.terrain/agent/repomix.index.json index b9e964a..5b6f944 100644 --- a/.terrain/agent/repomix.index.json +++ b/.terrain/agent/repomix.index.json @@ -10,1031 +10,1031 @@ }, { "path": "AGENTS.md", - "header_line": 1117 + "header_line": 1130 }, { "path": "crates/cowork-core/src/pipeline/stage_executor.rs", - "header_line": 1384 - }, - { - "path": "crates/cowork-core/src/agents/mod.rs", - "header_line": 1980 + "header_line": 1397 }, { "path": "crates/cowork-core/src/tools/mod.rs", - "header_line": 2063 + "header_line": 1993 }, { "path": "crates/cowork-gui/src/components/chat/MessageList.tsx", - "header_line": 2099 + "header_line": 2029 }, { "path": "crates/cowork-core/src/acp/client.rs", - "header_line": 2138 + "header_line": 2068 + }, + { + "path": "crates/cowork-core/src/agents/mod.rs", + "header_line": 2382 }, { "path": "crates/cowork-core/src/pipeline/executor/mod.rs", - "header_line": 2452 + "header_line": 2465 }, { "path": "crates/cowork-core/src/pipeline/stages/coding.rs", - "header_line": 3100 + "header_line": 3113 }, { "path": "crates/cowork-core/src/tools/control_tools.rs", - "header_line": 3463 + "header_line": 3476 }, { "path": "crates/cowork-gui/src/components/ArtifactsViewer.tsx", - "header_line": 3731 + "header_line": 3744 }, { "path": "crates/cowork-gui/src/stores/agentStore.ts", - "header_line": 3779 + "header_line": 3792 }, { "path": "crates/cowork-gui/src/styles/chat.css", - "header_line": 3905 + "header_line": 3918 }, { - "path": "crates/cowork-core/src/instructions/check.rs", - "header_line": 4342 + "path": "crates/cowork-gui/src-tauri/src/commands/path_utils.rs", + "header_line": 4355 }, { "path": "crates/cowork-core/src/lib.rs", - "header_line": 4440 + "header_line": 4567 }, { "path": "crates/cowork-core/src/tools/goto_stage_tool.rs", - "header_line": 4554 + "header_line": 4681 }, { "path": "crates/cowork-gui/package.json", - "header_line": 4649 + "header_line": 4776 }, { "path": "crates/cowork-gui/src/App.tsx", - "header_line": 4697 + "header_line": 4824 }, { "path": "crates/cowork-gui/src/components/MemoryPanel.tsx", - "header_line": 5139 + "header_line": 5266 }, { "path": "crates/cowork-gui/src/components/chat/ChatPanel.tsx", - "header_line": 5192 + "header_line": 5319 }, { "path": "crates/cowork-gui/src/components/chat/InputArea.tsx", - "header_line": 5221 + "header_line": 5348 }, { "path": "crates/cowork-gui/src/styles/antd-overrides.css", - "header_line": 5244 + "header_line": 5371 }, { "path": "crates/cowork-gui/src/styles/components.css", - "header_line": 5525 - }, - { - "path": "crates/cowork-gui/src-tauri/src/commands/path_utils.rs", - "header_line": 5941 + "header_line": 5652 }, { "path": "crates/cowork-gui/src-tauri/src/project_runner.rs", - "header_line": 6161 + "header_line": 6068 }, { "path": "Cargo.toml", - "header_line": 6693 + "header_line": 6600 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/coding_actor.json", - "header_line": 6751 + "header_line": 6658 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/design_critic.json", - "header_line": 6828 + "header_line": 6735 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/plan_critic.json", - "header_line": 6884 + "header_line": 6791 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/prd_critic.json", - "header_line": 6937 + "header_line": 6844 + }, + { + "path": "crates/cowork-core/src/instructions/check.rs", + "header_line": 6897 }, { "path": "crates/cowork-core/src/instructions/coding.rs", - "header_line": 6990 + "header_line": 6995 }, { "path": "crates/cowork-core/src/instructions/plan.rs", - "header_line": 7360 + "header_line": 7365 }, { "path": "crates/cowork-core/src/instructions/prd.rs", - "header_line": 7766 - }, - { - "path": "crates/cowork-core/src/tools/artifact_tools.rs", - "header_line": 8056 + "header_line": 7771 }, { "path": "crates/cowork-core/src/tools/file_tools.rs", - "header_line": 8365 + "header_line": 8061 }, { "path": "crates/cowork-core/src/tools/pm_tools.rs", - "header_line": 9103 + "header_line": 8799 }, { "path": "crates/cowork-gui/src/components/CodeEditor.tsx", - "header_line": 9432 + "header_line": 9128 }, { "path": "crates/cowork-gui/src/components/KnowledgePanel.tsx", - "header_line": 9477 + "header_line": 9173 }, { "path": "crates/cowork-gui/src/components/common/MarkdownMessage.tsx", - "header_line": 9523 + "header_line": 9219 }, { "path": "crates/cowork-gui/src/components/config/AgentConfigForm.tsx", - "header_line": 9535 + "header_line": 9231 }, { "path": "crates/cowork-gui/src/hooks/useIterationActions.ts", - "header_line": 10252 + "header_line": 9948 }, { "path": "crates/cowork-gui/src/styles/markdown.css", - "header_line": 10370 + "header_line": 10066 }, { "path": "crates/cowork-gui/src-tauri/Cargo.toml", - "header_line": 10587 + "header_line": 10283 }, { "path": "crates/cowork-gui/src-tauri/src/commands/pm.rs", - "header_line": 10644 + "header_line": 10340 }, { "path": "crates/cowork-gui/src-tauri/src/commands/runner.rs", - "header_line": 10706 + "header_line": 10402 }, { "path": "crates/cowork-gui/src-tauri/src/iteration_commands.rs", - "header_line": 10770 + "header_line": 10466 }, { "path": "crates/cowork-gui/vite.config.js", - "header_line": 10900 + "header_line": 10596 }, { "path": "crates/cowork-core/src/agents/external_coding_agent.rs", - "header_line": 10908 + "header_line": 10604 }, { "path": "crates/cowork-core/src/config_definition/agent_definition.rs", - "header_line": 11122 - }, - { - "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/check_agent.json", - "header_line": 11304 + "header_line": 10818 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/coding_critic.json", - "header_line": 11360 + "header_line": 11000 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/design_actor.json", - "header_line": 11416 + "header_line": 11056 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/plan_actor.json", - "header_line": 11478 + "header_line": 11118 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/prd_actor.json", - "header_line": 11546 + "header_line": 11186 }, { "path": "crates/cowork-core/src/config_definition/mod.rs", - "header_line": 11611 + "header_line": 11251 }, { "path": "crates/cowork-core/src/instructions/design.rs", - "header_line": 11633 + "header_line": 11273 }, { "path": "crates/cowork-core/src/persistence/iteration_data.rs", - "header_line": 12048 + "header_line": 11688 }, { "path": "crates/cowork-core/src/pipeline/executor/knowledge.rs", - "header_line": 12188 + "header_line": 11828 + }, + { + "path": "crates/cowork-core/src/tools/artifact_tools.rs", + "header_line": 11867 }, { "path": "crates/cowork-core/src/tools/data_tools.rs", - "header_line": 12227 + "header_line": 12176 }, { "path": "crates/cowork-core/src/tools/deployment_tools.rs", - "header_line": 13071 + "header_line": 13020 }, { "path": "crates/cowork-core/src/tools/hitl_content_tools.rs", - "header_line": 13379 + "header_line": 13328 }, { "path": "crates/cowork-core/src/tools/knowledge_tools.rs", - "header_line": 13589 + "header_line": 13538 }, { "path": "crates/cowork-core/src/tools/legacy_project_analyzer_tools.rs", - "header_line": 13915 + "header_line": 13864 }, { "path": "crates/cowork-core/src/tools/load_artifacts.rs", - "header_line": 14440 + "header_line": 14389 }, { "path": "crates/cowork-core/src/tools/test_lint_tools.rs", - "header_line": 14580 + "header_line": 14529 }, { "path": "crates/cowork-core/src/tools/validation_tools.rs", - "header_line": 14762 + "header_line": 14711 }, { "path": "crates/cowork-gui/src/assets.d.ts", - "header_line": 14934 + "header_line": 14883 + }, + { + "path": "crates/cowork-gui/src/components/ProjectsPanel.tsx", + "header_line": 14915 }, { "path": "crates/cowork-gui/src/components/RunnerPanel.tsx", - "header_line": 14966 + "header_line": 15275 }, { "path": "crates/cowork-gui/src/components/iterations/IterationDetailsModal.tsx", - "header_line": 15007 + "header_line": 15316 }, { "path": "crates/cowork-gui/src/hooks/useChatInput.ts", - "header_line": 15023 + "header_line": 15332 }, { "path": "crates/cowork-gui/src/hooks/usePMAgent.ts", - "header_line": 15194 + "header_line": 15503 }, { "path": "crates/cowork-gui/src/main.tsx", - "header_line": 15392 + "header_line": 15701 }, { "path": "crates/cowork-gui/src/types/config.ts", - "header_line": 15482 - }, - { - "path": "crates/cowork-gui/src-tauri/src/commands/import_cmd.rs", - "header_line": 15778 + "header_line": 15791 }, { "path": "crates/cowork-gui/src-tauri/src/commands/mod.rs", - "header_line": 15871 + "header_line": 16087 }, { "path": "crates/cowork-gui/src-tauri/src/commands/preview.rs", - "header_line": 15883 + "header_line": 16099 }, { "path": "crates/cowork-gui/src-tauri/src/static_server.rs", - "header_line": 15940 + "header_line": 16156 }, { "path": "crates/cowork-gui/src-tauri/src/tray.rs", - "header_line": 16039 + "header_line": 16255 }, { "path": "crates/cowork-gui/src-tauri/tauri.conf.json", - "header_line": 16260 + "header_line": 16476 }, { "path": "litho.docs/en/1.Overview.md", - "header_line": 16296 + "header_line": 16512 }, { "path": "litho.docs/en/2.Architecture.md", - "header_line": 16597 + "header_line": 16813 }, { "path": "litho.docs/en/4.Deep-Exploration/Persistence Domain.md", - "header_line": 17826 + "header_line": 18042 }, { "path": "litho.docs/en/4.Deep-Exploration/Tools Domain.md", - "header_line": 18267 + "header_line": 18483 }, { "path": "crates/cowork-core/Cargo.toml", - "header_line": 18753 + "header_line": 18969 }, { "path": "crates/cowork-core/src/config_definition/builtin.rs", - "header_line": 18821 + "header_line": 19037 + }, + { + "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/check_agent.json", + "header_line": 19061 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/delivery_agent.json", - "header_line": 18845 + "header_line": 19117 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/idea_agent.json", - "header_line": 18886 + "header_line": 19158 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/pm_agent.json", - "header_line": 18921 + "header_line": 19193 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/summary_agent.json", - "header_line": 18965 + "header_line": 19237 }, { "path": "crates/cowork-core/src/config_definition/default_configs/flows/rapid-prototype.json", - "header_line": 18997 + "header_line": 19269 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/coding.json", - "header_line": 19047 + "header_line": 19319 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/design.json", - "header_line": 19073 + "header_line": 19345 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/plan.json", - "header_line": 19104 + "header_line": 19376 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/prd.json", - "header_line": 19135 + "header_line": 19407 }, { "path": "crates/cowork-core/src/config_definition/registry.rs", - "header_line": 19171 + "header_line": 19443 }, { "path": "crates/cowork-core/src/data/mod.rs", - "header_line": 19829 + "header_line": 20101 }, { "path": "crates/cowork-core/src/data/models.rs", - "header_line": 19836 + "header_line": 20108 }, { "path": "crates/cowork-core/src/instructions/delivery.rs", - "header_line": 20251 + "header_line": 20523 }, { "path": "crates/cowork-core/src/instructions/idea.rs", - "header_line": 20386 + "header_line": 20658 }, { "path": "crates/cowork-core/src/instructions/project_manager.rs", - "header_line": 20486 + "header_line": 20758 }, { "path": "crates/cowork-core/src/interaction/cli.rs", - "header_line": 20647 + "header_line": 20919 }, { "path": "crates/cowork-core/src/interaction/mod.rs", - "header_line": 20822 + "header_line": 21094 }, { "path": "crates/cowork-core/src/llm/mod.rs", - "header_line": 20980 + "header_line": 21252 }, { "path": "crates/cowork-core/src/llm/rate_limiter.rs", - "header_line": 20996 + "header_line": 21268 }, { "path": "crates/cowork-core/src/persistence/mod.rs", - "header_line": 21175 + "header_line": 21447 }, { "path": "crates/cowork-core/src/pipeline/mod.rs", - "header_line": 21203 + "header_line": 21475 }, { "path": "crates/cowork-core/src/runtime_analyzer.rs", - "header_line": 21344 + "header_line": 21616 }, { "path": "crates/cowork-core/src/tools/memory_tools.rs", - "header_line": 21973 + "header_line": 22245 }, { "path": "crates/cowork-gui/src/components/CommandPalette.tsx", - "header_line": 22467 + "header_line": 22739 }, { - "path": "crates/cowork-gui/src/components/ProjectsPanel.tsx", - "header_line": 22490 + "path": "crates/cowork-gui/src/components/IterationsPanel.tsx", + "header_line": 22762 }, { "path": "crates/cowork-gui/src/components/config/FlowConfigPanel.tsx", - "header_line": 22843 + "header_line": 22774 }, { "path": "crates/cowork-gui/src/components/config/IntegrationConfig.tsx", - "header_line": 22851 + "header_line": 22782 }, { "path": "crates/cowork-gui/src/components/config/SkillManager.tsx", - "header_line": 22859 + "header_line": 22790 }, { "path": "crates/cowork-gui/src/components/projects/EditProjectModal.tsx", - "header_line": 23101 + "header_line": 23032 }, { "path": "crates/cowork-gui/src/stores/configStore.ts", - "header_line": 23114 + "header_line": 23045 }, { "path": "crates/cowork-gui/src/stores/projectStore.ts", - "header_line": 23168 + "header_line": 23099 }, { "path": "crates/cowork-gui/src/styles/global.css", - "header_line": 23231 + "header_line": 23162 }, { "path": "crates/cowork-gui/src/styles/layout.css", - "header_line": 23270 + "header_line": 23201 }, { "path": "crates/cowork-gui/src/types/index.ts", - "header_line": 23406 + "header_line": 23337 }, { "path": "crates/cowork-gui/src/utils/markdown.ts", - "header_line": 23484 + "header_line": 23415 }, { "path": "crates/cowork-gui/src-tauri/src/commands/file.rs", - "header_line": 23548 + "header_line": 23479 + }, + { + "path": "crates/cowork-gui/src-tauri/src/commands/import_cmd.rs", + "header_line": 23547 }, { "path": "crates/cowork-gui/tsconfig.json", - "header_line": 23616 + "header_line": 23640 }, { "path": "litho.docs/en/4.Deep-Exploration/CLI Domain.md", - "header_line": 23647 + "header_line": 23671 }, { "path": "litho.docs/en/4.Deep-Exploration/GUI Backend Domain.md", - "header_line": 24386 + "header_line": 24410 }, { "path": "litho.docs/en/4.Deep-Exploration/GUI Frontend Domain.md", - "header_line": 24785 + "header_line": 24809 }, { "path": "litho.docs/en/4.Deep-Exploration/LLM Integration Domain.md", - "header_line": 25439 + "header_line": 25463 }, { "path": "LICENSE", - "header_line": 25728 + "header_line": 25752 }, { "path": "crates/cowork-cli/Cargo.toml", - "header_line": 25754 + "header_line": 25778 }, { "path": "crates/cowork-cli/src/commands/config.rs", - "header_line": 25803 + "header_line": 25827 }, { "path": "crates/cowork-cli/src/commands/continue_cmd.rs", - "header_line": 25811 + "header_line": 25835 }, { "path": "crates/cowork-cli/src/commands/delete.rs", - "header_line": 25819 + "header_line": 25843 }, { "path": "crates/cowork-cli/src/commands/import.rs", - "header_line": 25827 + "header_line": 25851 }, { "path": "crates/cowork-cli/src/commands/init.rs", - "header_line": 25865 + "header_line": 25889 }, { "path": "crates/cowork-cli/src/commands/iter.rs", - "header_line": 25873 + "header_line": 25897 }, { "path": "crates/cowork-cli/src/commands/knowledge.rs", - "header_line": 25886 + "header_line": 25910 }, { "path": "crates/cowork-cli/src/commands/list.rs", - "header_line": 25894 + "header_line": 25918 }, { "path": "crates/cowork-cli/src/commands/mod.rs", - "header_line": 25902 + "header_line": 25926 }, { "path": "crates/cowork-cli/src/commands/show.rs", - "header_line": 25929 + "header_line": 25953 }, { "path": "crates/cowork-cli/src/commands/status.rs", - "header_line": 25937 + "header_line": 25961 }, { "path": "crates/cowork-cli/src/main.rs", - "header_line": 25945 + "header_line": 25969 }, { "path": "crates/cowork-cli/src/utils.rs", - "header_line": 26060 + "header_line": 26084 }, { "path": "crates/cowork-core/src/acp/mod.rs", - "header_line": 26068 + "header_line": 26092 }, { "path": "crates/cowork-core/src/agents/iterative_assistant.rs", - "header_line": 26075 + "header_line": 26099 }, { "path": "crates/cowork-core/src/agents/legacy_project_analyzer.rs", - "header_line": 26396 + "header_line": 26420 }, { "path": "crates/cowork-core/src/config.rs", - "header_line": 26419 + "header_line": 26443 }, { "path": "crates/cowork-core/src/config_definition/default_configs/agents/built-in/knowledge_gen_agent.json", - "header_line": 26435 + "header_line": 26459 }, { "path": "crates/cowork-core/src/config_definition/default_configs/flows/default.json", - "header_line": 26470 + "header_line": 26494 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/check.json", - "header_line": 26540 + "header_line": 26564 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/delivery.json", - "header_line": 26562 + "header_line": 26586 }, { "path": "crates/cowork-core/src/config_definition/default_configs/stages/idea.json", - "header_line": 26584 + "header_line": 26608 }, { "path": "crates/cowork-core/src/config_definition/flow_definition.rs", - "header_line": 26606 + "header_line": 26630 }, { "path": "crates/cowork-core/src/config_definition/integration_definition.rs", - "header_line": 26880 + "header_line": 26904 }, { "path": "crates/cowork-core/src/config_definition/stage_definition.rs", - "header_line": 27189 + "header_line": 27213 }, { "path": "crates/cowork-core/src/config_definition/validator.rs", - "header_line": 27426 + "header_line": 27450 }, { "path": "crates/cowork-core/src/domain/iteration.rs", - "header_line": 27501 + "header_line": 27525 }, { "path": "crates/cowork-core/src/domain/memory.rs", - "header_line": 27825 + "header_line": 27849 }, { "path": "crates/cowork-core/src/domain/mod.rs", - "header_line": 28207 + "header_line": 28231 }, { "path": "crates/cowork-core/src/domain/project.rs", - "header_line": 28219 + "header_line": 28243 }, { "path": "crates/cowork-core/src/importer/artifact_generator.rs", - "header_line": 28316 + "header_line": 28340 }, { "path": "crates/cowork-core/src/importer/import_config.rs", - "header_line": 28430 + "header_line": 28454 }, { "path": "crates/cowork-core/src/importer/mod.rs", - "header_line": 28644 + "header_line": 28668 }, { "path": "crates/cowork-core/src/importer/project_analyzer.rs", - "header_line": 28656 + "header_line": 28680 }, { "path": "crates/cowork-core/src/instructions/knowledge_gen.rs", - "header_line": 28792 + "header_line": 28816 }, { "path": "crates/cowork-core/src/instructions/legacy_project_analyzer.rs", - "header_line": 29064 + "header_line": 29088 }, { "path": "crates/cowork-core/src/instructions/mod.rs", - "header_line": 29152 + "header_line": 29176 }, { "path": "crates/cowork-core/src/instructions/summary.rs", - "header_line": 29180 + "header_line": 29204 }, { "path": "crates/cowork-core/src/integration/USAGE_EXAMPLE.md", - "header_line": 29297 + "header_line": 29321 }, { "path": "crates/cowork-core/src/integration/adapters.rs", - "header_line": 29534 + "header_line": 29558 }, { "path": "crates/cowork-core/src/integration/hooks.rs", - "header_line": 29614 + "header_line": 29638 }, { "path": "crates/cowork-core/src/integration/mod.rs", - "header_line": 29870 + "header_line": 29894 }, { "path": "crates/cowork-core/src/persistence/iteration_store.rs", - "header_line": 29889 + "header_line": 29913 }, { "path": "crates/cowork-core/src/persistence/memory_store.rs", - "header_line": 30021 + "header_line": 30045 }, { "path": "crates/cowork-core/src/persistence/project_store.rs", - "header_line": 30248 + "header_line": 30272 }, { "path": "crates/cowork-core/src/pipeline/executor/interaction_ext.rs", - "header_line": 30335 + "header_line": 30359 }, { "path": "crates/cowork-core/src/pipeline/executor/workspace.rs", - "header_line": 30376 + "header_line": 30400 }, { "path": "crates/cowork-core/src/pipeline/stages/check.rs", - "header_line": 30442 + "header_line": 30466 }, { "path": "crates/cowork-core/src/pipeline/stages/delivery.rs", - "header_line": 30481 + "header_line": 30505 }, { "path": "crates/cowork-core/src/pipeline/stages/design.rs", - "header_line": 30520 + "header_line": 30544 }, { "path": "crates/cowork-core/src/pipeline/stages/idea.rs", - "header_line": 30563 + "header_line": 30587 }, { "path": "crates/cowork-core/src/pipeline/stages/mod.rs", - "header_line": 30602 + "header_line": 30626 }, { "path": "crates/cowork-core/src/pipeline/stages/plan.rs", - "header_line": 30622 + "header_line": 30646 }, { "path": "crates/cowork-core/src/pipeline/stages/prd.rs", - "header_line": 30661 + "header_line": 30685 }, { "path": "crates/cowork-core/src/project_runtime.rs", - "header_line": 30704 + "header_line": 30728 }, { "path": "crates/cowork-core/src/runtime_security.rs", - "header_line": 31111 + "header_line": 31135 }, { "path": "crates/cowork-core/src/skills/manager.rs", - "header_line": 31385 + "header_line": 31409 }, { "path": "crates/cowork-core/src/skills/mod.rs", - "header_line": 31588 + "header_line": 31612 }, { "path": "crates/cowork-core/src/tech_stack.rs", - "header_line": 31613 + "header_line": 31637 }, { "path": "crates/cowork-gui/README.md", - "header_line": 31739 + "header_line": 31763 }, { "path": "crates/cowork-gui/index.html", - "header_line": 31832 - }, - { - "path": "crates/cowork-gui/src/components/IterationsPanel.tsx", - "header_line": 31850 + "header_line": 31856 }, { "path": "crates/cowork-gui/src/components/PreviewPanel.tsx", - "header_line": 31862 + "header_line": 31874 }, { "path": "crates/cowork-gui/src/components/chat/index.ts", - "header_line": 31879 + "header_line": 31891 }, { "path": "crates/cowork-gui/src/components/common/LoadingScreen.tsx", - "header_line": 31887 + "header_line": 31899 }, { "path": "crates/cowork-gui/src/components/common/StatusBadge.tsx", - "header_line": 31909 + "header_line": 31921 }, { "path": "crates/cowork-gui/src/components/common/index.ts", - "header_line": 31919 + "header_line": 31931 }, { "path": "crates/cowork-gui/src/components/config/AgentsSetupPanel.tsx", - "header_line": 31927 + "header_line": 31939 }, { "path": "crates/cowork-gui/src/components/config/index.ts", - "header_line": 31935 + "header_line": 31947 }, { "path": "crates/cowork-gui/src/components/iterations/CreateIterationModal.tsx", - "header_line": 31945 + "header_line": 31957 }, { "path": "crates/cowork-gui/src/components/iterations/InitProjectModal.tsx", - "header_line": 31958 + "header_line": 31970 }, { "path": "crates/cowork-gui/src/components/iterations/index.ts", - "header_line": 31970 + "header_line": 31982 }, { "path": "crates/cowork-gui/src/components/onboarding/index.ts", - "header_line": 31978 + "header_line": 31990 }, { "path": "crates/cowork-gui/src/components/projects/CreateProjectModal.tsx", - "header_line": 31984 + "header_line": 31996 }, { "path": "crates/cowork-gui/src/components/projects/ImportProjectModal.tsx", - "header_line": 31996 + "header_line": 32008 }, { "path": "crates/cowork-gui/src/components/projects/index.ts", - "header_line": 32038 + "header_line": 32050 }, { "path": "crates/cowork-gui/src/constants/events.ts", - "header_line": 32046 + "header_line": 32058 }, { "path": "crates/cowork-gui/src/constants/index.ts", - "header_line": 32054 + "header_line": 32066 }, { "path": "crates/cowork-gui/src/constants/stages.ts", - "header_line": 32064 + "header_line": 32076 }, { "path": "crates/cowork-gui/src/constants/status.ts", - "header_line": 32090 + "header_line": 32102 }, { "path": "crates/cowork-gui/src/hooks/index.ts", - "header_line": 32102 + "header_line": 32114 }, { "path": "crates/cowork-gui/src/hooks/useAutoScroll.ts", - "header_line": 32120 + "header_line": 32132 }, { "path": "crates/cowork-gui/src/hooks/useIterationEvents.ts", - "header_line": 32148 + "header_line": 32160 }, { "path": "crates/cowork-gui/src/hooks/useIterationsData.ts", - "header_line": 32224 + "header_line": 32236 }, { "path": "crates/cowork-gui/src/hooks/useLoading.ts", - "header_line": 32291 + "header_line": 32303 }, { "path": "crates/cowork-gui/src/hooks/useModal.ts", - "header_line": 32344 + "header_line": 32356 }, { "path": "crates/cowork-gui/src/hooks/useProjectEvents.ts", - "header_line": 32367 + "header_line": 32379 }, { "path": "crates/cowork-gui/src/hooks/useProjectsData.ts", - "header_line": 32397 + "header_line": 32409 }, { "path": "crates/cowork-gui/src/hooks/useRefreshTrigger.ts", - "header_line": 32449 + "header_line": 32461 }, { "path": "crates/cowork-gui/src/hooks/useTauriEvent.ts", - "header_line": 32475 + "header_line": 32487 }, { "path": "crates/cowork-gui/src/stores/index.ts", - "header_line": 32522 + "header_line": 32534 }, { "path": "crates/cowork-gui/src/stores/uiStore.ts", - "header_line": 32535 + "header_line": 32547 }, { "path": "crates/cowork-gui/src/styles/theme.css", - "header_line": 32573 + "header_line": 32585 }, { "path": "crates/cowork-gui/src/styles.css", - "header_line": 32612 + "header_line": 32624 }, { "path": "crates/cowork-gui/src/types/agent.ts", - "header_line": 32627 + "header_line": 32639 }, { "path": "crates/cowork-gui/src/types/artifacts.ts", - "header_line": 32744 + "header_line": 32756 }, { "path": "crates/cowork-gui/src/types/chat.ts", - "header_line": 32840 + "header_line": 32852 }, { "path": "crates/cowork-gui/src/types/iteration.ts", - "header_line": 32970 + "header_line": 32982 }, { "path": "crates/cowork-gui/src/types/knowledge.ts", - "header_line": 33015 + "header_line": 33027 }, { "path": "crates/cowork-gui/src/types/project.ts", - "header_line": 33041 + "header_line": 33053 }, { "path": "crates/cowork-gui/src/types/registry.ts", - "header_line": 33102 + "header_line": 33114 }, { "path": "crates/cowork-gui/src/utils/errorHandler.ts", - "header_line": 33127 + "header_line": 33139 }, { "path": "crates/cowork-gui/src/utils/index.ts", - "header_line": 33249 + "header_line": 33261 }, { "path": "crates/cowork-gui/src-tauri/build.rs", - "header_line": 33266 + "header_line": 33278 }, { "path": "crates/cowork-gui/src-tauri/capabilities/default.json", - "header_line": 33274 + "header_line": 33286 }, { "path": "crates/cowork-gui/src-tauri/src/commands/memory.rs", - "header_line": 33280 + "header_line": 33292 }, { "path": "crates/cowork-gui/src-tauri/src/commands/system.rs", - "header_line": 33328 + "header_line": 33340 }, { "path": "crates/cowork-gui/src-tauri/src/commands/template.rs", - "header_line": 33344 + "header_line": 33356 }, { "path": "crates/cowork-gui/src-tauri/src/gui_types.rs", - "header_line": 33393 + "header_line": 33405 }, { "path": "crates/cowork-gui/src-tauri/src/main.rs", - "header_line": 33576 + "header_line": 33588 }, { "path": "crates/cowork-gui/src-tauri/src/project_manager.rs", - "header_line": 33584 + "header_line": 33596 }, { "path": "crates/cowork-gui/tsconfig.node.json", - "header_line": 34003 + "header_line": 34015 }, { "path": "litho.docs/en/3.Workflow.md", - "header_line": 34019 + "header_line": 34031 }, { "path": "litho.docs/en/4.Deep-Exploration/Domain Logic.md", - "header_line": 34574 + "header_line": 34586 }, { "path": "litho.docs/en/4.Deep-Exploration/Interaction Domain.md", - "header_line": 35070 + "header_line": 35082 }, { "path": "litho.docs/en/4.Deep-Exploration/Memory Domain.md", - "header_line": 35405 + "header_line": 35417 }, { "path": "litho.docs/en/4.Deep-Exploration/Pipeline Domain.md", - "header_line": 35886 + "header_line": 35898 }, { "path": "litho.docs/zh/1、项目概述.md", - "header_line": 36432 + "header_line": 36444 }, { "path": "litho.docs/zh/2、架构概览.md", - "header_line": 36727 + "header_line": 36739 }, { "path": "litho.docs/zh/3、工作流程.md", - "header_line": 37974 + "header_line": 37986 }, { "path": "litho.docs/zh/4、深入探索/4.10 、LLM集成.md", - "header_line": 38529 + "header_line": 38541 }, { "path": "litho.docs/zh/4、深入探索/4.1、领域实体.md", - "header_line": 38818 + "header_line": 38830 }, { "path": "litho.docs/zh/4、深入探索/4.2、流程调度.md", - "header_line": 39314 + "header_line": 39326 }, { "path": "litho.docs/zh/4、深入探索/4.3、HITL人机协同.md", - "header_line": 39840 + "header_line": 39852 }, { "path": "litho.docs/zh/4、深入探索/4.4、Agent工具系统.md", - "header_line": 40175 + "header_line": 40187 }, { "path": "litho.docs/zh/4、深入探索/4.5、Artifacts存储.md", - "header_line": 40628 + "header_line": 40640 }, { "path": "litho.docs/zh/4、深入探索/4.6、自迭代记忆系统.md", - "header_line": 41069 + "header_line": 41081 }, { "path": "litho.docs/zh/4、深入探索/4.7、Cowork CLI.md", - "header_line": 41550 + "header_line": 41562 }, { "path": "litho.docs/zh/4、深入探索/4.8、Cowork GUI前端.md", - "header_line": 42261 + "header_line": 42273 }, { "path": "litho.docs/zh/4、深入探索/4.9、Cowork GUI后端.md", - "header_line": 42935 + "header_line": 42947 } ] } \ No newline at end of file diff --git a/.terrain/project-note.md b/.terrain/project-note.md new file mode 100644 index 0000000..cc2a75b --- /dev/null +++ b/.terrain/project-note.md @@ -0,0 +1 @@ +Full-Stack AI Development Team Engine