主题
第五章:OpenCode 项目开发实战
本章使用 OpenCode直接操作项目文件,从单文件小工具逐步做到个人博客。每个项目都练习同一件事:把想法说清楚,让 AI 分步实现,再根据实际结果提出修改。
开始前的准备
准备 OpenCode 和可用的模型服务。前两个项目以单文件网页为主;博客需要 Python 环境及 uv管理依赖。示例中的免费模型和插件配置可能变化,学习不依赖特定优惠或固定模型。
阅读顺序
- 5.1 OpenCode 安装与基础设置
- 接通模型、选对工作目录,通过一次小改动检查环境。
- 5.2 模型配置、MCP、Skills 与 omo-slim
- 理解配置来源、工具权限与角色分工,按顺序排查配置问题。
- 5.3 单文件小工具:木鱼与番茄钟
- 讨论交互细节,检查暂停、刷新、后台计时和本地保存。
- 5.4 交互网页:灵感卡片生成器
- 验证角色是否参与,检查预览与导出图片是否一致。
- 5.5 个人博客(上):需求、接口与阶段计划
- 约定文章字段和接口行为,明确每个阶段的输入与交付物。
- 5.6 个人博客(下):实现、联调与交付
- 沿文章保存和读取过程排错,验证数据库持久化与页面反馈。
章节概览
配套项目
运行配套项目
单文件页面可以先直接用浏览器打开;部分样式或导出能力使用外部资源,需要网络可用。本地文件方式的存储行为存在浏览器差异,持续调试时建议保持固定的访问方式。
博客在本章目录下执行:
bash
cd project_03_个人博客系统
uv sync
uv run uvicorn main:app --reload --port 8000打开 http://127.0.0.1:8000,尝试新建、编辑、读取和删除文章。刷新页面并重启服务后,再检查保存的数据。启动 OpenCode 与启动博客是两件事:前者是开发工具,后者是运行开发出来的应用。
完成本章时,应能给出可检查的需求、按阶段推进修改,并说明哪些结果已经验证、哪些还存在限制。
三个项目怎样逐步练习
三个项目的难度增长体现在约束数量,而不只是代码量。木鱼与番茄钟先练习把交互状态说清楚;灵感卡片增加主题、资源加载和图片导出;个人博客再加入接口、数据库与前后端联调。前一个项目中形成的验收习惯,应继续带到后一个项目。
每个项目完成时,建议留下四类材料:原始需求与补充约定、实际修改差异、运行或测试结果、尚未处理的限制。使用 Skills、MCP 或多角色插件时,再补一项“它具体参与了哪一步”,避免只记录安装过程。
如果某个示例在当前环境无法运行,先缩小到最短路径:单文件页面确认本地和网络资源,博客先确认后端接口和数据库,再检查页面。这样既便于定位问题,也能区分工具配置、项目实现和外部依赖造成的失败。