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 作为基础模板。

创建工作区时执行以下流程:

  1. 从 GitHub 下载模板默认分支 main 的归档文件。
  2. 解压到用户选择的本地目录,不保留模板仓库的 .git 信息。
  3. 将用户选择的职业和技能写入模板工作区。
  4. 将用户导入的项目或资料放入 projects/{工作单元}/。
  5. 调用 OpenCode SDK 启动模板自带的 /an-init 初始化能力。
  6. 初始化成功后才能进入正式工作台。

每个工作区需要记录模板仓库地址、分支和下载时对应的 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 完成初始化。

初始化阶段需要:

  1. 读取根目录 AGENTS.md 和 /an-init 技能。
  2. 扫描 projects/ 中的工作单元和实际材料。
  3. 分析用户选择的职业和技能。
  4. 梳理项目、背景、规范、技能和可执行动作之间的关系。
  5. 生成或更新 background/、conventions/ 和根目录路由。
  6. 安装运行期技能到 .agents/skills/。
  7. 生成 .agents/recipes.json 等可执行动作清单。
  8. 将初始化状态、时间、模板版本和结果写入 .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

Popular posts from this blog

How to turn off Sass warning prompts in Nuxt.js projects

Configuring SSH Access to a Docker Container via an Alternative Port

Quickly Set Up a Cloud Database Using MongoDB Atlas