课程目标
- 安装 Superpowers 技能包
- 实现 JSON 格式化功能
- 实战测试国产大模型 DeepSeek V4
- 在 opencode 中利用 undo/redo 实现代码回滚与重做
前言
从 Stitch 绘制原型、导入 AI Studio 生成前端代码、再到 Tauri 项目集成、最后借助 opencode 进行实际开发——这套标准化流程终于走到了最后一个环节。
正式编码之前,先安装一个目前非常热门的技能包——superpowers。为什么要装它?因为对于能力相对普通的大模型来说,superpowers 的规范与引导作用会明显增强,相当于给 AI 配备了一套清晰的行动指南。
项目最终版本可以在 github.com/mayuanfei/m… 下载到。
安装 Superpowers 技能
如果说普通的 Skill 只是一把“瑞士军刀”——能切水果、开瓶盖——那么 Superpowers 就是一套“资深架构师的标准化作业流程”。本质上它仍然是一系列 Skill,但目标已不止于“转换时间戳”这种小事,而是约束和规范 AI 的行为,让它按照人类顶级程序员的最佳实践去思考和行动。
换句话说,Superpowers 就是给 AI 戴上的 紧箍咒 加 武功秘籍。
该项目在 GitHub 上已获得 170K star,受欢迎程度可见一斑。GitHub 地址是 github.com/obra/superp…,readme 中介绍了在 opencode 中的安装方式——只需把下面这段指令告诉 opencode:
Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.opencode/INSTALL.md配置 DeepSeek 模型
平时我习惯用 GitHub Copilot 或 Gemini 的套餐,这次 DeepSeek V4 刚发布,正好借此机会测试一下国产大模型的实际表现。考虑到不同模型的能力差异,安装 superpowers 来进行约束和控制就更有必要了。
先查一下 DeepSeek 的余额,等开发完 JSON 格式化功能后,再对比一下还剩下多少额度。
配置 DeepSeek 最简单的方式,是通过 opencode 直接修改全局配置。也可以手动添加如下配置:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["superpowers@git+https://github.com/obra/superpowers.git"],
"provider": {
"deepseek": {
"models": {
"deepseek-v4-flash": { "name": "DeepSeek V4 Flash" },
"deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
},
"npm": "@ai-sdk/openai-compatible",
"options": {
"apiKey": "your api key",
"baseURL": "https://api.deepseek.com"
}
}
}
}实现 JSON 格式化需求
上一篇文章中,我们通过 /init 为 mtool 项目生成了 AGENTS.md 项目说明文档。现在用 opencode 打开 mtool 目录——由于上次遇到页面黑屏无法正确显示的问题,这里执行 /new 开启一个新会话。
提示词如下:
根据现在项目src目录中页面JsonFormatter的内容,实现 rust 后端代码。仅仅实现 json 格式化的功能,具体要求如下:
1. 在 RAW INPUT 框中输入原始 json 字符串。通过点击右上角的 format JSON 按钮后,在 FORMATTED OUTPUT 框中输出格式化的 json。
2. 输出的格式化 json,成对的大括号采用同一种颜色;而不同层级的大括号是不同的颜色。
3. 点击minify按钮则使 json 字符串进行压缩显示:也就是去掉所有回车、空格等空白字符。使之紧凑排列。
4. 点击 clear 按钮清空所有输入输出的 json 字符串。
5. 在输出框右上角有个 COPY 按钮,点击可以拷贝到剪切板中。验证生成的代码
询问如何验证结果
直接向 opencode 询问验证方法。
首次运行
npm run tauri dev需要下载 391 个依赖,这个过程确实比较慢,需要耐心等待。
验证效果
经过漫长的等待,界面终于呈现。说实话,总体效果相当不错,基本一次就“全垒打”了——当然,也可能因为功能本身比较简单。
- 正常 JSON 的效果
- 错误 JSON 的反馈
提交代码到仓库
考虑到国内的网络环境,这次将代码提交到 Gitee 上。
在 Gitee 上新建仓库
让 opencode 提交代码
提示词:
你帮我把项目提交到:https://gitee.com/mayuanfei/mtool.git仓库中启用工作区
此时可以看到当前项目所处的分支,并且随着分支切换实时更新。
撤销更改
有了版本控制后,就能对修改过的文件进行回滚操作。先做一个简单的修改,再回滚,看看在 opencode 中的具体操作流程。
一个微小的改动
去掉 JSON Formatter 后面的 v2.0.4 版本号显示。观察变化
执行回滚
执行 /undo 命令。这个 /undo 命令也可以通过页面直接操作。
后悔回滚
如果发现回滚后又后悔了,可以使用 /redo 恢复代码。
DeepSeek 模型花费
总结
- 完整闭环达成:经过前两篇的原型设计、前端代码生成和项目环境搭建,本篇借助 opencode 顺利实现了跨平台桌面应用的业务逻辑,完成了从编码、测试到代码入库的完整闭环开发。
- 技能包的威力:引入 superpowers 这样的技能包,相当于给 AI 装上了“顶级程序员的思维引擎”。它能有效规范和约束 AI 的行为,提高代码的工程质量,尤其是在模型能力有限或逻辑复杂时作用显著。不过,凡事都有两面性——对于能力极强的大模型,反而可能限制其发挥和创造力。
- 国产大模型的崛起:本次实测了 DeepSeek V4,整体表现令人惊喜。处理类似 JSON 格式化的常规逻辑和前后端交互时,基本能做到“一次全垒打”,性价比确实不错。
- AI 时代的版本控制:利用 opencode 提供的
/undo、/redo指令以及与 Git 的无缝集成,我们可以大胆试错、随时回滚,无需担心破坏现有代码的基准。 - 实战寄语:至此,“MTOOL 桌面工具箱”从零到一的实战系列告一段落。这套包含“Stitch 原型设计 → AI Studio 前端生成 → Tauri 跨平台架构 → opencode 核心开发”的现代化 AI 编程工作流,充分展现了个人开发者极强的潜力,希望能为你的日常开发插上腾飞的翅膀!
