mockcrowd

io.github.phanisaimunipalli由 GitHub 帳號 phanisaimunipalli 發布v0.3.0更新於 Nov 8, 2026

Test a product idea on a crowd of AI personas grounded in real posts. Returns a verdict.

概覽

AI 產生的概覽

以真實社群貼文建立的 AI 人物群體進行模擬討論,評估產品構想並給出是否有人願意付費的結論。

可以做什麼
  • 對某個構想執行一次驗證,可指定價格或免費情境,回傳結論、願付費與願試用比例、相對對照文案的提升幅度、信心分數、主要反對意見與完整報告
  • 讀取過去執行的報告,並列出先前的執行紀錄與其結論
  • 記錄執行之後實際發生的結果,使其成為回測案例
  • 列出可用來驅動模擬的 AI 後端
適用情境
適合在動手開發之前使用,用來排序構想、找出反對意見,並決定哪些值得實際驗證。適合想要快速取得有證據支撐的需求判斷、而非營收預測的創業者與產品團隊。
執行需求
本機安裝 Python 3.10 以上版本(pip 或 uvx),並包含 mcp 附加元件;以本機 stdio 程序執行。需要 AI 後端:Claude Code、Codex CLI、Code Puppy、本機 Ollama 服務,或透過 MOCKCROWD_API_BASE、MOCKCROWD_API_KEY 與模型名稱設定的 OpenAI 相容端點。Reddit 聲音需要 REDDIT_CLIENT_ID 與 REDDIT_CLIENT_SECRET;GITHUB_TOKEN 為選用,可提高速率上限。蒐集貼文需要網路存取。
安裝前請注意
每次執行會產生大量 LLM 呼叫(500 個人物約 100 至 150 次),在付費 API 方案上可能產生費用。使用 Reddit 聲音需要 Reddit 憑證,且免費存取僅限非商業用途。Codex 在唯讀沙箱中執行,但仍允許讀取,機器上有敏感檔案時不宜使用。它只是模擬,並非營收預測,且知名回測產品可能被模型從記憶中認出。執行結果會存放在使用者家目錄下的本機資料夾。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 mockcrowd,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[mockcrowd: validate your product idea before you build. A crowd of colored dots drifts as opinions shift]

[ci] [python] [license]

[Replay of a real mockcrowd run: persona characters debate a vinyl scanning app in a chat, votes flip from Try free to Pass, ending in a weak demand verdict]

Validate your product idea before you build. mockcrowd builds a crowd of hundreds of AI personas from real posts on Reddit, Hacker News and Bluesky, lets them argue about your idea in a simulated Reddit thread, and tells you how many would really pay, why the rest would not, and how far to trust the answer.

It runs on your machine, on the AI you already have: Claude Code, Codex, Code Puppy, Ollama, or any OpenAI compatible API.

bash
mockcrowd validate "An app that scans your vinyl records with the phone camera to catalog your collection and track prices" --price "\$3.99/month"

Real output from a small test run (20 personas, 1 discussion round, Claude, Hacker News and Bluesky voices):

[mockcrowd discussion: personas debate a vinyl scanning app in a simulated r/vinyl thread; would try free falls from 60% to 35%, would pay from 5% to 0%, with the top objections]

[Terminal recording of a real 20 persona mockcrowd run, sped up 9x, ending in a weak demand verdict]

Alone, 60% said they would try it free and 5% would pay. After the discussion, 35% would try it and nobody would pay. That is the kind of answer you want before you spend a month building.

Why it is different

Problem with asking an LLM "would people buy this?"What mockcrowd does
Models are agreeable and say yes to everythingEvery persona also rates a bland control pitch in the same blind vote. The verdict is the lift over the control, not the raw yes rate.
Invented personas sound like marketing copyEvery persona is built from real posts and cites them. The stance mix of the crowd (positive, neutral, skeptical, negative) is matched to the mix measured in those posts.
One voice, no social dynamicsA Reddit style discussion: threads of about 20 personas, a ranked feed, and a fixed action space (comment, reply, upvote, downvote, do nothing), following the design of OASIS. You see the vote before and after people talk.
No way to know if the tool is rightEvals and a backtest on products with known outcomes (crowdfunding records and well known flops), plus your own recorded outcomes.

