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

↓

解析输出

↓

用自然语言总结结果。