feat: 第一版文档上传
This commit is contained in:
parent
c4a139ae85
commit
71d6c7cd88
31
docs/README.md
Normal file
31
docs/README.md
Normal file
@ -0,0 +1,31 @@
|
||||
# 文档索引
|
||||
|
||||
本文档记录 `llm-to-agent` 当前已达成的产品与架构共识。它不是固定开发清单:实现前再细化当前功能点,发现新需求则补到对应功能文档中。
|
||||
|
||||
## 使用方式
|
||||
|
||||
- 每个大功能点一个文件,文件头标记 `状态` 与 `期望阶段`。
|
||||
- `todo`、`doing`、`done` 表示当前进度;阶段只表示建议先后,不构成严格依赖顺序。
|
||||
- 每完成一个独立提交,在对应文档中补充提交、blog 和实现说明。
|
||||
- 未明确的方案写在“待细化”中,不提前冻结实现。
|
||||
|
||||
## 导航
|
||||
|
||||
- [路线图与管理规则](roadmap.md)
|
||||
- [架构总览](architecture/overview.md)
|
||||
- [本地数据与目录](architecture/local-data.md)
|
||||
- [Runtime](foundation/runtime.md)
|
||||
- [CLI](foundation/cli.md)
|
||||
- [Space 与 Conversation](foundation/spaces.md)
|
||||
- [模型与聊天](agent/model-chat.md)
|
||||
- [Run 与 Agent Behavior](agent/runs-behavior.md)
|
||||
- [Tools 与 Workspace](agent/tools-workspace.md)
|
||||
- [Project 开发助手](development/project-assistant.md)
|
||||
- [System Evolution](development/system-evolution.md)
|
||||
- [Hooks、扩展与 Profile](extension/hooks-extensions.md)
|
||||
- [计划与多 Agent](intelligence/planning-multi-agent.md)
|
||||
- [记忆与知识](intelligence/memory-knowledge.md)
|
||||
- [电脑管家与自动化](automation/computer-butler.md)
|
||||
- [可靠性与个人安全](operations/reliability-safety.md)
|
||||
- [Web](clients/web.md)
|
||||
- [Desktop](clients/desktop.md)
|
||||
21
docs/agent/model-chat.md
Normal file
21
docs/agent/model-chat.md
Normal file
@ -0,0 +1,21 @@
|
||||
# 模型与聊天
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 目标
|
||||
|
||||
先提供可靠、连续的 DeepSeek 聊天能力;模型接入保持可替换,但不提前实现多 Provider 系统。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 第一版只兼容 DeepSeek API。
|
||||
- 支持流式回复和会话历史加载。
|
||||
- 模型调用由 Runtime 管理,CLI 只渲染流。
|
||||
- 未来模型提供商属于 Adapter 层。
|
||||
|
||||
## 待细化
|
||||
|
||||
- API Key 的读取位置与配置体验。
|
||||
- 默认模型、请求参数和失败/限流提示。
|
||||
- 上下文窗口压缩策略。
|
||||
22
docs/agent/runs-behavior.md
Normal file
22
docs/agent/runs-behavior.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Run 与 Agent Behavior
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 目标
|
||||
|
||||
使一次用户请求拥有可观察的运行边界,并为未来不同 Agent 行为留下接缝。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 一次用户消息默认产生一个 Run。
|
||||
- 纯聊天 Run 只产生模型回答;行动 Run 还包含 Tool 调用、输出和产物。
|
||||
- 第一版仅实现 `DefaultAgent`,不预设 Planner/Worker/Reviewer 流程。
|
||||
- Behavior 定义 Agent 如何准备上下文、调用模型、调用 Tool 和结束 Run。
|
||||
- Run 记录输入、输出、错误、时间和原始执行日志。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Run 的取消、重试和失败显示。
|
||||
- 行为接口的具体 TypeScript 形状。
|
||||
- 后续 Plan/Step 与 Run 的关系。
|
||||
23
docs/agent/tools-workspace.md
Normal file
23
docs/agent/tools-workspace.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Tools 与 Workspace
|
||||
|
||||
状态:todo
|
||||
期望阶段:P2
|
||||
|
||||
## 目标
|
||||
|
||||
让单 Agent 在隔离工作区中使用文件与 Shell 完成真实任务。
|
||||
|
||||
## 已确定
|
||||
|
||||
- Tool 是 Agent 主动调用的外部能力。
|
||||
- 第一批能力:读写文件、目录浏览、文本搜索和 Shell 执行。
|
||||
- 每个 Task 有独立 Workspace;Shell 默认在该目录执行。
|
||||
- Tool 调用参数、输出、错误和生成脚本文本写入 Run 日志。
|
||||
- Agent 通过模型 Tool Calling 自主选择、调用并读取 Tool 结果。
|
||||
- 初期不建设复杂审批或权限语言;真实破坏性操作出现后再增强。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Shell 超时、取消、后台进程和大输出处理。
|
||||
- 文件写入与补丁的交互方式。
|
||||
- Tool 描述和参数 Schema 的具体格式。
|
||||
38
docs/architecture/local-data.md
Normal file
38
docs/architecture/local-data.md
Normal file
@ -0,0 +1,38 @@
|
||||
# 本地数据与目录
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 原则
|
||||
|
||||
数据以本地普通文件保存,保持易读、易调试、易由 Agent 修改。早期不承诺兼容性,不预先建设 schema migration;重要数据依靠备份,格式变更需要时再写一次性转换脚本。
|
||||
|
||||
Runtime 是唯一写入者,CLI/Web/Desktop 均通过 Runtime 读取或修改数据。
|
||||
|
||||
## 目录
|
||||
|
||||
```text
|
||||
~/.agent/
|
||||
tasks/<task-id>/
|
||||
space.json
|
||||
conversations/
|
||||
runs/
|
||||
workspace/
|
||||
|
||||
<project-root>/.agent/
|
||||
project.json
|
||||
conversations/
|
||||
runs/
|
||||
```
|
||||
|
||||
Conversation 与 Run 优先采用 JSONL;Space/Project 元信息采用小型 JSON 文件。生成并执行的脚本文本进入 Run 日志,不额外维护脚本库;真正写进 Workspace 的文件自然保留。
|
||||
|
||||
## Task 升级
|
||||
|
||||
Task Workspace 的组织尽量与 Project 工作区一致。升级为 Project 时,将该专属目录迁移至用户指定路径并写入 Project 元信息。
|
||||
|
||||
## 待细化
|
||||
|
||||
- ID 和文件命名规则。
|
||||
- Run 日志与产物的具体划分。
|
||||
- 备份、归档和数据清理策略。
|
||||
36
docs/architecture/overview.md
Normal file
36
docs/architecture/overview.md
Normal file
@ -0,0 +1,36 @@
|
||||
# 架构总览
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 定位
|
||||
|
||||
这是纯个人使用的开发助手与电脑管家。它支持 Project 和 Task 两种并列 Space,并通过 CLI、Web、Desktop 三个客户端访问同一个本地 Runtime。
|
||||
|
||||
## 分层
|
||||
|
||||
```text
|
||||
Launcher / Supervisor
|
||||
↓
|
||||
本地 Runtime(微内核)
|
||||
↓
|
||||
Adapter / Tool / Hook / Behavior Package
|
||||
↓
|
||||
Project / Task / System Evolution Profile
|
||||
↓
|
||||
CLI / Web / Desktop
|
||||
```
|
||||
|
||||
微内核只负责运行规则:本地状态、Run 生命周期、Tool 调用边界、Hook 调度和扩展接缝。它不预先承载具体模型、浏览器、Git、记忆或 Agent 协作策略。
|
||||
|
||||
## 扩展边界
|
||||
|
||||
- **Adapter**:可替换的底层实现,例如模型供应商、检索或浏览器驱动。
|
||||
- **Tool**:Agent 主动调用的外部能力,例如文件、Shell、Git、浏览器。
|
||||
- **Hook**:围绕生命周期做观察、限制或后续动作。
|
||||
- **Behavior Package**:Agent 的思考、协作和完成方式。
|
||||
- **Profile**:为 Project、Task、System Evolution 组合默认行为与能力。
|
||||
|
||||
## 演化原则
|
||||
|
||||
内核可以被修改。Agent 对自身的改动必须发生在隔离 worktree 中,经过测试和 Git 确认后再由 Supervisor 切换版本;失败时能够回退。
|
||||
20
docs/automation/computer-butler.md
Normal file
20
docs/automation/computer-butler.md
Normal file
@ -0,0 +1,20 @@
|
||||
# 电脑管家与自动化
|
||||
|
||||
状态:todo
|
||||
期望阶段:P4
|
||||
|
||||
## 目标
|
||||
|
||||
将 Task 从临时聊天空间发展为可处理本地日常事务的电脑管家。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 能力通过 Tool 逐项加入,不预先建设完整桌面自动化平台。
|
||||
- 候选能力包括剪贴板、通知、文件整理、进程信息、浏览器读取与交互、应用/窗口控制、截图、键鼠自动化、定时任务和后台任务。
|
||||
- 常用工作流可以沉淀为模板或 Behavior,但不在早期固定格式。
|
||||
|
||||
## 待细化
|
||||
|
||||
- 首个接入的本机/浏览器能力由真实日常需求决定。
|
||||
- 浏览器驱动、桌面自动化方式和各平台兼容性。
|
||||
- 自动化任务的确认、停止和恢复体验。
|
||||
21
docs/clients/desktop.md
Normal file
21
docs/clients/desktop.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Desktop
|
||||
|
||||
状态:todo
|
||||
期望阶段:P6
|
||||
|
||||
## 目标
|
||||
|
||||
将 Desktop 建设为本地常驻控制台和系统集成层,复用 Web 界面与 Runtime。
|
||||
|
||||
## 已确定
|
||||
|
||||
- Desktop 在 CLI 和 Web 产品线之后开发。
|
||||
- 负责 Runtime 生命周期、托盘、通知、快捷键、原生确认、版本切换与健康状态。
|
||||
- 可逐步承担剪贴板、窗口、文件系统和其他原生能力桥接。
|
||||
- Desktop 框架在进入本阶段前单独讨论确定。
|
||||
|
||||
## 待细化
|
||||
|
||||
- 框架选择与打包更新策略。
|
||||
- Web 前端复用方式。
|
||||
- 原生权限、后台常驻和跨平台边界。
|
||||
21
docs/clients/web.md
Normal file
21
docs/clients/web.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Web
|
||||
|
||||
状态:todo
|
||||
期望阶段:P5
|
||||
|
||||
## 目标
|
||||
|
||||
将 Web 建设为 Runtime 的第二个客户端,不复制 Agent、存储或 Tool 逻辑。
|
||||
|
||||
## 已确定
|
||||
|
||||
- Web 在 CLI 产品线之后开发。
|
||||
- 首先覆盖 Space、Conversation、流式聊天和 Run 观察。
|
||||
- 后续覆盖 Tool 日志、产物、Plan、项目记忆、Diff、扩展、确认和 System Evolution 管理。
|
||||
- Web 框架进入本阶段前单独讨论确定。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Runtime 的 HTTP/SSE/WebSocket 访问层。
|
||||
- 本地与远程访问方式。
|
||||
- 前端框架、状态管理和视觉设计。
|
||||
178
docs/design.md
178
docs/design.md
@ -1,178 +0,0 @@
|
||||
# llm-to-agent 设计文档
|
||||
|
||||
## 架构设计
|
||||
|
||||
### 核心理念:微内核 + 事件驱动
|
||||
|
||||
Agent 的本质是一个循环:**用户输入 → LLM 思考 → 工具调用 → LLM 再思考 → 最终回复**。
|
||||
|
||||
本项目的答案是:**内核只做一件事——驱动这个循环**。LLM 调用、工具执行、日志输出等一切能力全部通过事件总线交给外部插件。
|
||||
|
||||
### 三层架构
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────┐
|
||||
│ Route 层 CLI / Desktop / Web │ ← 只决定 I/O 方式
|
||||
├──────────────────────────────────────────┤
|
||||
│ Plugin 层 provider / tool / hook │ ← 可替换的能力单元
|
||||
├──────────────────────────────────────────┤
|
||||
│ Core 层 Scheduler + HookBus │ ← 只做循环 + 事件路由
|
||||
└──────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 事件总线
|
||||
|
||||
内核循环的每一步都通过 `HookBus` 发出事件,插件注册响应,形成“事件驱动 + 插件化”的架构。
|
||||
|
||||
### 插件类型
|
||||
|
||||
| 类型 | 职责 | 响应的事件 |
|
||||
|------|------|-----------|
|
||||
| `provider` | LLM 提供商适配 | `llm:call`、`tool:select` |
|
||||
| `tool` | 工具能力 | `tool:schema`、`tool:execute` |
|
||||
| `hook` | 生命周期副作用 | `tool:before`、`tool:after`、`run:end` |
|
||||
| `prompt` | 系统提示词 | 通过配置注入,不响应事件 |
|
||||
|
||||
每个插件通过 `manifest.json` 声明元信息(名称、类型、提供的能力、适用平台),由 `PluginManager` 统一加载。
|
||||
|
||||
### 三条产品线
|
||||
|
||||
```
|
||||
┌── @llm-to-agent/core ──┐
|
||||
│ MicroKernel + HookBus │
|
||||
└────────────────────────┘
|
||||
│
|
||||
┌─────────────────┼─────────────────┐
|
||||
▼ ▼ ▼
|
||||
CLI Desktop Web
|
||||
(readline) (Electron) (Browser HTTP)
|
||||
│ │ │
|
||||
┌───────┴────────┐ ┌──────┴───────┐ ┌──────┴───────┐
|
||||
│ 本地工具全部 │ │ 同 CLI │ │ 仅远程工具 │
|
||||
│ console 日志 │ │ IPC 日志 │ │ SSE 日志 │
|
||||
└────────────────┘ └──────────────┘ └──────────────┘
|
||||
```
|
||||
|
||||
CLI 与 Desktop 共享本地工具(文件读写、Shell 执行),Web 端通过 `platforms` 字段自动跳过本地工具。
|
||||
|
||||
---
|
||||
|
||||
## 项目目录设计
|
||||
|
||||
### Monorepo 结构(pnpm workspace)
|
||||
|
||||
```
|
||||
llm-to-agent/
|
||||
├── pnpm-workspace.yaml
|
||||
├── package.json ← 根(private,统一 dev/test 脚本)
|
||||
├── tsconfig.json
|
||||
│
|
||||
├── docs/ ← 设计文档
|
||||
│ └── design.md
|
||||
│
|
||||
├── packages/
|
||||
│ │
|
||||
│ ├── types/ ← @llm-to-agent/types
|
||||
│ │ └── src/index.ts ← 所有共享类型(Message/ToolDef/PluginManifest/...)
|
||||
│ │
|
||||
│ ├── core/ ← @llm-to-agent/core
|
||||
│ │ └── src/
|
||||
│ │ ├── hook-bus.ts ← 事件总线(on/emit/request/collect)
|
||||
│ │ ├── scheduler.ts ← Agent 循环(think→tool→think)
|
||||
│ │ ├── context.ts ← 消息上下文管理器
|
||||
│ │ ├── plugin-manager.ts← 插件加载 + 生命周期
|
||||
│ │ └── kernel.ts ← MicroKernel 入口(组合以上模块)
|
||||
│ │
|
||||
│ ├── plugins-builtin/ ← @llm-to-agent/plugins-builtin
|
||||
│ │ └── [xxxxx]/ ← 内置插件
|
||||
│ │
|
||||
│ ├── cli/ ← @llm-to-agent/cli(终端入口)
|
||||
│ │ └── src/index.ts ← readline 循环 + kernel.init([...])
|
||||
│ │
|
||||
│ ├── desktop/ ← @llm-to-agent/desktop(桌面入口)
|
||||
│ │ └── src/main.ts ← Electron 主进程
|
||||
│ │
|
||||
│ ├── server/ ← @llm-to-agent/server(Web 后端)
|
||||
│ │ └── src/index.ts ← Express + SSE
|
||||
│ │
|
||||
│ ├── web/ ← @llm-to-agent/web(Web 前端)
|
||||
│ │ └── index.html ← 待实现 React 聊天界面
|
||||
│ │
|
||||
│ ├── tests/ ← @llm-to-agent/tests
|
||||
│ │ └── src/ ← *.test.ts(Node 原生 test runner)
|
||||
│ │
|
||||
│ └── old/ ← @llm-to-agent/old(旧代码归档)
|
||||
│ └── src/ ← 重构前的 Agent 实现
|
||||
```
|
||||
|
||||
### 包依赖关系
|
||||
|
||||
```
|
||||
@llm-to-agent/types ← 零依赖,纯类型
|
||||
↑ ↑
|
||||
core plugins-builtin
|
||||
↑ ↑
|
||||
├───────────┴────────────┐
|
||||
↓ ↓ ↓
|
||||
cli desktop server
|
||||
↑
|
||||
web
|
||||
```
|
||||
|
||||
### 插件清单规范
|
||||
|
||||
每个插件目录包含 `manifest.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "@agent/tool-file",
|
||||
"version": "1.0.0",
|
||||
"type": "tool",
|
||||
"provides": ["file-read", "file-write"],
|
||||
"entry": "./index.ts",
|
||||
"platforms": ["cli", "desktop"]
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `type` | `provider` / `tool` / `hook` / `prompt` |
|
||||
| `provides` | 提供的能力标识 |
|
||||
| `entry` | 入口文件,默认导出 `register(bus: HookBus)` |
|
||||
| `platforms` | 可用平台,PluginManager 加载时自动过滤 |
|
||||
|
||||
### 关键类型
|
||||
|
||||
```typescript
|
||||
// 消息
|
||||
interface Message {
|
||||
role: 'system' | 'user' | 'assistant' | 'tool';
|
||||
content: string;
|
||||
tool_calls?: ToolCall[];
|
||||
tool_call_id?: string;
|
||||
}
|
||||
|
||||
// 工具定义(OpenAI 兼容)
|
||||
interface ToolDef {
|
||||
type: 'function';
|
||||
function: {
|
||||
name: string;
|
||||
description: string;
|
||||
parameters: Record<string, unknown>;
|
||||
};
|
||||
}
|
||||
|
||||
// 插件清单
|
||||
interface PluginManifest {
|
||||
name: string;
|
||||
version: string;
|
||||
type: 'provider' | 'tool' | 'hook' | 'prompt';
|
||||
provides: string | string[];
|
||||
entry: string;
|
||||
platforms?: ('cli' | 'desktop' | 'web')[];
|
||||
}
|
||||
|
||||
// 事件总线
|
||||
type EventName = string;
|
||||
type Listener = (data: any) => any | Promise<any>;
|
||||
```
|
||||
22
docs/development/project-assistant.md
Normal file
22
docs/development/project-assistant.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Project 开发助手
|
||||
|
||||
状态:todo
|
||||
期望阶段:P2
|
||||
|
||||
## 目标
|
||||
|
||||
让 Agent 能在绑定源码目录中完成“理解 → 修改 → 测试 → 汇报”的开发闭环。
|
||||
|
||||
## 已确定
|
||||
|
||||
- Project 在项目根目录使用 `.agent/` 存放自身会话、Run 和项目上下文。
|
||||
- 项目规则、架构摘要和决策记录会逐步沉淀,但不预先引入 RAG。
|
||||
- 开发 Tool 包含代码搜索、修改/补丁、测试执行和测试结果收集。
|
||||
- 初期由单 Agent 完整完成开发任务;多 Agent 协作由后续真实需求驱动。
|
||||
- Git 支持 status、diff、log 与 worktree;候选修改默认放在隔离 worktree。
|
||||
|
||||
## 待细化
|
||||
|
||||
- 项目说明文件的名称和注入时机。
|
||||
- worktree 的目录、清理和默认分支策略。
|
||||
- Task 升级 Project 的 CLI/TUI 流程。
|
||||
22
docs/development/system-evolution.md
Normal file
22
docs/development/system-evolution.md
Normal file
@ -0,0 +1,22 @@
|
||||
# System Evolution
|
||||
|
||||
状态:todo
|
||||
期望阶段:P3
|
||||
|
||||
## 目标
|
||||
|
||||
使 Agent 能像维护普通开发项目一样维护自身。进化由用户在专属 Project 中提出需求或反馈驱动,不要求 Agent 主动发现问题。
|
||||
|
||||
## 已确定
|
||||
|
||||
- `System Evolution` 是特殊 Project Profile,绑定 Agent 自身源码仓库。
|
||||
- Agent 在 Git worktree 中分析、修改、测试候选版本。
|
||||
- 用户查看 Diff 后确认 Git commit/merge/push 等写操作。
|
||||
- Supervisor 在内核外负责候选版本切换、启动、健康检查和失败回退。
|
||||
- 初期以 Git 历史和 Run 日志记录演化过程;复杂评估与进化档案后置。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Supervisor 的最小实现和版本切换方式。
|
||||
- 候选版本测试、健康检查和回退判定。
|
||||
- 发布确认在 CLI/TUI/Web/Desktop 中的体验。
|
||||
22
docs/extension/hooks-extensions.md
Normal file
22
docs/extension/hooks-extensions.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Hooks、扩展与 Profile
|
||||
|
||||
状态:todo
|
||||
期望阶段:P4
|
||||
|
||||
## 目标
|
||||
|
||||
让新能力在需要时能以 Tool、Hook、Behavior、Adapter 或 Profile 的形式优雅生长。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 第一版只保留 `beforeTool`、`afterTool`、`afterRun` 三个轻量 Hook 点。
|
||||
- Hook 用于观察、约束或响应生命周期;不承担 Run 状态、存储一致性或 Tool 实际执行。
|
||||
- Tool、Hook、Behavior、Adapter 是不同扩展形态,不混为“插件”。
|
||||
- Project、Task、System Evolution 的差异最终由 Profile 组合表达。
|
||||
- 自动发现、manifest、依赖管理、调试台均后置,等出现真实的独立扩展需求再实现。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Hook 的注册、顺序、异常隔离和启停。
|
||||
- 扩展目录、加载方式和本地开发体验。
|
||||
- Profile 的配置格式与覆盖规则。
|
||||
26
docs/foundation/cli.md
Normal file
26
docs/foundation/cli.md
Normal file
@ -0,0 +1,26 @@
|
||||
# CLI
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 目标
|
||||
|
||||
CLI 是第一条完整产品线,应能独立完成聊天、空间管理、执行观察和日常开发/临时事务。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 以自然语言 REPL 为主;普通文本发送给当前 Conversation。
|
||||
- 使用少量斜杠命令处理 Space、会话、Run 等确定性控制操作。
|
||||
- 提示符需要明确显示当前 Task/Project 与 Conversation。
|
||||
- Agent 的普通回答流式输出;Tool 调用显示简短状态、结果和失败信息,不展示内部推理。
|
||||
- 除 REPL 外,CLI 还应提供全屏 TUI,用于浏览 Space、会话、Run、日志与产物;它属于 CLI 产品线,不是可遗忘的远期附属功能。
|
||||
|
||||
## 候选命令
|
||||
|
||||
`/new`、`/conversations`、`/switch`、`/tasks`、`/task`、`/project`、`/runs`、`/log`、`/cancel`、`/exit`。
|
||||
|
||||
## 待细化
|
||||
|
||||
- 启动时恢复最近上下文还是提供编号选择器。
|
||||
- REPL 与 TUI 的切换方式、TUI 库、布局和快捷键。
|
||||
- 长 Tool 输出的折叠、复制与完整日志查看方式。
|
||||
21
docs/foundation/runtime.md
Normal file
21
docs/foundation/runtime.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Runtime
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 目标
|
||||
|
||||
建立一个常驻本地 Runtime。它是唯一的状态写入者,也是 Agent、Tool 和未来客户端的运行宿主。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 技术基础为 TypeScript + Node.js + monorepo。
|
||||
- CLI 从第一天起连接常驻 Runtime,而不是把 Runtime 嵌入在 CLI 进程中。
|
||||
- Runtime 负责 Space、Conversation、Run、本地数据和 Tool 执行。
|
||||
- Web 与 Desktop 以后只是同一 Runtime 的客户端,不重复 Agent 逻辑。
|
||||
|
||||
## 待细化
|
||||
|
||||
- CLI 与 Runtime 的本地通信方式。
|
||||
- Node 版本、包管理器、monorepo 工具和包边界。
|
||||
- Runtime 启动、健康检查、单实例和停止行为。
|
||||
22
docs/foundation/spaces.md
Normal file
22
docs/foundation/spaces.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Space 与 Conversation
|
||||
|
||||
状态:todo
|
||||
期望阶段:P1
|
||||
|
||||
## 目标
|
||||
|
||||
提供两种并列的一级空间,并让每个空间拥有多个独立会话。
|
||||
|
||||
## 已确定
|
||||
|
||||
- `Project`:长期开发空间,绑定本地项目目录。
|
||||
- `Task`:临时个人事务空间,可用于闲聊、脚本、浏览器或应用控制。
|
||||
- 两类 Space 均包含多个 Conversation。
|
||||
- 一次实际 Agent 执行称为 `Run`,避免与 Task 概念混淆。
|
||||
- `inbox` 可以作为默认 Task;具体生命周期在实现前确认。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Task 的默认命名、归档和删除体验。
|
||||
- Conversation 标题生成与重命名体验。
|
||||
- Project/Task 切换在 REPL 与 TUI 中的展示。
|
||||
21
docs/intelligence/memory-knowledge.md
Normal file
21
docs/intelligence/memory-knowledge.md
Normal file
@ -0,0 +1,21 @@
|
||||
# 记忆与知识
|
||||
|
||||
状态:todo
|
||||
期望阶段:P4
|
||||
|
||||
## 目标
|
||||
|
||||
让三端共享有用的个人、项目和会话上下文,同时保持数据本地化和可编辑。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 目标层级:Conversation、Task/Project、全局个人记忆,以及短暂的 Run 工作记忆。
|
||||
- 初期优先使用摘要、项目说明、架构记录和决策记录等普通文件。
|
||||
- 记忆应能查看、编辑、固定或遗忘。
|
||||
- 全文检索、文档导入、向量检索和混合检索均后置。
|
||||
|
||||
## 待细化
|
||||
|
||||
- 何时自动摘要与提炼记忆。
|
||||
- 跨 Space 的记忆引用和隔离规则。
|
||||
- 个人偏好写入全局记忆的确认体验。
|
||||
21
docs/intelligence/planning-multi-agent.md
Normal file
21
docs/intelligence/planning-multi-agent.md
Normal file
@ -0,0 +1,21 @@
|
||||
# 计划与多 Agent
|
||||
|
||||
状态:todo
|
||||
期望阶段:P4
|
||||
|
||||
## 目标
|
||||
|
||||
在单 Agent 已表现出真实瓶颈后,为复杂目标加入计划、步骤和多 Agent 协作。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 复杂行动目标可拆为可执行步骤并自动依序执行。
|
||||
- 计划、步骤与子 Agent 都是 Run 之上的行为能力,不应先写死进 MVP。
|
||||
- Planner、Worker、Reviewer 是候选角色,不构成强制工作流。
|
||||
- 并行、DAG、自动重规划和模型路由均在确认需要后再引入。
|
||||
|
||||
## 待细化
|
||||
|
||||
- Plan/Step 的交互编辑与 CLI/TUI 展示。
|
||||
- 子 Agent 上下文隔离、结果回收和失败处理。
|
||||
- 协作质量评估与成本控制。
|
||||
22
docs/operations/reliability-safety.md
Normal file
22
docs/operations/reliability-safety.md
Normal file
@ -0,0 +1,22 @@
|
||||
# 可靠性与个人安全
|
||||
|
||||
状态:todo
|
||||
期望阶段:P4
|
||||
|
||||
## 目标
|
||||
|
||||
在 Agent 开始影响真实项目、文件、网站和本机系统后,逐步补足恢复与确认能力,而不阻塞前期个人探索。
|
||||
|
||||
## 已确定
|
||||
|
||||
- 系统是单用户、本地优先项目;不考虑多租户、账号和企业权限。
|
||||
- Git 写操作在 System Evolution 中必须经用户确认。
|
||||
- 后续高影响操作包括删除文件、真实网页提交、系统设置和应用控制。
|
||||
- 候选可靠性能力包括取消/暂停/恢复、崩溃恢复、备份、导入导出、Workspace 清理和产物归档。
|
||||
- 候选安全能力包括终端确认、Keychain、敏感日志处理和最小风险等级。
|
||||
|
||||
## 待细化
|
||||
|
||||
- 哪些操作先加入确认、确认的默认交互。
|
||||
- 数据备份位置和保留策略。
|
||||
- 长期任务、异常退出和资源回收。
|
||||
27
docs/roadmap.md
Normal file
27
docs/roadmap.md
Normal file
@ -0,0 +1,27 @@
|
||||
# 路线图与管理规则
|
||||
|
||||
路线图只描述阶段目标。每个功能的具体拆分、提交顺序和实现方案以各自的功能文档为准。
|
||||
|
||||
| 阶段 | 目标 | 已知范围 |
|
||||
| --- | --- | --- |
|
||||
| P1 | 本地 Runtime 与终端产品基础 | Runtime、CLI(REPL 与全屏 TUI)、Space、会话、DeepSeek 聊天、Run、基础 Tool/Hook 接缝 |
|
||||
| P2 | 终端行动能力与开发助手 | Workspace、文件/Shell、单 Agent Tool Calling、Project、代码与 Git Worktree 能力 |
|
||||
| P3 | System Evolution 闭环 | 候选 worktree、自身修改与测试、确认发布、Supervisor 回退 |
|
||||
| P4 | Runtime 成长与个人自动化 | 扩展、计划/多 Agent、记忆、浏览器/电脑控制、可靠性与按需安全能力 |
|
||||
| P5 | Web 产品线 | Runtime 的 Web 客户端与管理界面 |
|
||||
| P6 | Desktop 产品线 | 本地常驻控制台与系统集成 |
|
||||
|
||||
## 进度标记
|
||||
|
||||
每个功能文档使用:
|
||||
|
||||
```text
|
||||
状态:todo | doing | done
|
||||
期望阶段:P1 | P2 | ...
|
||||
```
|
||||
|
||||
新增需求先归类到已有大功能点;如果它确实是新的长期能力,再新建一个功能文件。实现过程中允许调整阶段和拆分,不要求回头重排整份路线图。
|
||||
|
||||
## 提交与 blog
|
||||
|
||||
一次提交应交付一个可验证的纵向能力,而不是单独提交类型、枚举或预留接口。完成后在相关功能文档追加:提交链接、验证方式、实现取舍和对应 blog。
|
||||
Loading…
x
Reference in New Issue
Block a user