Install

bash
pip install mockcrowd# or: uv tool install mockcrowdmockcrowd brains        # shows which AI it can use

Python 3.10 or newer. One small dependency (certifi).

Once a day mockcrowd checks PyPI and prints one line when a newer version is out. It never installs anything. Upgrade with pip install -U mockcrowd or uv tool upgrade mockcrowd. Turn the check off with MOCKCROWD_NO_UPDATE_CHECK=1.

Pick the brain

mockcrowd uses the first one it finds, or the one you pass with --brain.

BrainHow it runsSetup
claudeclaude -p on your Claude Code planClaude Code installed
codexcodex exec on your ChatGPT or API planCodex CLI installed
code-puppycode-puppy -p with your configured modelCode Puppy installed
ollamaLocal models, free and private, slowerollama serve, then --model <name>
openaiAny OpenAI compatible endpoint (OpenAI, OpenRouter, LM Studio, vLLM)MOCKCROWD_API_BASE, MOCKCROWD_API_KEY, --model

Claude has been run live end to end. The Codex, Code Puppy, Ollama and OpenAI adapters are tested against the flags and API each tool documents, but not yet in a live run; reports are welcome. Claude and Code Puppy run with tools off. Codex runs in its read only sandbox, which blocks writes but not reads, so prefer the others if your machine holds sensitive files.

--model is passed through exactly as you write it. A 500 persona run makes roughly 100 to 150 LLM calls, because one call steps a whole batch or thread of personas. A faster, cheaper model makes runs quicker. OPENAI_API_KEY is only used with api.openai.com; other endpoints need MOCKCROWD_API_KEY.

Real voices

SourceKey neededNotes
RedditYes, freeCreate a "script" app at reddit.com/prefs/apps and set REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET. Reddit blocks keyless requests. Free access is for non-commercial use.
Hacker NewsNoComments through the Algolia search API
BlueskyNoPublic post search
GitHubNoIssues and their top comments, only when the audience is developers. Set GITHUB_TOKEN for a higher rate limit.
App StoreNoOpt in with --source appstore. Apple's public review feed returned no reviews when last tested.
Anything elseX, Threads, Instagram, Discord, surveys, support tickets, interview notes: put the posts in a file and pass --voices posts.jsonl (JSONL, CSV or text).

Each source that fails is listed in the report, and the confidence score drops when evidence is thin.

Use it from your coding agent

bash
mockcrowd install-skill                    # Claude Code: ~/.claude/skills/mockcrowdmockcrowd install-skill --dir <skills dir> # any agent that reads SKILL.md files

Then ask: "validate my idea for a vinyl collection app at $3.99 a month". The agent runs mockcrowd, and when a source is blocked it can gather posts with its own web tools and pass them in.

Use it from any AI agent (MCP)

bash
pip install "mockcrowd[mcp]"claude mcp add mockcrowd -- mockcrowd mcp   # Claude Code

Any other MCP client (Cursor, Codex, Claude Desktop, your own agent) can start it with the command mockcrowd mcp over stdio:

json
{"mcpServers": {"mockcrowd": {"command": "mockcrowd", "args": ["mcp"]}}}

To always run the newest release without installing, use uvx: {"command": "uvx", "args": ["--python", "3.12", "mockcrowd[mcp]@latest", "mcp"]}.

ToolWhat it does
validate_ideaRuns a crowd on an idea and returns the verdict, would pay and try free shares, lift, confidence, top objections and the full report
get_reportThe report of a past run
list_runsPast runs with their verdicts
record_outcomeWhat really happened after a run, which becomes a backtest case
list_brainsWhich AI backends are available

