AI Agent Desktop V1.0
Product Requirements Document (PRD)
Version:1.0
Status:Draft
Duration:2~3 Months
1. 产品概述
1.1 产品名称
AI Agent Desktop
1.2 产品定位
AI Agent Desktop 是一款运行于 Windows/macOS 桌面的 AI Agent 应用。
区别于普通 AI Chat,它不仅提供 AI 问答能力,还能够调用本地工具(Tool),执行文件管理、终端命令等任务,实现 AI 从"回答问题"到"完成任务"的能力升级。
V1.0 重点验证:
AI + Desktop + Tool Calling + Agent Runtime
构建最小可用 Agent 平台(MVP)。
2. 产品目标
V1 目标:
用户可以通过自然语言完成以下操作:
- AI 问答
- 创建项目
- 修改文件
- 运行终端命令
- 自动完成简单开发任务
例如:
帮我创建一个 Vue3 项目
Agent 自动:
创建目录
↓
初始化项目
↓
安装依赖
↓
返回执行结果
无需用户手动执行命令。
3. 用户群体
开发者
主要场景:
- 写代码
- 创建项目
- 修改代码
- 调试程序
- 学习技术
AI 爱好者
主要场景:
- AI 对话
- 自动完成电脑任务
- 文件处理
4. MVP 范围
V1 包含:
✅ Desktop
✅ Chat
✅ LLM Provider
✅ Agent Runtime
✅ Workspace
✅ File Tool
✅ Terminal Tool
✅ SQLite
不包含:
❌ Browser Automation
❌ Docker Sandbox
❌ Multi-Agent
❌ Skill Marketplace
❌ Workflow
❌ Vector Memory
5. 功能需求
5.1 Desktop
聊天窗口
支持:
- 新建聊天
- 删除聊天
- 重命名聊天
- 历史聊天
左侧导航
Chat
Workspace
Projects
Settings
Logs
系统托盘
支持:
- 最小化
- 后台运行
- 退出程序
5.2 Chat
支持:
AI 对话
支持:
- 多轮对话
- Markdown
- 代码高亮
- 图片显示(仅显示,不分析)
Streaming
模型输出必须流式显示。
用户无需等待全部生成完成。
聊天历史
自动保存:
Conversation
Messages
SQLite。
Token 信息
显示:
Prompt Tokens
Completion Tokens
Total Tokens
Estimated Cost
5.3 LLM Provider
支持 Provider:
OpenAI
Claude
Gemini
Ollama
支持:
API Key 配置
模型切换
Provider 切换
Streaming
Tool Calling
统一接口:
chat()
stream()
toolCall()
5.4 Workspace
Workspace 为 Agent 工作目录。
例如:
workspace/
├── Blog
├── Demo
└── Test
Agent 所有文件操作必须限制在 Workspace 内。
支持:
创建 Workspace
删除 Workspace
打开目录
查看目录树
5.5 Agent Runtime
Agent Runtime 为整个产品核心。
负责:
接收用户任务
↓
调用 LLM
↓
判断是否调用 Tool
↓
执行 Tool
↓
继续推理
↓
返回结果
支持:
Agent Loop
Tool Calling
Observation
Retry
Stop
限制:
最大循环:
20 Steps
超过:
自动停止。
5.6 Tool System
统一 Tool 接口。
Tool
↓
Tool Registry
↓
Execute
所有 Tool 必须注册。
File Tool
支持:
read_file
write_file
append_file
rename_file
copy_file
move_file
delete_file
list_directory
search_file
Terminal Tool
支持:
执行:
npm install
npm run dev
git status
python main.py
pnpm install
返回:
stdout
stderr
exitCode
duration
支持:
实时输出
停止执行
超时终止
工作目录:
Workspace。
5.7 Project Manager
支持:
项目列表
最近项目
打开目录
删除项目
5.8 Settings
支持:
主题
语言
Workspace
模型
Provider
API Key
代理设置
5.9 日志系统
记录:
LLM 请求
LLM 响应
Tool Call
Tool Result
异常
支持:
查看
删除
导出
5.10 SQLite
保存:
Conversation
Message
Workspace
Project
Provider
Settings
Logs
6. 数据库设计
主要数据表:
conversation
message
workspace
project
provider
settings
tool_logs
llm_logs
7. 系统架构
Desktop(UI)
↓
IPC
↓
Agent Runtime
↓
Planner
↓
Tool Manager
↓
Tool
↓
System
↓
LLM Provider
8. Tool 架构
Tool
├── File Tool
├── Terminal Tool
└── Registry
统一接口:
Tool.execute()
9. 页面设计
Chat
-----------------------------------
Sidebar
--------------------
Conversation
--------------------
Input Box
-----------------------------------
Workspace
Workspace
├── Demo
├── Blog
└── Test
Settings
Provider
API Key
Model
Workspace
Language
Theme
Logs
LLM
Tool
Error
10. 非功能需求
性能
启动时间:
≤3 秒
聊天响应:
首 Token:
≤2 秒(网络正常)
Tool 调用:
显示执行状态。
日志:
支持 10000 条以上。
11. 安全要求
Workspace 沙箱。
禁止:
Workspace 外文件删除。
Terminal:
禁止危险命令:
rm -rf /
format
shutdown
reboot
API Key:
本地加密存储。
12. 技术选型
| 模块 | 技术 |
|---|---|
| Desktop | Electron |
| Frontend | Vue3 |
| Language | TypeScript |
| Build | Vite |
| State | Pinia |
| UI | Tailwind CSS + Naive UI |
| Database | SQLite |
| ORM | Drizzle ORM(推荐) |
| Agent | 自研 Agent Harness |
| LLM | OpenAI / Claude / Gemini / Ollama |
| Terminal | Node.js Child Process |
| File | Node.js FS |
| Config | Electron Store |
13. V1 验收标准(Definition of Done)
完成 V1 后,用户应能够完成以下完整流程:
场景一:创建 Vue 项目
用户:
帮我创建一个 Vue3 项目,名字叫 demo。
↓
Agent:
分析任务
↓
调用 Terminal Tool
↓
执行:
npm create vue@latest demo
↓
执行:
npm install
↓
返回:
项目创建成功。
场景二:修改项目文件
用户:
帮我修改 README.md,增加项目介绍。
↓
Agent:
读取 README.md
↓
生成内容
↓
写入文件
↓
返回修改结果。
场景三:查看 Git 状态
用户:
查看当前项目 Git 状态。
↓
Agent:
调用 Terminal Tool
↓
执行:
git status
↓
解析输出
↓
用自然语言总结结果。