Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
10aeefc
feat(meeting): fix real-time transcription + latency optimization
Mar 5, 2026
aaaac67
feat(meeting): migrate ASR from Qwen3 to FunASR (Paraformer-zh)
Mar 5, 2026
1a26b45
refactor: extract meeting transcription to standalone CLI tool
Mar 6, 2026
83340eb
chore: bump version to 0.16.41
Mar 6, 2026
befe22d
refactor: comprehensive health check — architecture, type safety, and…
Mar 7, 2026
0164640
feat(eval): add Session Replay structured viewer to Eval Center
Mar 7, 2026
b96098c
feat(research): deep research 7 项优化 + 报告截断修复
Mar 7, 2026
4cd9efc
refactor: remove generation system — unify product to gen8 only
Mar 7, 2026
cf23edb
feat: deep research pipeline + UI transparency improvements
Mar 8, 2026
3ce12ee
feat: LLM intent classification + smart search source routing
Mar 8, 2026
db6ad1b
fix: restore missing tool imports in toolRegistry and fix CLI type error
Mar 8, 2026
a4b0244
perf: skip redundant translation in webSearch for same-language queries
Mar 8, 2026
18cfd36
feat: deep research quality improvements (P0-P2)
Mar 8, 2026
077718d
feat: extract research prompt to skill + fix intent classifier reliab…
Mar 8, 2026
7327e45
perf: optimize web_search output density and research workflow
Mar 8, 2026
5873fea
fix: remove incorrect @deprecated annotations on active modules
Mar 8, 2026
af3f9d0
refactor: migrate taskOrchestrator to planning/, archive orchestrator…
Mar 8, 2026
45ca8d9
refactor: archive parallelEvaluator (A/B comparison evaluator, no cal…
Mar 8, 2026
d3a9651
merge: Sprint 1 module surgery — orchestrator archive, annotation fix…
Mar 8, 2026
6518be5
feat: integrate trajectory analysis into EvalCenter and replay sidebar
Mar 8, 2026
ba00ddc
feat: implement true SSE streaming in channelAgentBridge
Mar 8, 2026
39784f8
refactor: add ServiceRegistry for unified disposal and test reset
Mar 8, 2026
9d33910
refactor: rename core tools to PascalCase for Claude Code alignment
Mar 8, 2026
9807428
fix: add missing type definitions to resolve 18 typecheck errors
Mar 8, 2026
3b88458
refactor: consolidate 31 deferred tools into 9 unified tools (Phase 2)
Mar 8, 2026
5f607c3
test: update 16 test files to match Sprint 2 simplification
Mar 8, 2026
32ad10c
fix(checkpoint): repair broken checkpoint system and add message trun…
Mar 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
80 changes: 80 additions & 0 deletions .code-agent/skills/research/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
name: research
description: 深度调研 — 多角度搜索、证据链绑定、结构化报告生成
keywords: [research, 调研, 深度搜索, 深入分析, 全面调查, 研究报告, deep research, comprehensive analysis, in-depth]
allowed-tools: [web_search, web_fetch, write_file, read_file]
execution-context: inline
---

# 深度调研模式

你正在执行深度调研任务。请按以下步骤严格执行:

## 第一步:制定研究计划

在搜索之前,先思考并列出 3-5 个不同的研究角度。每个角度应覆盖不同维度:
- 现状数据(当前市场/行业状态)
- 趋势分析(发展方向和变化)
- 定量数据(数字、统计、指标)
- 定性信息(观点、评价、案例)
- 对比维度(竞品/同类比较)

用表格展示研究计划,包含:研究角度、搜索关键词、预期产出。

## 第二步:多角度搜索

针对每个研究角度执行独立搜索:
- 搜索关键词必须各不相同,禁止仅改换措辞重复搜索同一内容
- 使用 `mode: "research"` 触发多源搜索(会自动提取关键页面内容)
- 使用 `recency: "month"` 获取最近一个月的新鲜结果
- 使用 `output_format: "table"` 获得紧凑格式,节省上下文空间
- 至少执行 4 次不同角度的搜索
- 无需额外使用 web_fetch,research 模式已自动提取关键页面内容

## 第三步:深入抓取(按需)

research 模式的搜索已自动提取关键页面内容(auto_extract)。仅在以下情况使用 web_fetch:
- 需要某个特定页面的完整内容(如完整报告/数据表格)
- 搜索摘要不够详细,需要原文验证数据
- 自动提取的内容不完整

## 第四步:综合分析

汇总所有角度的发现,去重后形成结构化报告,包含数据支撑和来源引用。

---

## 报告质量规范

### 证据链绑定(强制)

- 报告中每个关键数据点必须标注来源编号 [S1][S2]...
- 无法确认来源的数字必须标注为【推断】或【估算】
- 报告末尾的 Sources 列表必须包含可点击的 URL

### 年份策略

- 大部分公开数据可能滞后 6-18 个月
- 搜索时优先使用上一年份或"最新",除非确实找到当年数据
- 报告中必须标注数据的实际年份口径,如"根据 2025 年数据推断"

### 事实与推断分层

报告必须区分两种内容:
1. 📊 **实证数据**(有明确来源的统计/数字)
2. 📈 **趋势推断**(基于数据的分析和推断,需标注推断依据)

### 来源可信度标注

Sources 列表中为每个来源标注可信度:
- ⭐⭐⭐ 官方报告 / 政府数据 / 权威机构
- ⭐⭐ 行业媒体 / 招聘平台统计
- ⭐ 个人博客 / 论坛帖子 / 未经验证的转载

---

## 重要提醒

- 不要只搜索 1-2 次就给出结论
- 不要编造数据 — 宁可标注【推断】也不要伪造来源
- 报告结构要清晰,使用表格展示关键对比数据
14 changes: 10 additions & 4 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
| **生命周期管理** | `src/main/core/lifecycle.ts` | 服务生命周期管理 |
| **DAG 可视化** | `src/renderer/components/features/workflow/` | React Flow DAG 展示 |
| **内置 Agent** | `src/shared/types/builtInAgents.ts` | 6+11 个预定义 Agent 角色 |
| **Checkpoint 系统** | `src/main/services/FileCheckpointService.ts` | 文件版本快照与回滚 |
| **Checkpoint 系统** | `src/main/services/checkpoint/fileCheckpointService.ts` | 文件版本快照与回滚(Write/Edit 拦截 + Rewind 消息截断) |
| **ToolSearch** | `src/main/tools/gen4/toolSearch.ts` | 延迟加载工具发现机制 |
| **CLI 接口** | `src/main/cli/` | 命令行交互模式 |
| **多渠道接入** | `src/main/channels/` | 飞书 Webhook 等渠道支持 |
Expand Down Expand Up @@ -126,6 +126,9 @@
| **统一 Identity** | `src/main/generation/prompts/identity.ts` | 替代 constitution/ 的 6 文件,token -81% |
| **上下文压缩** | `src/main/context/autoCompressor.ts` | 自动上下文压缩 |
| **并行评估** | `src/main/evaluation/parallelEvaluator.ts` | 并行会话评估 |
| **Session Replay** | `src/main/evaluation/replayService.ts` | 评测中心第三模式:结构化会话回放(三表 JOIN + 工具分类 + 自修复链检测) |
| **Trajectory 分析** | `src/main/evaluation/trajectory/` | 可选管道:事件流 → TrajectoryBuilder → DeviationDetector → EvaluationResult.trajectoryAnalysis |
| **ServiceRegistry** | `src/main/services/serviceRegistry.ts` | 统一服务生命周期管理(register/disposeAll/resetAll),gracefulShutdown 接入 |

### v0.16.16+ 新增模块

Expand All @@ -152,6 +155,7 @@
| [003](./decisions/003-cloud-local-hybrid-architecture.md) | 云端-本地混合执行架构 | accepted |
| [004](./decisions/004-unified-plugin-config-structure.md) | 统一插件配置目录结构 | proposed |
| [005](./decisions/005-eval-engineering.md) | Eval Engineering Key Decisions | accepted |
| [006](./decisions/006-deferred-tools-consolidation.md) | Deferred Tools 合并精简 (Phase 2) | accepted |

---

Expand All @@ -173,15 +177,17 @@

| 代际 | 核心能力 | 工具集 |
|------|----------|--------|
| Gen1 | 基础文件操作 | bash, read_file, write_file, edit_file |
| Gen1 | 基础文件操作 | Bash, Read, Write, Edit |
| Gen2 | 代码搜索 | + glob, grep, list_directory, mcp |
| Gen3 | 任务规划 | + task, todo_write, ask_user_question |
| Gen4 | 网络能力 | + skill, web_fetch, **web_search** |
| Gen3 | 任务规划 | + TaskManager, todo_write, AskUserQuestion |
| Gen4 | 网络能力 | + skill, WebFetch, **WebSearch** |
| Gen5 | 记忆系统 | + memory_store, memory_search |
| Gen6 | 视觉交互 | + screenshot, computer_use |
| Gen7 | 多代理 | + spawn_agent, agent_message |
| Gen8 | 自我进化 | + strategy_optimize, tool_create |

> **Phase 2 工具合并**: 31 个延迟加载工具合并为 9 个统一工具(Process, MCPUnified, TaskManager, Plan, PlanMode, WebFetch, ReadDocument, Browser, Computer),使用 action 参数分发。旧名通过 TOOL_ALIASES 保持兼容。详见 [ADR-006](./decisions/006-deferred-tools-consolidation.md)。

### 目录结构

```
Expand Down
53 changes: 41 additions & 12 deletions docs/architecture/agent-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -444,38 +444,67 @@ if (!modifiedFiles.includes(expectedFile)) {

---

## Checkpoint 系统 (v0.16.11+)
## Checkpoint 系统 (v0.16.11+, v0.16.42 修复)

**位置**: `src/main/services/FileCheckpointService.ts`
**位置**: `src/main/services/checkpoint/fileCheckpointService.ts`

文件版本快照系统,支持任务级别的回滚。
文件版本快照系统,在 Write/Edit 工具执行前自动保存原文件内容,支持 Esc+Esc 触发的 Rewind 回滚。

### 架构

```
ToolExecutor.execute()
→ fileCheckpointMiddleware(拦截 Write/Edit,使用 tool.name 规范名)
→ FileCheckpointService.createCheckpoint()
→ SQLite file_checkpoints 表

RewindPanel (Esc+Esc)
→ checkpoint:list / checkpoint:preview / checkpoint:rewind (IPC)
→ FileCheckpointService.rewindFiles() (文件恢复)
→ DatabaseService.deleteMessagesFrom() (消息截断)
→ Orchestrator.setMessages() (内存同步)
→ 前端 setMessages() 刷新 (UI 同步)
```

### 核心功能

| 功能 | 描述 |
|------|------|
| `createCheckpoint()` | 创建当前文件状态快照 |
| `rewindFiles()` | 回滚到指定检查点 |
| `getModifiedFiles()` | 获取检查点后修改的文件列表 |
| `cleanup()` | 清理过期检查点 |
| `createCheckpoint()` | Write/Edit 执行前自动保存原文件内容 |
| `rewindFiles()` | 回滚到指定消息之前的文件状态 |
| `getCheckpoints()` | 获取 session 的所有检查点 |
| `cleanup()` | 清理过期检查点(7 天 / 启动时自动执行) |
| `deleteMessagesFrom()` | Rewind 时截断对话消息(DB + 内存 + 前端) |

### 数据库表结构

```sql
CREATE TABLE file_checkpoints (
id TEXT PRIMARY KEY,
session_id TEXT NOT NULL,
message_id TEXT NOT NULL,
file_path TEXT NOT NULL,
content TEXT NOT NULL,
created_at INTEGER NOT NULL
original_content TEXT, -- null 表示文件原本不存在
file_existed INTEGER NOT NULL,
created_at INTEGER NOT NULL,
FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
);
```

### 限制

| 项目 | 值 |
|------|------|
| 单文件上限 | 1MB(大文件跳过) |
| 每 session 上限 | 50 个检查点(FIFO 淘汰) |
| 保留期 | 7 天 |
| 监控工具 | Write、Edit(Bash 不在监控范围) |

### 使用场景

1. **任务开始前**: 自动创建检查点
2. **任务失败时**: 回滚到检查点
3. **用户请求撤销**: 恢复到指定检查点
1. **Write/Edit 执行前**: middleware 自动创建检查点
2. **Esc+Esc 触发 Rewind**: 文件恢复 + 消息截断 + UI 刷新
3. **启动时**: 自动清理过期检查点

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,6 @@ export class AgentExecutor extends EventEmitter {
return {
name: 'delegate_task',
description: '将子任务委派给其他 Agent 执行',
generations: ['gen7', 'gen8'],
requiresPermission: false,
permissionLevel: 'read',
inputSchema: {
Expand Down
Loading