用OpenCode的人,装上ponytail让AI少写废代码

用AI写代码久了,多半遇到过这种情况:你只想加个小功能,它哗哗写了三百行,新建了五个文件,还顺手装了两个依赖。能跑是能跑,但你根本看不过来,下次出问题也不知道从哪改。

GitHub 上有个项目专门治这个毛病,叫 DietrichGebert/ponytail,现在17万多星,10月刚出了第5版。它在 OpenCode 里就是一个插件,一行命令装好。这篇讲清楚它是什么、怎么装、怎么用,以及什么时候该把它关掉。

ponytail 项目介绍

名字为啥叫”马尾辫”

作者的说法很好玩:每个公司都有这么一位老程序员,留着长马尾、戴副眼镜,在公司待的时间比代码仓库还久。你给他看五十行代码,他一句话不说,删掉,换成一行。

ponytail 就是把这位老程序员塞进你的AI里。

说穿了,它本质上就是一段写得很好的规则(提示词),每次对话都会自动带上。仓库里其他的文件,都是为了把这段规则装进不同的AI编程工具。

它让AI怎么”偷懒”

装上之后,AI动手写代码之前,会先按顺序问自己7个问题,哪一步能解决就停在哪一步:

ponytail 的七级台阶

  1. 这功能真的需要吗?不需要就不写。
  2. 项目里是不是已经有现成的?有就复用。
  3. 编程语言自带的标准库能不能做?
  4. 浏览器、系统本身有没有这个功能?
  5. 项目已经装的依赖里有没有?
  6. 一行能不能搞定?
  7. 前面都不行,才写能跑的最少代码,有判断逻辑的再补一个小测试。

作者举了个例子:让AI给网页加一个选日期的控件。不装 ponytail,AI要么装一个日期选择库,要么手写一整个日历,335行。装了之后,AI先看了一眼项目,发现已经有输入框组件,而浏览器本身就自带日期选择,两样一拼,10行。

这里有个容易误会的地方:它懒的是方案,不是看代码。改之前它照样会把相关代码读一遍、把流程理清楚。而且有几样东西它永远不砍:用户输入的校验、防止数据丢失的处理、安全相关的代码。

还有一个我很喜欢的小细节:每次回复结尾,它会写明这次跳过了什么、没检查什么、有什么风险。对新手来说,这比一堆看不懂的代码有用多了。

效果到底有多大

作者自己做过一组对比测试:同一个AI,39个编程任务,装和不装各跑5遍。装了之后,代码量少了约一半(-53%),耗时少了41%,花的钱少了26%,消耗的 token 少了45%。

更反直觉的一点:代码少了,测试反而多了。有风险的逻辑里,装了的98%都带测试,不装的只有68%。

这些是作者自己测的数,你的项目不一定一模一样,但方向是可信的。尤其是用按量付费模型的人,token 少一半,钱包是能感觉到的。

在 OpenCode 里安装

OpenCode 2(推荐)

打开终端,运行一行:

opencode plugin add @dietrichgebert/ponytail

装完重新打开 OpenCode 就生效了。

不想全局装,只想在某个项目里用?在项目根目录的 opencode.json 里加上:

{ "plugins": ["@dietrichgebert/ponytail"] }

还在用 OpenCode 1

老版本没有 plugin add 命令,键名也不一样,要在 opencode.json 里写:

{ "plugin": ["@dietrichgebert/ponytail"] }

注意老版本是 plugin,新版本是 plugins,多一个 s,写错了不会生效。

不想要了

opencode plugin remove @dietrichgebert/ponytail

一个安全提醒

只从 GitHub 上的 DietrichGebert/ponytail 或 npm 上的 @dietrichgebert/ponytail 安装。作者特意说了,这个项目从来不带 .exe、.dll 文件,带这些的都不是他发的。项目火了以后山寨包很常见,别乱下。

装好之后怎么用

平时什么都不用做,正常跟 OpenCode 说需求就行,规则每次都会自动生效。

几个用得上的命令,直接在 OpenCode 里输入:

命令

干什么用

/ponytail lite

轻度,稍微收着点写

/ponytail full

标准强度

/ponytail ultra

最狠,能不写就不写

/ponytail off

临时关掉

/ponytail-review

审查你这次改的代码:有没有 bug、安全问题、该删的东西

/ponytail-audit

给整个项目做体检,按严重程度排好,告诉你先修哪个

/ponytail-debt

把AI标记过”先凑合、以后再改”的地方列成清单

最值得用的是 /ponytail-review。它不是只看你改的那几行,还会去看被你改动影响到的其他文件。比如你改了一个字段名,另一个没动过的文件因此会报错,它能找出来,还会告诉你不修会怎样。

什么时候该关掉它

说说缺点,它不是万能的:

我建议这么用:日常改现有项目开 full,搭新东西时关掉,提交代码前跑一遍 /ponytail-review。

懒得自己弄?把这段话发给AI

版本一:给 OpenCode(能直接帮你装)

帮我在 OpenCode 里安装 ponytail 插件(GitHub:DietrichGebert/ponytail,npm 包名 @dietrichgebert/ponytail)。
我是新手,请按下面做:
1. 先运行 opencode --version 看我的版本,告诉我是 OpenCode 1 还是 2。
2. 如果是 2,运行 opencode plugin add @dietrichgebert/ponytail。
如果是 1,在我的全局配置或当前项目的 opencode.json 里加上 "plugin": ["@dietrichgebert/ponytail"],改之前先备份原文件,并告诉我改了哪一行。
3. 只从官方 npm 包安装,不要下载任何 .exe 或 .dll 文件。
4. 装完告诉我需要怎样重启 OpenCode,并教我用 /ponytail full、/ponytail off 和 /ponytail-review 这三个命令。
5. 出错就停下来,用大白话解释原因,告诉我怎么撤销,不要自己乱试。

版本二:给豆包 / DeepSeek(聊天版)

我想给 OpenCode 安装 ponytail 插件(GitHub:DietrichGebert/ponytail,npm 包名 @dietrichgebert/ponytail)。
我的电脑是【Windows / Mac】。你不能操作我的电脑,所以请一步一步教我:
1. 先教我打开终端,运行 opencode --version,我把结果贴给你。
2. 根据我的版本告诉我该运行的安装命令,或者 opencode.json 里该加的内容(OpenCode 1 用 "plugin",OpenCode 2 用 "plugins")。
3. 每步告诉我预期会看到什么,我把结果贴回给你再继续。
4. 最后教我怎么确认装好了,以及怎么卸载。

#OpenCode #开源项目

展开阅读全文

更新时间:2026-10-24

标签:科技   代码   项目   命令   版本   文件   马尾   作者   功能   都会   插件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302035593号

Top