第 04 模块 · 3 节

用 Pi 完成一个完整脚本任务

《Pi 基础入门》04 第一个实战项目 · 本节时长 26 分钟

贯穿项目到这一步,前几节的所有铺垫全派上用场:AGENTS.md 让它懂项目规矩,README.md 让它知道三个命令怎么做。这一节把 md-tools 完整实现出来,走完整个贯穿闭环。

让 Pi 动手

上一节我们有了干净的 md-tools 目录、需求文档(README)和项目约定(AGENTS.md)。这一节,让 Pi 把它实现出来。

在项目目录里启动:

pi

第一次实现

对它说:

读一下 README.md 和 AGENTS.md,把这个 Markdown 工具箱实现出来。

观察它怎么做:先读 README 和 AGENTS.md 了解需求与约定,然后写 index.js、可能跑命令测试。看消息区的工具轨迹(read/write/bash),你会理解它是怎么一步步实现的。


让它解释,别只让它写

实现完,继续追问:

把 index.js 给我讲一遍:它是怎么实现 stats、convert、rename 这三个命令的?

这一步很重要——别只当验收官,要听懂它写的代码。这既是学习,也是审查的前提。


安全开关:先预览再执行

按需求,每个操作执行前都要先打印「将做什么」。让它实现这个:

按 README 要求,每个操作执行前都要先打印"将做什么",确认后才真正执行。
尤其 rename 改名,改之前必须明确提示改的是哪个文件。

这样工具默认「先预览、不动手」,你确认后才真正改。


测试 + 验收

让它补测试,然后你亲自验证。先造几个 markdown 文件:

echo "# 标题" > a.md
echo "你好,世界。" >> a.md
node index.js stats a.md      # 应统计字数/段落/标题
node index.js convert a.md     # 应输出纯文本
node index.js rename a.md      # 应预览改名,确认后执行
ls                            # 确认文件被正确改名

你亲手验证通过,才算这个任务真的完成。


完整闭环复盘

到这,你走通了用 Pi 做事的完整闭环:

环节 你怎么做的
项目约定 写了 AGENTS.md
描述需求 写了 README,让 Pi 读
AI 实现 它写了 index.js
让它解释 听懂了核心逻辑
加安全开关 迭代加了「先预览再执行」
测试验收 造数据、跑命令、亲眼验证

这正是本课程反复强调的「你描述、它执行、你审查」。


落地练习:让 md-tools 真正属于你

现在让工具「活」起来,加你自己的东西:

  1. node index.js stats 处理一个你自己的 markdown 文件
  2. 试着让 Pi 加一个新功能——比如「统计文件里有多少个链接」:
给 md-tools 加一个功能:stats 时顺便统计文件里有多少个 markdown 链接。
记得遵守 AGENTS.md 的约定。

怎么判断做对了?——你能用命令行正常处理 markdown 文件,且让 Pi 加了链接统计后还能正常跑。

卡住了怎么办? 命令报错 → 把报错贴给 Pi 让它修。功能乱了 → /new 开新会话重来,或 /tree 跳回之前的分支。想重来 → 删 index.js 让它按 README 重写。


常见坑:做出来就跑,没验收

最大的坑:Pi 说「完成了」,你一看没报错就以为好了,收工。

必须亲手验收——造真实数据、跑每个命令、看边界情况(文件不存在、空文件、特殊文件名)。Pi 说「完成」和「真的能用」是两回事。这一步是你作为「结对工程师」不可推卸的责任。


小结

这门课到此结束。你已具备:

  1. 安装 Pi 并接上模型(含 DeepSeek 等国内大模型)
  2. 在 TUI 里操作、用四个内置工具干活
  3. 管理会话:续接、会话树、fork/clone、导出分享
  4. 用 AGENTS.md 让 Pi 懂项目
  5. 独立完成贯穿全程的真实项目——md-tools

下一步,进入进阶实战:用上下文文件、自定义技能、提示词模板和扩展,把工作流升级。