chore: remove generated build artifacts
Agora 是一款 Electron 桌面应用,可以把自然语言形式的软件需求转换为一条可执行、可检查、可追踪的五阶段开发流水线。每个阶段由 Executor Agent 负责生成和修订产物,由 Critic Agent 独立检查问题;开发者还可以在阶段结束后提交人工意见,让 Agent 针对真实运行问题继续修改。
Agora 目前只允许连接 DeepSeek 官方 API。API Key 仅保存在当前进程的内存中,写入本地设置前会被删除。
代码仓库:GitLink · GitHub
默认流水线由五个按顺序执行的 Skills 组成:
自然语言需求 │ ▼ 1. 需求分析 ──► 2. 架构设计 ──► 3. 代码编程 │ ▼ 5. 文档生成 ◄────────────────── 4. 测试手册
每个阶段都会保存 Executor Agent 初稿、Critic Agent 评审意见、Executor Agent 修订稿、最终结果和可选的人工修订记录。代码编程和文档生成阶段还会解析模型输出中的 ### FILE: 文件块,将其写成可以直接检查和运行的多文件工程。
### FILE:
主要功能包括:
better-sqlite3
检查本机环境:
node --version pnpm --version git --version
如果尚未安装 pnpm:
npm install --global pnpm
在 Windows PowerShell 中依次执行:
git clone https://gitlink.org.cn/junliz/agora.git cd agora pnpm install --frozen-lockfile pnpm rebuild:native pnpm dev
pnpm dev 会自动完成以下工作:
pnpm dev
http://127.0.0.1:5173
首次启动需要先生成主进程文件,窗口可能在命令执行数秒后才出现。
不要关闭正在运行的 pnpm dev。先检查终端是否满足以下两个条件:
packages/main/dist/index.js
packages/main/dist/preload.cjs
如果两个条件都满足,可以在仓库目录中新开一个 PowerShell 窗口运行:
pnpm start
如果终端提示 better-sqlite3 与 Electron 版本不兼容,执行:
pnpm rebuild:native pnpm dev
如果提示 5173 端口被占用,需要先结束之前遗留的 Vite 或 Agora 进程,再重新执行 pnpm dev。
5173
启动后进入左侧的 设置 页面,依次配置两个模型槽位:
固定配置如下:
https://api.deepseek.com
两个模型槽位都完成连接测试并选定模型后,才能启动开发流水线。
workspaces/
测试阶段生成的是 Markdown 格式的人工试用测试手册。开发者需要按照测试手册运行生成的软件;发现产品问题后,可以回到代码编程阶段提交反馈,由 Executor Agent 进行一次针对性修订。
Agora 将用户界面、桌面端高权限操作、流水线编排和产物存储分为不同层次:
┌──────────────────────────────────────────────────────────────────────┐ │ Renderer 渲染进程 — React 界面 │ │ 工作台 · 项目页 · 技能库 · 设置页 │ └───────────────────────────────┬──────────────────────────────────────┘ │ 有类型约束、白名单限制的 IPC ▼ ┌──────────────────────────────────────────────────────────────────────┐ │ Preload 安全桥接 │ │ 只向 Renderer 暴露界面实际需要的 IPC 方法 │ └───────────────────────────────┬──────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────────────────────┐ │ Electron 主进程 │ │ 项目/设置 IPC · Pipeline Orchestrator · Skill Registry │ ├───────────────────────┬───────────────────────┬──────────────────────┤ │ DeepSeek 驱动 │ SQLite 数据库 │ Workspace 文件写入 │ │ Executor + Critic │ 项目/对话/产物索引 │ 安全相对路径 │ └───────────────────────┴───────────────────────┴──────────────────────┘
Pipeline Orchestrator 对每个选中的 Skill 执行同一套受控流程:
读取前序阶段产物并组装输入 │ ▼ Executor Agent 生成阶段初稿 │ ▼ Critic Agent 检查遗漏、矛盾和风险 │ ▼ Executor Agent 输出完整修订稿 │ ├── 按本阶段设置的次数继续评审和修订 ▼ 最终结果写入 SQLite 和项目 workspace │ ├── 可选人工反馈 → Executor Agent 定向修订一次 ▼ 进入下一个阶段
主进程通过单向 Pipeline 事件把运行进度发送给 Renderer。Renderer 不会直接访问模型、数据库或文件系统。
code/
agora/ ├── packages/ │ ├── shared/ # 共享类型、IPC 常量和设置迁移 │ ├── main/ # Electron 主进程、Pipeline、DeepSeek、SQLite、IPC │ └── renderer/ # React 页面和流水线交互界面 ├── skills/ # 内置 Skill 配置与提示模板 ├── workspaces/ # 自动生成的软件项目和阶段记录 ├── examples/ # 示例需求和 CLI 演示输入 ├── scripts/ # 开发及演示脚本 ├── docs/ # 架构、Skill 格式和设计文档 ├── agora.db # 本地项目历史数据库 └── package.json # workspace 命令入口
每个软件产品都有独立的 workspace。阶段文件夹名称是当前程序真实使用的输出格式:
workspaces/<项目名称>/ ├── 1-需求分析/ │ ├── 执行者-初稿.md │ ├── 评审者-第1轮评审.md │ ├── 执行者-第1轮修订.md │ └── 最终输出.md ├── 2-架构设计/ ├── 3-代码编程/ │ └── 执行者-人工修订1.md # 提交人工意见后才会生成 ├── 4-测试/ ├── 5-文档/ └── code/ # 可运行源代码和产品文档
SQLite 保存项目元数据、Agent 对话、人工干预和产物索引;workspace 保存可以直接阅读的 Markdown 过程文件及软件源代码。两种存储共同实现界面查询和文件级追踪。
pnpm build
pnpm test
pnpm lint
pnpm rebuild:native
pnpm pack
pnpm demo
提交修改前建议执行:
pnpm build pnpm test
MIT
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
基于对抗式 Agent 的智能化软件工厂(Agora)
Agora 是一款 Electron 桌面应用,可以把自然语言形式的软件需求转换为一条可执行、可检查、可追踪的五阶段开发流水线。每个阶段由 Executor Agent 负责生成和修订产物,由 Critic Agent 独立检查问题;开发者还可以在阶段结束后提交人工意见,让 Agent 针对真实运行问题继续修改。
Agora 目前只允许连接 DeepSeek 官方 API。API Key 仅保存在当前进程的内存中,写入本地设置前会被删除。
代码仓库:GitLink · GitHub
Agora 可以完成什么
默认流水线由五个按顺序执行的 Skills 组成:
每个阶段都会保存 Executor Agent 初稿、Critic Agent 评审意见、Executor Agent 修订稿、最终结果和可选的人工修订记录。代码编程和文档生成阶段还会解析模型输出中的
### FILE:文件块,将其写成可以直接检查和运行的多文件工程。主要功能包括:
better-sqlite3构建。环境要求
better-sqlite3依赖不建议使用 Node.js 24。检查本机环境:
如果尚未安装 pnpm:
安装并启动项目
在 Windows PowerShell 中依次执行:
pnpm dev会自动完成以下工作:http://127.0.0.1:5173启动 Vite 前端服务。首次启动需要先生成主进程文件,窗口可能在命令执行数秒后才出现。
窗口没有自动打开
不要关闭正在运行的
pnpm dev。先检查终端是否满足以下两个条件:http://127.0.0.1:5173。packages/main/dist/index.js和packages/main/dist/preload.cjs。如果两个条件都满足,可以在仓库目录中新开一个 PowerShell 窗口运行:
如果终端提示
better-sqlite3与 Electron 版本不兼容,执行:如果提示
5173端口被占用,需要先结束之前遗留的 Vite 或 Agora 进程,再重新执行pnpm dev。首次配置 DeepSeek
启动后进入左侧的 设置 页面,依次配置两个模型槽位:
固定配置如下:
https://api.deepseek.com两个模型槽位都完成连接测试并选定模型后,才能启动开发流水线。
创建第一条流水线
workspaces/下自动创建项目目录。测试阶段生成的是 Markdown 格式的人工试用测试手册。开发者需要按照测试手册运行生成的软件;发现产品问题后,可以回到代码编程阶段提交反馈,由 Executor Agent 进行一次针对性修订。
系统架构
Agora 将用户界面、桌面端高权限操作、流水线编排和产物存储分为不同层次:
每个阶段如何执行
Pipeline Orchestrator 对每个选中的 Skill 执行同一套受控流程:
主进程通过单向 Pipeline 事件把运行进度发送给 Renderer。Renderer 不会直接访问模型、数据库或文件系统。
阶段之间的数据关系
code/下的可运行文件和修改记录仓库结构
自动生成的项目目录
每个软件产品都有独立的 workspace。阶段文件夹名称是当前程序真实使用的输出格式:
SQLite 保存项目元数据、Agent 对话、人工干预和产物索引;workspace 保存可以直接阅读的 Markdown 过程文件及软件源代码。两种存储共同实现界面查询和文件级追踪。
常用开发命令
pnpm devpnpm buildpnpm testpnpm lintpnpm rebuild:nativebetter-sqlite3。pnpm packpnpm demo提交修改前建议执行:
相关文档
安全说明
License
MIT