一个面向产品设计与软件研发场景的结构化头脑风暴 Agent Harness。它通过一套明确的对话流程,把模糊想法逐步收敛为可评审、可导出的设计规格文档。
项目目前处于早期阶段,欢迎试用、反馈与共建。
生成代码并不总是最难的环节。很多项目真正的问题发生在实施之前:目标没有说清、约束没有识别、方案没有比较、设计没有经过确认,Agent 就直接开始写代码。
Brainstorming 为创意工作增加了一层轻量 Harness,通过阶段、规则、状态和交互界面约束 Agent 的行为,让它先理解问题,再形成方案,最后输出规格。
项目将一次头脑风暴拆分为五个阶段:
- 探索:了解背景、目标、约束与成功标准,每次只澄清一个关键问题。
- 方案:提出 2–3 种可选路径,说明取舍并给出推荐。
- 设计:逐步展开架构、组件、数据流、接口与异常处理。
- 审核:检查遗漏、矛盾、模糊表述和不必要的范围。
- 完成:整理并导出 Markdown 设计规格文档。
界面会根据模型回复中的阶段标记同步展示当前进度。
- 结构化五阶段对话流程
- OpenAI-compatible API 接入
- 流式响应(Server-Sent Events)
- 多模型配置集管理与快速切换
- 多会话创建、切换、删除与本地持久化
- 自动追踪头脑风暴阶段
- 设计结果预览、复制与 Markdown 下载
- 桌面端与移动端响应式界面
- 中文输入法兼容
- Node.js 18 或更高版本
- 一个兼容 OpenAI Chat Completions API 的模型服务
git clone https://github.com/Winsaney/brainstorming.git
cd brainstorming
npm install
cp .env.example .env编辑 .env:
AI_API_KEY=your-api-key-here
AI_BASE_URL=https://api.openai.com/v1
AI_MODEL=gpt-4o
PORT=3000启动服务:
npm run devBrainstorming 支持兼容 OpenAI Chat Completions 接口的模型服务。你可以通过两种方式配置:
- 服务端配置:在
.env中设置默认 API Key、Base URL 和模型名称。 - 浏览器配置:点击界面左下角的“大模型设置”,创建并切换多个配置集。
如果 Base URL 以 /chat/completions 结尾,服务端会自动移除该路径;建议直接填写 API 根地址。
安全提示:浏览器配置会保存在当前浏览器的
localStorage中,并随聊天请求发送到本项目服务端。共享设备或公网部署时,建议使用服务端环境变量,不要在浏览器中保存敏感凭证,也不要提交真实的.env文件。
.
├── public/
│ ├── index.html # 应用页面
│ ├── index.css # 响应式界面样式
│ ├── app.js # 前端入口与交互
│ ├── chat.js # 对话与流式响应
│ ├── sessions.js # 会话管理与持久化
│ ├── steps.js # 阶段状态管理
│ └── export.js # Markdown 规格导出
├── server.js # Express 服务与 Agent 系统提示词
├── package.json
└── .env.example
- Node.js
- Express
- OpenAI JavaScript SDK
- 原生 HTML、CSS 与 JavaScript
- Marked(Markdown 渲染)
- SSE(流式输出)
- LocalStorage(会话与配置持久化)
- 新产品或新功能的需求澄清
- Agent、Web 应用与内部工具的方案设计
- 技术选型与架构方案比较
- 从创意讨论生成 PRD、设计规格或实施前文档
- 研究不同模型在受约束 Agent 工作流中的表现
- 会话与模型配置仅保存在当前浏览器中,暂不支持跨设备同步。
- 当前 Harness 主要由系统提示词、阶段标记和前端状态共同实现。
- 项目输出是设计规格,不直接执行代码修改或部署操作。
- 不同 OpenAI-compatible 服务对参数和流式协议的支持可能存在差异。