臭名昭著aTrust隔离计划1.臭名昭著aTrust隔离计划2.VPN原理与aTrust隔离网络实践3.docker-easyconnect到底做了什么4.TUN(tunnel-隧道-虚拟网卡)模式
基于Quartz搭建的个人博客1.Quartz个人博客使用教程2.使用 rsync 增量部署 Quartz 博客3.使用 GitHub Actions 自动部署 Quartz 博客5.域名绑定6.CDN加速Obsidian、双向链接与知识图谱
旅行
行程攻略青岛三日游行程攻略
前端
NginxNginx配置与反向代理入门
Nodenpm与npx的区别
中华财险-公司项目
对外接口文档
基础数据码表对外接口(仅支持rpc调用)业务码表对外接口应用主数据对外接口
基础运营查询版本更新日志详情消息中心对外接口站内信对外接口站内信模板配置手册
权限中心权限中心对外接口文档(最新)权限中心对外接口文档前端ACL-CORE FACADE依赖版本
审计中心审计中心对外接口文档audit-center-facade版本
审批中心工作流迁审批流现状工作流迁审批流API能力替换方案老审批流接口文档审批中心接口文档审批中心业务回调FAQ
账号中心内部系统对接单点登录内部系统对接认证中心三方网页应用登录授权账号中心对外接口文档前端账号中心RPC接口文档账户变更对外广播消息文档账户中心对外接口HRMS外部员工变更广播消息文档HRMS外部员工对外接口
组织员工岗位🔥机构映射SDK接口文档员工岗位变更通知说明组织机构管营一体概念与用法组织员工对外广播消息文档组织员工岗位对外接口文档组织员工岗位对外接口文档前端组织员工岗位数据模型组织员工主数据业务场景案例organization-facade版本
hrms(大型人力资源外包管理系统)
项目架构说明HRMS Maven模块与依赖说明
项目说明0.流程中心模块0.组织模块说明1.业务线模块2.计划模块3.项目模块4.协议模块5.供应商模块6.合约域模块7.外包人员模块*核心:外包人员生命周期
项目运维外包人员项目编制差异排查与修复2.HRMS相关问题排查4.修改externalId(externalId和accountId不一致)
需求-系分
1.内部转外包0723外包人员关联历史内部账号系分新增外包人员关联历史账号内容(紧急0723上线)需求
2.工作岗位0820工作岗位0820需求工作岗位0820需求-系分
3.用工模式调整0917内部人员转外包用工系统需求2内部人员转外包用工系统需求-系分
sso(账号中心-单点登录)
项目架构说明aboss-sso项目架构入门AOP统一日志打印链路Maven多模块项目高级知识OAuth2.0
项目说明1.SSO-OAuth2.0与IDaaS登录流程2.外部账号创建流水号并发问题分析
AI
使用说明
第三方插件&技能简介Archify使用与安装指南Ponytail使用指南
CodexCodex CLI与IDE区别及使用指南Codex Hook单独配置与提交通知Codex MCP安装与使用指南Codex第三方插件安装与使用指南
Agent开发1.LLM、Token、上下文窗口与模型参数2.大模型 API、请求参数与响应结构3.Spring AI ChatClient4.Prompt、System Prompt、Prompt 模板6.结构化输出、JSON Schema7.SSE 流式响应8.会话 ID、聊天记录、Redis9.超时、重试、限流、降级10.完成可运行聊天接口
GitGit常用命令与Obsidian推送排查
Java
面试题Java基础与集合面试题
AtomicInteger原子计数与并发安全ConcurrentHashMap并发安全与计数Java线程、线程池与Future
python
基础Python基础语法
HTTPXHRMS员工详情接口调用(Python HTTPX)

Ponytail 使用指南

1. Ponytail 是什么

Ponytail 是一个面向 AI 编程助手的“最简实现”插件。

它不会替代编程能力,而是约束 AI 的实现方式:先充分理解需求和现有代码,再选择代码量更少、依赖更少、维护成本更低的方案。

核心原则:

  1. 判断需求是否真的需要实现
  2. 优先复用项目已有代码
  3. 优先使用标准库
  4. 优先使用平台原生能力
  5. 优先使用已经安装的依赖
  6. 能用一行解决就不写几十行
  7. 最后才编写最少的新代码

“最简”不代表忽略输入校验、数据安全、错误处理、无障碍支持或明确要求。


2. 快速开始

Ponytail 安装并启用后,直接描述开发需求即可:

帮我修复订单重复提交的问题。

给这个页面增加日期选择功能,使用最简单的实现。

也可以显式调用:

@ponytail 帮我实现这个功能

Ponytail 会优先寻找现有实现、标准库或原生能力,并尽量减少修改范围。


