实战(中)跑通产品流水线:开发官造产品、内容官拉用户
第 28 章团队就位、MVP 定义清楚、开工令已下。这一章看产品怎么从 0 到 1:开发官写全栈代码并部署、接好收款、内容官和分发官把用户拉进来。你会看到”老板下一道令 → 团队自己把公司造出来”的全过程。
本章代码均为示意骨架,落地以各 SDK 官方文档为准(Hermes 版本/接口可能演进)。重点是展示”开发官怎么被派活、产出什么”,不是教你逐行抄。
一、开发官:写全栈骨架
参谋长把 card#2 派给 liam(开发官)。你给他的指令(参谋长转发,或你直接对 liam 说):
你 → liam:
"搭 Sentinel MVP 全栈骨架,技术栈 Next.js(前端) + FastAPI(后端) + Supabase(Postgres+Auth)。
交付:1) Supabase 表结构;2) 监控抓取+AI摘要的后端接口;3) 前端'添加监控目标'与'看板'页。
要求:可本地跑、有 README、关键配置走环境变量。先出骨架,细节下一轮迭代。"开发官(配强推理模型 + terminal/execute_code/MCP)产出的骨架示意:
-- Supabase schema(monitoring 表)
create table monitors (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users,
target_url text not null, -- 竞品定价页 / changelog / GitHub
last_snapshot text, -- 上次抓到的内容
created_at timestamptz default now()
);
create table diffs (
id uuid primary key default gen_random_uuid(),
monitor_id uuid references monitors,
summary text, -- AI 摘要"这次变了啥"
created_at timestamptz default now()
);# FastAPI 抓取+摘要接口(示意)
@app.post("/api/monitor/run")
async def run_monitor(monitor_id: str):
m = db.fetch_monitor(monitor_id)
fresh = await fetch_url(m.target_url) # 开发官用 execute_code 抓
diff = llm_summarize(m.last_snapshot, fresh) # 廉价模型做摘要
db.save_diff(monitor_id, diff)
db.update_snapshot(monitor_id, fresh)
return {"summary": diff}// 前端:添加监控目标 + 看板(Next.js 示意)
export default function Dashboard() {
const [url, setUrl] = useState("")
return <div>
<input placeholder="粘贴竞品 URL" value={url} onChange={e=>setUrl(e.target.value)} />
<button onClick={()=>addMonitor(url)}>添加监控</button>
<DiffList /> {/* 展示 diffs 表的 AI 摘要 */}
</div>
}你不用看懂每一行——这是开发官的交付物,不是你的作业。你只看参谋长周报里的”card#2 完成,骨架可本地跑”就够了。
二、部署常驻
开发官本地跑通后,参谋长派 card 部署:
你 → 参谋长:"让 liam 把后端部署到 VPS 常驻(Docker / systemd),
前端部署到任意静态托管。网关保持登录(参考第13章无人值守)。"关键一步(第 13 章讲过):让 Hermes 网关常驻,团队才 7×24 在线:
systemctl --user enable hermes-gateway-atlas # 网关常驻
loginctl enable-linger <你的用户名> # 注销后也跑三、接支付:Stripe(海外)+ 微信(国内)
收入要能进来。参谋长派 card 给 liam 接 Stripe:
你 → liam:"接 Stripe 订阅:免费层 / Pro ¥39 / Team ¥129 三档。
webhook 监听 checkout.session.completed → 升级用户套餐。密钥走环境变量,不进代码。"# Stripe webhook(示意)
@app.post("/stripe/webhook")
async def stripe_webhook(req: Request):
event = verify_signature(await req.body(), req.headers)
if event.type == "checkout.session.completed":
uid = event.data.object.metadata.user_id
plan = event.data.object.metadata.plan
db.upgrade_user(uid, plan) # 免费→Pro/Team
return {"ok": True}⚠️ 支付是”碰钱”的高敏操作,按第 12 章八层防御:密钥只进 .env、webhook 验签、升级动作走日志可审计。别给开发官 --yolo 直接发支付请求。
四、内容官 + 分发官:把用户拉进来
产品有了,没人知道等于零。这步复用第 15 章的”判断力给 Hermes、搬运给 n8n”分工:
内容官(harry)写获客素材:
你 → harry:"写 3 篇 SEO 博客(话题:'怎么不漏掉竞品降价''indie hacker 竞品监控清单'
'用 AI 监控 GitHub Release'),每篇末软植入 Sentinel 免费层。再写 Product Hunt 文案 + 落地页。"分发官(morgan)铺渠道(n8n 做搬运,Hermes 做判断):
你 → morgan:"PH 发布预热帖 + 小红书 3 篇干货 + 相关社群打卡。
规律:n8n 定时发已审定的草稿(搬运),你只判断'哪些选题值得发、哪篇数据好加投'。"分工图(接第 15 章):
Hermes(内容官) 出稿判断 ──► n8n(分发官调度) 定时搬运发布
│
Hermes(评估官) 读后台数据 ──► 决定哪些加投、哪些停五、评估官:上线即埋点
产品上线当天,评估官(nemo)的埋点必须就位——不然你根本不知道闭环转没转:
你 → nemo:"埋三个核心事件:activation(建了首个监控)、conversion(升Pro)、
retention(次周还登录)。每周出'漏斗+留存'数据卡给参谋长。"六、老板视角:这章你只做了什么
回看 29 章,你的动作清单:
☑ 给 liam 下"搭骨架"指令(参谋长转派)
☑ 给 liam 下"部署常驻"指令
☑ 给 liam 下"接 Stripe"指令(强调安全)
☑ 给 harry 下"写获客素材"指令
☑ 给 morgan 下"铺渠道"指令
☑ 给 nemo 下"埋点"指令
✗ 没写过一行代码
✗ 没手动发过一篇帖子
✗ 没盯过一次部署这就是”无人公司”的体感——你定义”做什么”,团队定义”怎么做”。
七、避坑提示
⚠️ 开发官别配 --yolo。 接支付、删库类操作一律审批或走日志。一个能发 Stripe 请求的 Agent 加免审批 = 随时可能真扣钱。
⚠️ 密钥只进 .env,绝不进代码/SOUL/MEMORY。 支付密钥泄露是毁灭级。
⚠️ 部署常驻前先跑通本地。 开发官没本地跑通就上 VPS,排错成本翻倍。
⚠️ 获客早期你得起头。 前 3 篇 SEO、第一次 PH launch,你亲自写/亲自蹲,比让 Agent 乱发强。跑出样板后,再交给内容官/分发官规模化(第 27 章”人做 0→1,Agent 做 1→100”)。
⚠️ 埋点不上线即废。 评估官的事件必须产品上线当天就采,否则前两周数据全空,迭代没依据。
本节能造出什么
你拥有了一个能自己造产品的团队:开发官出全栈+部署+收款,内容官出素材,分发官铺渠道,评估官盯数据。产品从 0 到 1,你没写一行代码。
下篇预告
第 30 章《实战(下)商业化闭环》:产品有了、用户来了,怎么让钱转起来——激活、转化、留存、盈利、规模化,附完整成本/收入模型和一张”上线复盘清单”。这章完,你手里就是一家跑通商业闭环、能盈利的 AI 原生无人公司。
延伸阅读
- 新媒体流水线(本系列第 15 章):15-案例新媒体运营官流水线.md
- 生产部署与无人值守(第 13 章):13-生产部署与无人值守.md
- 八层安全防护(第 12 章):12-八层安全防护与加固.md
- 配套仓库:https://github.com/smfworks/hermes-ai-team
