product.hrdai.cn · WOULDITSHIP · OPEN SOURCE CLI

刚 vibe 出来的
产品,
骂了吗?

把刚 vibe 出来的产品丢进去,
最挑剔的陌生用户骂醒——
装不起来,就是最狠的差评。

一个 CLI。真装、真跑、真骂。

$ npx woulditship .
MIT 开源 无服务端 跑在你自己的 API key 上
开源 MIT · npx woulditship · Node ≥ 22 github →
~/my-vibecoded-app — npx woulditship .
~/my-vibecoded-app $ npx woulditship . → 识别栈:Node (package.json) → 真实安装:npm install … (187 warnings, 2 high-severity) → 尝试运行:npm run dev → http://localhost:3000 ✓ → 神仙鱼·毒舌真实用户 出场: 🔥 哥们。 第一屏我看了 8 秒,没看懂这是干嘛的。 "AI-powered productivity workspace" 这种 hero 文案,我从 2022 看到现在看吐了。 到底是 todo list?笔记?日历?给团队还是个人? 点了 "Get Started Free" 就弹登录框——我还不知道注册它干嘛,就要给你邮箱? 登录后跳 /dashboard 一片空白,让我"选三个 template"。我都不知道它能干啥,直接 ⌘W。 onboarding 不是让用户做选择题,是让用户 60 秒内"被你惊艳一次"。 这一关过不去,后面再好都没用。 ═══ 能 ship 吗? ═══ 还不行。 → hero copy 改一遍:一句话说清你是干嘛的 → onboarding 砍掉选择题:先惊艳一次 没配 DEEPSEEK_API_KEY? 走离线 mock,也能骂、朴素些。 ~/my-vibecoded-app $
WHAT IT ROASTS · 它会怎么骂你

不是 lint。
不是 unit test。
一个真实用户的真实困惑

骂了吗在你的 repo 里真装真跑(配 DEEPSEEK_API_KEY 调 LLM,没配走离线 mock),让神仙鱼·毒舌真实用户把每一个让陌生人困惑、放弃、想骂街的瞬间,写成你必须读完的吐槽——刀子嘴豆腐心,每条都给改法。

PERSONA · 01
— 一个被同事推荐过来的产品经理
第一屏看不懂
"我看了 8 秒,不知道这是 todo list 还是笔记还是日历。AI productivity 这词救不了你。"
VERDICT · 不能上线 · hero 重写
PERSONA · 02
— 一个刚听说你产品的设计师
注册之前就被劝退
"我还不知道你能干嘛就让我留邮箱,这是 2014 年的 SaaS 套路了。让我先用,再求我注册。"
VERDICT · 不能上线 · 改 try-before-signup
PERSONA · 03
— 一个用了 7 年 Notion 的人
"你跟 Notion 比有啥优势"
"我能在你这做的事,Notion 都能做。你这个 AI 功能 Notion AI 也有。我为什么要换?"
VERDICT · 勉强能上 · 加一个"为什么换"的 section
↑ v1 是单一"毒舌真实用户"的声音;多 persona(技术 partner / 抠门用户 / KOL……)+ 真实操作体验,是 v2。
HOW IT WORKS · 四步

一行命令,二十分钟。
没那么复杂。

STEP 01

认栈

读 package.json / requirements / go.mod / Cargo.toml,判定 Node / Python / Go / Rust。认不出就明确说"不支持",不硬猜。

STEP 02

真装真跑

在目标 repo 真的执行 install / run(含 postinstall),像陌生人第一次上手。装不起来——就是最狠的差评。--no-run 可只静态读。

STEP 03

出毒评

把真实的安装 / 运行结果喂给 LLM,神仙鱼·毒舌真实用户出场:哪一步困惑、为什么、怎么修。配 DEEPSEEK_API_KEY 调模型;没配走离线 mock。

STEP 04

给结论

一段总评(带金句)+ 一个"改这些"清单(每条 = 问题 + 改法)。要么改了再发,要么知道自己在发什么。

FEATURES · 几个真有用的

不堆 feature,
就这几样。

npx .

当前目录直接跑

