lava-autocode
lava-autocode 是面向 Lava 项目的 VS Code 插件。安装后,用户可以在 VS Code 侧边栏完成环境检查、Lava 微服务应用识别或初始化,并进入 Jenkins 流水线发布流程。
本文档面向下载并安装插件的使用者,不包含任何可复用的登录信息、服务凭据或内部敏感值。
功能概览
- 在 VS Code Activity Bar 打开
lava-autocode 工作台。
- 检查 VS Code 插件和本地开发工具是否满足要求。
- 扫描当前工作区中的 Lava 微服务应用。
- 按内置模板新建 Lava 前后端微服务应用。
- 查询、创建并执行 Jenkins 流水线。
PRD 导入、设计生成、任务拆分和 Coding Prompt 交接能力会在后续版本中开放。
安装
从 VSIX 安装
获取插件分发包后,可在命令行安装:
code --install-extension lava-autocode-<version>.vsix
也可以在 VS Code 中打开 Extensions 面板,选择 Install from VSIX...,然后选择已下载的 VSIX 文件。
安装完成后,VS Code 左侧 Activity Bar 会出现 lava-autocode 图标。
打开工作台
有两种入口:
- 点击 VS Code 左侧 Activity Bar 的
lava-autocode 图标。
- 打开命令面板,执行
lava-autocode: Open Workbench。
需要退出当前登录状态时,打开命令面板并执行:
lava-autocode: Logout
使用前准备
建议先确认本机具备以下基础环境:
| 类型 |
要求 |
| VS Code |
版本需满足插件安装要求 |
| Git |
可在终端中执行 git |
| Java |
>= 17 |
| Maven |
>= 3.8 |
| Node.js |
>= 22 |
| npm |
可在终端中执行 npm |
| OpenSpec |
可在终端中执行 openspec |
| Superpowers |
建议安装,用于规划、TDD、调试和代码审查工作流 |
| CC Switch |
按团队要求完成本地安装 |
插件也会在工作台内提供环境预检结果。若某项检查失败,请根据页面提示安装或修复对应依赖。
快速使用
1. 登录
首次打开侧边栏时会显示登录页。请使用插件分发方提供的授权方式完成登录。
登录状态会保存在 VS Code 安全存储中。执行 lava-autocode: Logout 后,插件会清除本地会话,并重置环境检查和项目识别结果。
2. 运行环境预检
登录后,进入 环境预检,点击 运行环境预检。插件会检查本机是否满足 Lava 项目开发和发布所需依赖。
必需 VS Code 插件:
| 依赖 |
用途 |
| Claude Code |
承载后续 Coding Prompt 和本地代码修改 |
| Extension Pack for Java |
支持 Java 开发 |
| Spring Boot Extension Pack |
支持 Spring Boot 应用创建、运行和调试 |
| Vue (Official) |
支持 Lava 前端 Vue 3 单文件组件开发 |
必需本地工具:
| 工具 |
最低要求 / 说明 |
| Git |
用于读取仓库信息和分支 |
| Java |
>= 17 |
| Maven |
>= 3.8 |
| Node.js |
>= 22 |
| npm |
用于前端依赖安装 |
| OpenSpec |
用于维护规格目录 |
| Superpowers |
用于规划、TDD、调试和代码审查工作流 |
| CC Switch |
通过命令或本地数据目录检测 |
3. 准备 Lava 应用
环境预检通过后,进入 Lava 微服务应用。
扫描已有项目
点击 扫描本地应用,插件会在当前 VS Code workspace root 及其第一层子目录中查找 Lava 应用。
识别示例:
dms-order/
├── dms-order-server/
└── dms-order-web/
只要目录下存在 *-server 或 *-web 模块,就会识别为 Lava 应用。扫描时会跳过:
node_modules
target
build
.git
识别成功后,详情页会展示项目名称、根路径、Git remote、包名、技术栈、部署脚本路径等信息。
新建 Lava 应用
如果当前工作区还没有项目,可以在 新建 Lava 微服务应用 表单中填写:
| 字段 |
示例 |
说明 |
| 项目名称 |
dms-order |
建议使用项目和业务模块命名 |
| Artifact ID |
dms-order |
Maven 模块标识,建议与项目名称一致 |
| Group ID |
com.example.dms |
Maven 组织标识 |
| 基础包名 |
com.example.dms.order |
Java 根包名 |
| 核心组件 |
按项目需要选择 |
来自内置 Lava 后端模板依赖 |
| 是否创建根文件夹 |
按项目组织方式选择 |
开启时所有文件放在应用名称目录内;关闭时直接生成到当前 workspace root |
点击 新建并初始化 Lava 微服务应用 后,插件会生成后端、前端、OpenSpec 和 Agent 约定文件。
关闭根文件夹时,默认会在当前 workspace root 下生成:
dms-order-server/
dms-order-web/
.claude/skills/
.codex/skills/
openspec/
AGENTS.md
CLAUDE.md
开启根文件夹时,则会在 dms-order/ 下生成同样结构。
前端依赖不会自动安装。项目生成后,请进入 web 应用目录执行:
cd dms-order-web
npm install
开启根文件夹时,进入 dms-order/dms-order-web 执行同样的安装命令。
4. 代码审查
在项目完成开发、准备部署发布之前,可使用 代码审查 阶段进行代码质量和安全性评估。
扫描 Git 项目
进入 代码审查 阶段,插件会扫描工作区中的 Git 仓库。支持识别多根工作区和嵌套子仓库,并显示分支、HEAD SHA、远程 URL 以及当前未提交修改文件数(暂存、未暂存、未跟踪)。
审查范围
- 工作区本地修改:分析暂存、未暂存和未跟踪的本地最新修改(Pre-push 审查)。
- 分支对比:指定目标基线分支(如
origin/master),审查当前分支与基线分支之间的代码差异。
打包预览与安全过滤
点击 更新审查预览 后,插件会统计拟上传的文件数和预估压缩大小。
- 安全过滤:打包上传时,会自动排除
node_modules、target、.env 配置文件、*.pem 或 *.key 敏感私钥,并过滤 .git/config 中的仓库连接账密,排除 .git/hooks 下的所有执行脚本,保障代码资产安全。
- 大小限制:插件端限制单次打包大小不得超过 50MB。
智能分析
- 配置左侧 AIM 连接凭据(Base URL, Agent Code, API Key)并保存到对应 Git 仓库的
.autocode/project.json 中。
- 点击
确认并提交审查,即可观察流式进度输出并获取由 AIM 代码助手生成的代码总结与按严重程度(错误、警告、建议)分类的结构化缺陷报告。
5. 发布
进入 发布 后,可以基于已扫描或已创建的 Lava 应用配置 Jenkins 流水线。
页面会自动带出或辅助填写:
| 字段 |
说明 |
| Jenkins 地址 |
Jenkins 服务入口 |
| Jenkins 凭据 |
用于查询、创建和执行流水线 |
| Job 目录 |
Jenkins 中的目标 Job 目录 |
| Git 仓库地址 |
来自扫描结果,也可手动填写 |
| 应用名称 |
选择 artifactId-web 或 artifactId-server |
| 分支代码 |
可点击刷新读取 Git 分支 |
| 版本号 |
可留空,由 Jenkins 生成 |
| SCRIPT_PATH |
指向项目中的 Jenkins Groovy 脚本 |
推荐操作顺序:
- 选择要发布的应用和类型。
- 确认 Jenkins 地址、凭据、Job 目录和 Git 仓库地址。
- 点击
刷新 读取分支。
- 点击
查询流水线。
- 如果流水线不存在,点击
创建流水线。
- 如果流水线已存在,点击
执行流水线。
执行后,页面会展示 Jenkins 队列、构建编号、阶段状态、耗时和 Jenkins 详情链接。
安全说明
- 不要把个人登录信息、Jenkins 凭据、私有服务地址或其他敏感凭据写入 README、Issue、截图或聊天记录。
- 插件需要的授权信息应只在插件界面中输入,并按团队安全要求管理。
- 当插件分发方提供新的 VSIX 时,请优先使用官方分发渠道获取。
- 如果怀疑本地凭据异常,请执行
lava-autocode: Logout 后重新登录,并按团队流程处理。
常见问题
登录失败
请确认使用的是插件分发方提供的授权方式。如果之前登录状态异常,可执行 lava-autocode: Logout 后重新登录。
环境预检未通过
按页面中缺失项处理:
- 缺少 VS Code 插件时,点击安装入口会打开 VS Code 扩展搜索。
- 缺少本地命令时,安装对应工具后重新打开 VS Code 或刷新终端 PATH。
扫描不到项目
请确认 VS Code 打开的目录是项目工作区根目录,且 Lava 应用目录符合以下结构之一:
workspace-root/
├── dms-order-server/
└── dms-order-web/
或:
workspace-root/
└── dms-order/
├── dms-order-server/
└── dms-order-web/
如果项目是新建目录,请先保存到磁盘后再点击 扫描本地应用。
新建项目失败
常见原因:
- 当前没有打开 VS Code 工作区。
- 目标目录已存在。
- 项目名称、Artifact ID、Group ID 或基础包名为空。
- VS Code 对当前目录没有写入权限。
Jenkins 发布失败
请优先检查:
- Jenkins 地址和凭据是否可用。
- Git 仓库地址是否可被 Jenkins 访问。
- 分支代码是否存在。
script/deploy/jenkins.groovy 是否存在。
- Jenkins Job 目录是否有创建流水线权限。
当前限制
当前版本暂不包含:
- 真实 SSO 和企业权限校验。
- PRD 文件上传和解析。
- 概要设计、详细设计和任务拆分生成。
- Coding Prompt 自动交接。
- 本地构建、测试、diff 摘要和验证报告。
- 发布结果回写到企业工作流系统。
这些能力会在后续版本逐步补齐。
智能体开发
本项目包含 6 个智能体包和统一 CLI 启动器,位于 agents/ 目录下。
智能体列表
| 智能体 |
目录 |
说明 |
| Dev Engineer |
agents/dev-engineer |
全栈开发智能体,可读写代码。内置 OpenSpec 技能(可选规格驱动流程)和 Lava 规范技能 |
| Backend Architect |
agents/backend-architect |
后端代码审查智能体,只读模式,集成 CodeGraph |
| CLI Engineer |
agents/cli-engineer |
CLI-Anything 智能体,将现有项目转化为 CLI 工具 |
| Security Review |
agents/security-review |
安全审查智能体 |
| Operations Manual |
agents/operations-manual |
操作手册智能体,系统菜单探索和文档生成 |
| SRE Engineer |
agents/sre-engineer |
基于 Kubernetes 项目画像诊断开发、测试环境问题 |
| QA Agent |
agents/qa-agent |
质量保障智能体,需求检查、用例生成、E2E 执行、禅道提交与回归 |
目录结构
agents/
├── cli/ # 统一启动器 + agent 注册表(package.json 的 aimPi.agents)
├── dev-engineer/ # 智能体包
├── backend-architect/
├── cli-engineer/
├── operations-manual/
├── qa-agent/
└── security-review/
每个 agent 目录是独立的 npm 包,可单独发布。cli/package.json 中的 aimPi.agents 字段是 agent 定义的权威来源,VS Code 插件据此发现和启动智能体。
Check
npm run check
发布
发布前需先登录 Nexus npm registry:
npm login --registry https://nexus.yonyouauto.com/repository/npm-hosted/
发布 CLI:
npm run publish:cli
发布单个 agent:
npm run publish:backend-architect
npm run publish:dev-engineer
npm run publish:cli-engineer
npm run publish:operations-manual
npm run publish:sre-engineer
npm run publish:security-review
npm run publish:qa-agent
预览不发布:
AIM_PI_DRY_RUN=1 npm run publish:cli
启动
用户安装后从目标项目目录运行:
aim-pi dev-engineer
aim-pi backend-architect
aim-pi cli-engineer
aim-pi security-review
aim-pi operations-manual
aim-pi sre-engineer
aim-pi qa-agent
CodeGraph 操作:
aim-pi backend-architect:init-codegraph # 初始化项目 CodeGraph 索引
aim-pi backend-architect:sync-codegraph # 增量同步
aim-pi cli-engineer:init-codegraph
aim-pi cli-engineer:sync-codegraph
aim-pi dev-engineer:init-codegraph
aim-pi dev-engineer:sync-codegraph
各 agent 内部命令:
# Backend Architect
/backend-review
# CLI Engineer
/cli-engineer --mode build ./path
/cli-engineer --mode refine ./path
# Security Review
/security-review
# Operations Manual
/manual-init
/manual-generate --all
/manual-generate --file menus.txt
/manual-generate --menus "菜单A,菜单B"
# QA Agent
/qa-requirement-check 需求文档.md
/qa-design-generate {"requirementPath":"需求.md","templatePath":"模板.md","outputPath":"概要.md"}
/qa-case-generate {"designPath":"概要.md","outputPath":"用例.md"}
/qa-test-run 用例.md
/qa-bug-submit bug记录表.md
/qa-regression {"testReportPath":"测试报告.md","bugRecordPath":"bug记录表.md"}
/qa-flow {"requirementPath":"...","templatePath":"...","designOutputPath":"...","menuName":"...","caseOutputPath":"...","testCasePath":"...","bugRecordPath":"...","testReportPath":"..."}
运行时目录
~/.aim-pi/pi-runtime/ # Pi 运行时
~/.aim-pi/<agent>/agent/ # agent 配置
~/.aim-pi/<agent>/sessions/ # 对话记录
~/.aim-pi/<agent>/tools/ # 隔离的运行时工具(如 codegraph)
环境变量
AIM_PI_TARGET_DIR=/path/to/project # 指定工作目录
AIM_PI_RUNTIME_ROOT=/path/to/runtime # 指定运行时根目录
AIM_PI_AUTO_INSTALL=0 # 跳过安装检查
AIM_PI_COMMAND=/path/to/pi # 指定 pi 二进制
AIM_PI_MODEL=<model-id> # 模型
AIM_PI_API_KEY=<key> # API Key
LAVA_AUTOCODE_CALLBACK_BASE_URI=... # VS Code 回调地址
MCP / CodeGraph
backend-architect、cli-engineer、dev-engineer 启动时自动配置 codegraph MCP server:
{
"mcpServers": {
"codegraph": {
"type": "stdio",
"command": "~/.aim-pi/<agent>/tools/node_modules/.bin/codegraph",
"args": ["serve", "--mcp"],
"directTools": true
}
}
}
首次启动后可能需要重启或 /reload 让 pi-mcp-adapter 缓存 MCP 工具列表。
VS Code 插件打包
npm run package
打包时 agents/ 目录不会进入 VSIX。