Agent runs default to 60 personas and 1 round to keep them quick.

Free ideas and open source features

For something nobody pays for, such as an open source feature or a free app, add --free. The crowd is asked whether they would use it instead of whether they would pay, and the verdict comes from interest after the discussion compared with a bland control. To backtest on a real feature request, add --exclude github.com/owner/repo/issues/123 so the crowd never sees the issue it is being scored against.

Commands

bash
mockcrowd validate "idea" [--price P | --free] [--audience A] [--agents 500] [--rounds 2]                          [--voices file.jsonl] [--no-live] [--source reddit|hn|bluesky|github|appstore]                          [--exclude TEXT]                          [--question "choice:first:Which feature first?:scan|alerts|wishlist"]                          [--brain auto|claude|codex|code-puppy|ollama|openai] [--model M]mockcrowd collect "idea" -o voices.jsonl   # only gather real postsmockcrowd runs                             # list past runsmockcrowd report <run-id> [--json]mockcrowd outcome <run-id> --demand high|medium|low --note "what really happened"mockcrowd eval --suite quick|full|backtest [--gate]

Runs are saved in ~/.mockcrowd/runs/<run-id>/ as report.md and run.json (every voice, persona, vote and comment).

How a run works

[Plan, collect, label, design, blind vote, discuss, report]

  1. Plan. The brain reads your idea and lists the segments (including people who would not buy), subreddits and search queries.
  2. Collect. Real posts from the sources above.
  3. Label. Each post gets a segment, relevance, pain level and stance. Irrelevant posts are dropped.
  4. Design. Personas are written in batches from samples of real posts, in the segment shares and stance mix those posts show. Each persona cites its posts.
  5. Blind vote. Every persona answers alone: interest, would try free, would pay, biggest objection, plus your own typed questions. The real idea and a bland control appear side by side in random order.
  6. Discuss. Threads of about 20 mixed personas, one action each per round on a ranked feed.
  7. Final vote and report. Shares with 95% intervals, lift over control, shift after discussion, by segment results, objection themes and a confidence score.

Evals and continuous improvement

mockcrowd eval scores the simulator itself and appends to ~/.mockcrowd/evals/history.jsonl. With --gate it exits 1 when any metric falls more than 5 points below its best.

MetricWhat it checks
grounding, citation_validPersonas are built from real posts, and their citations exist
mix_fidelityThe crowd's stance mix matches the real posts
diversityPersonas are not copies of each other
control_lift, agreeablenessThe crowd does not reward a bland idea
persuasion_driftHow much the discussion moved the vote
stabilityRerunning the vote gives the same answer
realismA judge cannot tell real posts from persona comments
backtest_accuracy, backtest_aucKnown hits score above known flops
leakageHow many backtest products the brain recognizes from memory

The backtest ships with 13 cases: six with record crowdfunding or user growth (for example Pebble Time, Exploding Kittens, Flow Hive) and seven well known flops (for example Juicero, Quibi, Fire Phone). Each case cites its source. Pitches are anonymized, and the leakage metric reports how often the model recognizes them anyway.

Your outcomes are the strongest signal. After you test or launch, run mockcrowd outcome <run-id> --demand .... The run becomes a backtest case, and future confidence scores include how well mockcrowd did on cases like yours.

Honest limits

  • It is a simulation. Use it to rank ideas, find objections and choose what to test for real, not to forecast revenue.
  • Personas reflect the people who post online, who are louder and more opinionated than most buyers.
  • Backtest products are famous, so models may know how they ended. Watch the leakage metric.
  • The verdict thresholds are starting points. The backtest reports how well they separate hits from flops on your brain.

Credits

Simulation design follows OASIS by CAMEL-AI (Apache 2.0). The idea of building a world from seed material and simulating it was inspired by MiroFish. No code from either project is included. See NOTICE.

License

Apache 2.0

來源:README.md,提交 92785bb

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.0最新Nov 8, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分