npx woulditship 在当前 repo 跑;./some-repo 指定目录。执行前会警告并等你确认。

--no-run

静态模式

只读 README / 清单 / 目录结构,绝不执行任何脚本。拿别人 repo 又不想跑它的代码时用。

--yes

跳过确认

CI / 熟练用户用。默认会先警告"我要真装、真跑你的代码了"再等你点头。

--timeout

安装硬超时

--timeout 120 秒(默认 300)。装太久直接掐——普通用户早关页面了。

DEEPSEEK_API_KEY

配了更毒,不配也能骂

DEEPSEEK_API_KEY 调 LLM 出毒评(默认 deepseek-chat);没配走离线 mock,骂得朴素些。

stacks

支持四种主流栈

Node / Python / Go / Rust(按 package.json·requirements·go.mod·Cargo.toml 判定)。认不出明确说"不支持",不硬猜。

⚠ 安全

它会真的运行代码

默认执行 install / run(含 postinstall)= 跑里面的代码。骂别人 repo 前想清楚,或用 --no-run 只静态读。

v1 / v2

v1 装+骂,v2 真用

v1:装 + 失败即 roast。v2:run + 真实体验式吐槽(启动服务、点页面)。

VS · 和其他工具有啥不一样

市面上不缺代码扫描器
缺的是一个真实用户的真实困惑

代码扫描器 / lint / unit test
  • 检查代码是否能跑
  • 检查代码是否漂亮
  • 检查代码是否有安全问题
  • 检查产品是不是真的能卖出去
  • 检查 onboarding 是不是劝退用户
  • 检查你 hero 文案是不是大家不爱看
骂了吗 · WouldItShip
  • 真的装上、真的打开、真的用
  • 从一个真实陌生人的视角去骂
  • 每个 Persona 有自己的目标和痛点
  • 骂完给你按工时排序的修改清单
  • 能跟上一次报告对比,看你有没有进步
  • 开源、用你自己的 key、不传你 code 到服务器
为什么这件事重要

Vibecoding 时代,写代码不是瓶颈了。
瓶颈是「我做的这个东西,到底能不能让一个陌生人愿意用 10 分钟」。
而这件事,独立开发者最容易自欺。

骂了吗 不是替代用户测试。它只是让你在花钱跑用户测试之前,先骂自己一遍

ROAST 示例 · 毒评长这样

不是空话——
毒评会精准到这种程度。

示例 · AI 学习平台

"我点了 'Try free' 之后弹出一个 modal,让我输入'学习目标'。 我哪知道我的'学习目标'?我才刚到你网站 12 秒。 让我先看你能干嘛,再让我说我想干嘛。"

— Persona: 一个被微博推荐过来的大学生
示例 · 独立博客工具

"你的 landing page 有 17 个 section。我滚到第 6 个就走了。 独立博客工具不需要 17 个 section。 你需要的是一句话告诉我'我能 5 分钟搭一个像 hrdai.cn 那样的博客'。"

— Persona: 一个想从 WordPress 搬家的写字的人
FAQ

Q · 这是 SaaS 吗?

不是。是个 npm 包,npx 一下跑在你本地。配你自己的 DEEPSEEK_API_KEY(没配走离线 mock)。我们看不到你的 code。

Q · 跑一次多少钱?

用 DeepSeek 一次几分钱;没配 key 就 0 成本走离线 mock,照样骂、朴素些。

Q · 它真的会骂我妈吗?

不会。它只骂产品、不骂人。刀子嘴豆腐心——每条吐槽后面都跟一句"照着能改"的建议。

Q · 不想让它跑我的代码?

--no-run。只读 README / 结构,绝不执行脚本。(默认会执行 install/run,含 postinstall = 跑里面的代码,拿别人 repo 前想清楚。)

最后一段废话

独立开发者最缺的不是 idea,
"被一个陌生人当面骂"的机会。

朋友太客气,VC 太正式,社区太鼓励。
真正能让你产品变好的,是那个 5 分钟前才打开你网站、12 秒后就关闭的陌生人。

骂了吗 不是替代他。
在你浪费他之前,先帮你预演一次。

$ npx woulditship .