3. 三种模式

Lite

/ponytail lite

正常完成需求,同时用一句话指出更简单的替代方案,由用户决定是否采用。

适合:

  • 需求已经确定
  • 希望 AI 少质疑需求
  • 仍想知道有没有更省事的方案

Full

/ponytail

默认模式。严格执行“复用、标准库、原生能力、最少代码”的选择顺序。

适合:

  • 日常功能开发
  • Bug 修复
  • 小型重构
  • 控制新增依赖和代码复杂度

Ultra

/ponytail ultra

最激进的精简模式。优先删除而不是新增,并主动判断需求是否可以不做。

适合:

  • 清理历史包袱
  • 快速原型
  • 明显过度设计的项目
  • 强力控制代码膨胀

简单理解:

模式行为
Lite按要求做,同时提醒
Full选择最简单的正确方案
Ultra优先考虑不做或删除

模式通常持续到切换、关闭或会话结束。


4. 专项命令

@ponytail

开启 Ponytail 编程模式,使用最简单且可靠的方案完成任务。

示例:

@ponytail 给用户列表增加 CSV 导出功能

@ponytail-review

只检查当前 Git 修改内容是否存在过度设计。

主要寻找:

  • delete:无用代码或预留功能
  • stdlib:重复实现了标准库能力
  • native:代码或依赖可以由平台原生能力替代
  • yagni:暂时没有实际用途的抽象
  • shrink:相同逻辑可以明显缩短

示例:

@ponytail-review 检查当前修改

注意:

  • 默认检查当前修改,不检查整个项目
  • 只生成审查结果,不自动修改代码
  • 不负责检查正确性、安全漏洞和性能问题

/ponytail-audit

扫描整个代码库,查找可删除、简化或替换的设计。

示例:

/ponytail-audit

它与 ponytail-review 的区别:

命令检查范围
ponytail-review当前 Git 修改
ponytail-audit整个代码库

该命令只报告问题,不自动修改。

/ponytail-debt

收集代码中的 ponytail: 注释,形成简化事项清单。

示例注释:

# ponytail: 当前使用全局锁,并发量明显增长时改为按账号加锁

命令输出会说明:

  • 哪些地方采用了临时简化
  • 当前方案的能力上限
  • 什么情况下需要升级
  • 哪些注释缺少明确的升级条件

默认只读取和报告,不写入文件。

/ponytail-gain

显示 Ponytail 官方基准测试中的代码量、成本和速度数据。

这些数字来自公开基准测试,不代表当前项目实际节省的数据。

@ponytail-help

显示模式、命令和配置的快捷帮助。


5. 推荐使用流程

开发新功能

@ponytail 实现这个需求,优先复用项目已有能力,不增加非必要依赖。

Ponytail 会先阅读相关代码,再决定是否需要新增实现。

修复 Bug

@ponytail 查明根因并修复,不要只处理表面报错。

Ponytail 通常会检查相关函数的调用方,并尽量在共享入口修复一次。

检查本次修改

@ponytail-review 检查当前修改是否过度设计。

根据报告决定是否需要进一步执行修改。

检查整个项目

/ponytail-audit

适合定期清理依赖、包装层、单实现接口和废弃配置。

查看遗留的简化方案

/ponytail-debt

适合在版本发布或架构调整前检查此前主动留下的技术限制。


6. 它不会自动做什么

专项检查命令默认不会修改代码:

操作是否修改代码
@ponytail 执行开发需求
@ponytail-review不会
/ponytail-audit不会
/ponytail-debt不会
/ponytail-gain不会
@ponytail-help不会

如果希望应用检查结果,需要明确提出:

根据刚才的 ponytail-review 结果,修复前两项。

7. 关闭与恢复

关闭:

stop ponytail

或者:

normal mode

恢复默认模式:

/ponytail

8. 默认模式配置

默认模式是 full

可以通过环境变量设置:

export PONYTAIL_DEFAULT_MODE=ultra

或者使用配置文件:

{
  "defaultMode": "lite"
}

配置文件位置:

  • macOS/Linux:~/.config/ponytail/config.json
  • Windows:%APPDATA%\ponytail\config.json

支持的值:

lite
full
ultra
off

优先级为:

环境变量 > 配置文件 > 默认 full

9. 使用建议

日常开发使用 Full 即可。

只有在以下情况下才建议切换:

  • AI 经常质疑已经确定的需求:使用 Lite
  • 项目明显臃肿,需要强力精简:使用 Ultra
  • 只想检查本次改动:使用 ponytail-review
  • 想检查整个项目:使用 ponytail-audit

Ponytail 专注于减少不必要的复杂度。代码正确性、安全性和性能仍应通过正常代码审查和测试单独确认。