内容
# IdeaGauntlet
在构建产品创意之前进行压力测试。
IdeaGauntlet 是一个开源的命令行界面(CLI)和库,它将原始的产品创意转化为对抗性批评、多角色辩论、合成用户异议、验证计划和创意比较。
为创始人、独立黑客和产品工程师打造,他们希望在花费数周时间构建错误的产品之前进行更严格的预验证。
> 大多数 AI 工具帮助您生成更多创意。IdeaGauntlet 帮助您在已有创意中生存下来。
[](https://www.npmjs.com/package/idea-gauntlet)
---
## 安装
```bash
npm install -g idea-gauntlet
```
全局安装时,IdeaGauntlet 会为检测到的 Claude Code、Codex、Cursor 和 MCP 兼容客户端执行尽力集成设置。
---
## 尝试使用
### 在 Claude Code / Codex / Cursor 中
安装完成后,打开您的 AI 编程工具并询问:
```text
使用 IdeaGauntlet 法庭模式来压力测试这个创意:
一个针对远程工作者的专注房间应用,配对用户进行 50 分钟的无声工作会话。
```
**不需要 IdeaGauntlet API 密钥。** AI 编程工具提供模型和上下文。如果安装后未检测到您的工具,请稍后运行 `idea-gauntlet install`。
> **重要:** 代理原生集成执行工作流原生。不需要运行 `idea-gauntlet` CLI。如果您在聊天中输入 `idea-gauntlet court "..."`,助手将其视为分析意图,而不是 shell 命令。
### 在终端中
直接 CLI 生成需要提供程序:
```bash
idea-gauntlet quick "一个针对远程工作者的专注房间应用"
```
参见 [提供程序设置](#提供程序设置)。
---
## 核心功能
| 工作流 | 功能描述 | 使用场景 | 输出 |
| --- | --- | --- | --- |
| **快速批评** | 快速对抗性审查:主要风险、假设、最佳/最坏情况、最快测试 | 您需要快速进行健全性检查 | 风险、假设、分数、验证测试 |
| **法庭模式** | 具有 7 个专家角色和裁判判决的结构化多角色辩论 | 创意需要更深入的批评 | 角色论据、证据审计、终止测试、分数、判决 |
| **合成用户** | 具有异议、转换成本和访谈问题的虚拟人物 | 您需要为真实的用户研究做准备 | 人物卡、异议、访谈问题 |
| **MVP 计划** | 具有终止标准和转向选项的无情的最小验证计划 | 您需要测试,而不是辩论 | 14 天计划、实验、终止标准、转向选项 |
| **创意比较** | 在 10 个维度上进行并排评分,并进行每个创意的终止测试 | 您需要选择要验证的内容 | 比较矩阵、权衡、推荐 |
| **批处理模式** | 对多个创意进行批评 | 您有多个创意需要筛选 | 批量报告,附分数和判决 |
| **历史和演变** | 保存报告,跟踪随时间变化的分数 | 您需要衡量创意改进 | 保存的报告、分数变化、演变时间线 |
| **交互模式** | 用于迭代细化、深入分析和模式切换的 REPL | 您需要实时细化创意 | 重新运行、基准测试、图表、导出 |
| **HTML 导出** | 样式化的暗黑模式 HTML 报告,附雷达图和图表 | 您需要可共享的视觉报告 | 自包含的 HTML 页面 |
| **分数基准** | 将分数与 50 个真实的创业创意进行比较 | 您需要了解分数的背景 | 百分位排名、类似创意 |
合成用户是虚构的 - 不是研究证据。分数是诊断信号,而不是预测。
---
## 快速入门示例
```bash
# 快速批评
idea-gauntlet quick "一个针对远程工作者的专注房间应用"
# 法庭模式(保存到文件)
idea-gauntlet court "您的创意" --output report.md
# 合成用户
idea-gauntlet users "您的创意" --personas 8
# MVP 计划
idea-gauntlet mvp "您的创意"
# 比较创意
idea-gauntlet compare "创意 A" "创意 B"
# 导出 HTML 报告
idea-gauntlet quick "您的创意" --format html --output report.html
# 批处理模式(文件中的一个创意 per 行)
idea-gauntlet batch ideas.txt --mode quick --output reports/
# 交互式 REPL
idea-gauntlet interactive "您的创意"
# 历史记录 - 查看保存的报告
idea-gauntlet history
# 历史记录 - 比较分数变化
idea-gauntlet history <id> --evolve <old-id>
```
---
## 代理原生集成
IdeaGauntlet 为支持的编码工具安装说明:
| 工具 | 安装内容 |
| --- | --- |
| Claude Code | 技能、代理、斜杠命令、MCP 配置 |
| Codex | AGENTS.md / 配置桥 |
| Cursor | 每个工作流的规则 |
| MCP 客户端 | MCP 服务器配置 |
```bash
# 如果安装后跳过某个工具,请重新运行集成设置
idea-gauntlet install
```
使用自然语言:
```text
使用 IdeaGauntlet 法庭模式,关注分销风险:
...
```
### 基于证据的分析
在提供网络/搜索访问的工具中,IdeaGauntlet 代理原生法庭模式可能会在辩论前执行简短的市场证据扫描。它使用此研究来构建研究简报、竞争格局、证据空白和源注释,然后再进行裁判判决。
终端 CLI 模式不保证实时网络浏览。它使用配置的提供程序和您提供的任何上下文。
---
## 提供程序设置
直接 CLI 和 MCP 生成需要提供程序。代理原生工作流则不需要。
**Anthropic Claude(原生):**
只需设置您的 Anthropic API 密钥,或提供带有前缀 `sk-ant-` 的密钥作为 `IDEAGAUNTLET_API_KEY`:
```bash
export ANTHROPIC_API_KEY="您的 Anthropic 密钥"
# 可选模型覆盖(默认:claude-3-5-sonnet-latest)
export IDEAGAUNTLET_MODEL="claude-3-5-sonnet-latest"
```
**Groq(原生):**
设置您的 Groq API 密钥,或提供带有前缀 `gsk_` 的密钥作为 `IDEAGAUNTLET_API_KEY`:
```bash
export GROQ_API_KEY="您的 Groq 密钥"
# 可选模型覆盖(默认:llama-3.1-70b-versatile)
export IDEAGAUNTLET_MODEL="llama-3.1-70b-versatile"
```
**OpenAI 兼容:**
```bash
export IDEAGAUNTLET_API_KEY="您的密钥"
export IDEAGAUNTLET_BASE_URL="https://api.openai.com/v1"
export IDEAGAUNTLET_MODEL="<您的模型>"
```
**本地 Ollama:**
```bash
ollama serve
idea-gauntlet quick "您的创意" --ollama --model llama3
```
支持 OpenAI、OpenRouter、Groq、Anthropic Claude、Together、Fireworks、LM Studio、LocalAI。
---
## 命令参考
| 命令 | 目的 |
| --- | --- |
| `idea-gauntlet quick "创意"` | 快速对抗性批评 |
| `idea-gauntlet court "创意"` | 结构化多角色辩论 |
| `idea-gauntlet users "创意"` | 合成用户角色 |
| `idea-gauntlet mvp "创意"` | 验证/MVP 计划 |
| `idea-gauntlet compare "A" "B"` | 比较多个创意 |
| `idea-gauntlet batch <文件>` | 对多个创意进行批评 |
| `idea-gauntlet interactive [创意]` | 交互式 REPL - 细化、深入分析 |
| `idea-gauntlet history [id]` | 查看保存的报告,跟踪演变 |
| `idea-gauntlet init` | 搭建工作空间 |
| `idea-gauntlet doctor` | 检查配置 |
| `idea-gauntlet mcp` | 启动 MCP 服务器 |
| `idea-gauntlet setup --all` | 为 Claude/Codex/Cursor/MCP 生成集成文件 |
### 常见选项
| 选项 | 适用命令 | 目的 |
| --- | --- | --- |
| `--json` | quick, court, users, mvp | 输出 JSON |
| `--format html` | quick, court, users, mvp, compare | 输出样式化 HTML 报告 |
| `--output <文件>` | 大多数命令 | 保存到文件 |
| `--ollama` | 生成命令 | 使用本地 Ollama |
| `--model <名称>` | 生成命令 | 覆盖 LLM 模型 |
| `--stage <阶段>` | quick, court, users, mvp | 创意成熟度 |
| `--target-users <列表>` | quick, users | 逗号分隔的目标用户 |
| `--personas <数量>` | users | 角色数量 |
| `--market <市场>` | quick | 市场描述 |
| `--save` | quick, court | 将报告保存到历史记录存储 |
| `--no-search` | 所有生成命令 | 在分析前禁用网络搜索 |
| `--roles <文件>` | court | 从 JSON 加载自定义法庭角色 |
| `--evolve <id>` | history | 与保存的报告比较分数 |
---
## TypeScript API
```ts
import { runGauntlet, OpenAICompatibleProvider } from "idea-gauntlet";
const provider = new OpenAICompatibleProvider({
apiKey: process.env.IDEAGAUNTLET_API_KEY!,
model: "gpt-4o-mini",
});
const report = await runGauntlet({
idea: "一个针对远程工作者的专注房间应用",
mode: "quick",
provider,
});
console.log(report.markdown);
```
自定义提供程序实现 `LLMProvider` 接口。
---
## 评分哲学
分数是诊断信号,而不是预测。
| 维度 | 检查内容 |
| --- | --- |
| 清晰度 | 创意是否具体且易于理解? |
| 痛点 | 是否存在真正的痛苦问题? |
| 差异化 | 方法是否在意义上有所不同? |
| 可行性 | 小团队能否快速测试? |
| 分销 | 能否触及目标用户? |
| 货币化 | 是否有可信的收入路径? |
| 证据 | 有哪些真实的证据支持创意? |
除非您提供真实的验证证据,否则证据分数保持较低。
---
## 可视化和 HTML 导出
生成带有雷达图和 Mermaid 图表的样式化、自包含的 HTML 报告:
```bash
idea-gauntlet quick "您的创意" --format html -o report.html
idea-gauntlet court "您的创意" --format html -o report.html
```
HTML 报告包括:
- **雷达图** - 7 维分数可视化(纯 SVG,无依赖项)
- **Mermaid 图表** - MVP 流程图、时间线甘特图、法庭思维导图(通过 CDN 渲染)
- **暗黑模式设计** - 样式化 CSS、玻璃态头部、响应式布局
---
## 交互模式
在 REPL 中迭代细化创意:
```bash
idea-gauntlet interactive "您的创意"
```
命令:
| 命令 | 目的 |
| --- | --- |
| `/idea <文本>` | 更新创意文本 |
| `/mode <模式>` | 切换模式(quick, court, users, mvp, compare) |
| `/run` | 使用当前创意 + 模式运行分析 |
| `/benchmark` | 将分数与基准数据集比较 |
| `/diagram` | 生成 Mermaid 图表(仅限 MVP 模式) |
| `/save` | 将报告保存到历史记录存储 |
| `/export html` | 导出 HTML 报告 |
| `/drill <n>` | 深入研究风险 #n + 可选的法庭重新运行 |
| `/help` | 显示可用命令 |
| `/quit` | 退出交互模式 |
---
## 分数基准
将您的分数与 50 个已知结果的真实创业创意数据集进行比较(成功、失败、转向)。
在交互模式下,分析后运行 `/benchmark` 以查看:
- 每个维度的百分位排名
- 总体百分位排名
- 类似创意的基准数据集
- 类似创意的成果分布
> 基准是方向性指南,而不是预测。数据集小且回顾性。
---
## 批处理模式
对文本文件中的多个创意进行批评(每行一个创意):
```bash
idea-gauntlet batch ideas.txt --mode quick --output reports/
```
将各个报告输出到指定目录,或将所有报告打印到 stdout。
---
## 历史和演变跟踪
保存报告并跟踪分数随时间的变化:
```bash
# 保存报告(在任何命令上使用 --save 标志)
idea-gauntlet quick "您的创意" --save
# 列出所有保存的报告
idea-gauntlet history
# 查看特定报告
idea-gauntlet history <id>
# 比较两个保存的报告之间的分数变化
idea-gauntlet history <new-id> --evolve <old-id>
```
---
## 交互式法庭辩护
在 **交互模式** 中,您可以在 **法庭模式** 中为您的创意辩护:
1. 启动交互模式:`idea-gauntlet interactive "您的创意"`
2. 将模式设置为法庭:`/mode court`
3. 添加辩护论点:`/defend "我们通过直接与关键行业平台合作来规避这一分销风险。"`
4. 运行法庭分析:`/run`
5. 法官和怀疑者将动态处理您的辩护,辩论它,并重新校准报告中的分数条。
6. 随时清除辩护:`/clear-defenses`
---
## 自定义法庭角色
从 JSON 文件加载自定义角色到法庭模式:
```bash
idea-gauntlet court "您的创意" --roles my-roles.json
```
角色文件格式:
```json
[
{
"roleName": " 分销怀疑者",
"perspective": "质疑这如何通过付费获取以外的手段接触用户。"
}
]
```
---
## 可选的项目本地设置
全局安装是正常路径。要将 IdeaGauntlet 指令提交到特定存储库:
```bash
idea-gauntlet setup --all
```
干运行:`idea-gauntlet setup --dry-run --all`
---
## 维护
```bash
# 检查全局安装状态
idea-gauntlet status
# 重新运行集成设置
idea-gauntlet install
# 在卸载前删除集成
idea-gauntlet uninstall
npm uninstall -g idea-gauntlet
```
---
## 开发
```bash
npm install
npm run typecheck
npm run test
npm run build
npm pack --dry-run
```
---
## 许可证
MIT