LikeGame MVP 开发需求
LikeGame MVP 开发需求
一、产品定位
LikeGame 是一个通过组合技能创建 AI Agent,并让 Agent 在标准化工作区中完成真实工作的桌面平台。
它借用游戏职业的概念解释 Agent:基础模型相当于没有职业的初始角色,装载不同技能后形成不同职业,从而完成不同类型的工作。
核心模型只保留三层:
原子 → 技能 → 职业(Agent)
- 原子:
references、assets、scripts等基础资源。 - 技能:多个原子组成的一项完整能力。
- 职业(Agent):多个技能组成的工作角色。
职业决定 Agent 会什么,工作区决定 Agent 面对什么背景、遵循什么规则、处理什么项目。
二、核心流程
创建或选择职业
→ 选择需要装载的技能
→ 下载 AI Native 工作区模板
→ 添加背景、规范和项目资料
→ AI 初始化并梳理整个工作区
→ 生成工作区图谱
→ 进入正式工作
三、资源模型
3.1 原子
原子是构建技能的最小资源,MVP 支持:
references:知识、说明和参考资料。assets:模板、图片、示例和其他静态资源。scripts:可被 AI 调用的本地脚本。
3.2 技能
技能遵循 Agent Skills 规范,以独立目录保存。每个技能必须包含 SKILL.md,并可以按需包含 references/、assets/ 和 scripts/。
3.3 职业
职业就是 Agent 配置,由一个或多个技能组成。MVP 支持创建、编辑、复制和删除职业,不引入等级、队伍或多 Agent 编排。
四、工作区模板
工作区不由 LikeGame 自行生成,直接使用 kvker/ai-native-template 作为基础模板。
创建工作区时执行以下流程:
- 从 GitHub 下载模板默认分支
main的归档文件。 - 解压到用户选择的本地目录,不保留模板仓库的
.git信息。 - 将用户选择的职业和技能写入模板工作区。
- 将用户导入的项目或资料放入
projects/{工作单元}/。 - 调用 OpenCode SDK 启动模板自带的
/an-init初始化能力。 - 初始化成功后才能进入正式工作台。
每个工作区需要记录模板仓库地址、分支和下载时对应的 commit SHA,便于后续识别模板版本。模板下载失败时应明确展示网络错误,不创建残缺工作区。
模板初始化前的主要结构为:
workspace/
├── AGENTS.md
├── .agents/
│ └── skills/
│ └── an-init/
├── skills/
├── background/
├── conventions/
├── projects/
├── artifacts/
└── .likegame/
├── agent.json
├── workspace.json
└── initialization.json
目录职责:
AGENTS.md:AI 入口文件,保存工作区定位、核心约束和目录路由。.agents/skills/an-init/:模板初始化阶段唯一激活的技能。skills/:初始化前的运行期技能暂存目录。background/:稳定背景、业务资料和领域知识。conventions/:行为规范、执行流程和质量标准。projects/:用户真正需要处理的项目和交付物。artifacts/:需求、方案、报告和验证记录等过程产物。.likegame/:LikeGame 自身的工作区元数据,不参与业务内容路由。
用户选择的技能先复制到 skills/。执行 /an-init 后,由模板将运行期技能安装到 .agents/skills/,并删除暂存的 skills/ 目录。LikeGame 不应绕过模板的初始化机制直接修改其运行规则。
五、工作区初始化
工作区创建后不能立即进入正式工作状态,必须先由 AI 完成初始化。
初始化阶段需要:
- 读取根目录
AGENTS.md和/an-init技能。 - 扫描
projects/中的工作单元和实际材料。 - 分析用户选择的职业和技能。
- 梳理项目、背景、规范、技能和可执行动作之间的关系。
- 生成或更新
background/、conventions/和根目录路由。 - 安装运行期技能到
.agents/skills/。 - 生成
.agents/recipes.json等可执行动作清单。 - 将初始化状态、时间、模板版本和结果写入
.likegame/initialization.json。
LikeGame 展示初始化过程和流式日志。初始化失败时保留错误信息,并允许用户重试。
这里的“工作区图谱”首先是 AI 对工作区结构和关系的梳理结果,不要求 MVP 实现独立的图数据库或复杂可视化。Agent 后续应通过 AGENTS.md 及其递归路由按需读取内容,不能把整个工作区一次性塞入模型上下文。
工作区材料变化后,用户可以通过模板的 /an-refresh 更新背景知识和路由。
六、主要界面
6.1 资源管理
- 查看和管理原子资源。
- 使用原子创建技能。
- 查看技能包含的
references、assets和scripts。
6.2 职业管理
- 创建、编辑、复制和删除职业。
- 为职业选择多个技能。
- 设置职业名称、说明和默认行为。
6.3 工作区管理
- 创建和打开本地工作区。
- 选择职业和技能。
- 导入背景、规范及已有项目。
- 下载并展开 AI Native 模板。
- 展示初始化进度、结果和失败原因。
- 触发工作区刷新。
6.4 AI 工作台
使用 Ant Design X 构建主要交互:
- 左侧展示工作区文件树。
- 中间展示 AI 对话、流式响应和任务过程。
- 右侧展示当前职业、已安装技能和本次使用的上下文。
- 支持查看文件变更和 AI 生成的任务产物。
七、技术架构
技术栈:
- React
- Vite
- Ant Design X
- OpenCode SDK
- Express
- Electron
整体架构:
Electron
├── React + Vite + Ant Design X
└── Express 本地服务
├── 原子、技能和职业管理
├── 工作区模板下载与解压
├── 受控的本地文件能力
├── 工作区初始化与状态管理
└── OpenCode SDK 调用和流式转发
各层职责:
- React + Vite:负责桌面端页面和状态展示。
- Ant Design X:负责 AI 对话、消息流和工作台交互。
- Express:向前端提供本地业务 API、文件能力和 OpenCode SDK 转发。
- OpenCode SDK:负责 AI 会话、技能调用、工作区初始化和任务执行。
- Electron:负责启动与关闭本地服务、管理窗口和完成桌面打包。
React 不直接访问文件系统或 OpenCode SDK,所有本地能力统一经过 Express。Express 只监听 127.0.0.1,并限制文件操作只能发生在用户授权的工作区和 LikeGame 数据目录内。
AI 流式输出优先使用 SSE。Electron 启动时先启动 Express,获得实际监听端口后再加载 React 页面;应用退出时同步停止本地服务。
八、MVP 验收标准
用户能够完成以下完整闭环:
创建原子
→ 组合技能
→ 组合职业
→ 创建工作区
→ 下载 AI Native 模板
→ 装载职业、技能和项目资料
→ AI 执行 /an-init
→ 查看初始化结果
→ 与 Agent 对话并操作项目文件
MVP 暂不实现技能市场、云端账号、多人协作、向量数据库、多 Agent 编排、复杂图谱可视化及游戏等级系统。优先保证单机环境下从职业创建、工作区初始化到正式工作的链路稳定可用。
Comments
Post a Comment