我是如何停止为Cursor付费并在终端中构建自己的AI Agent的

当流行的AI编辑器再次涨价并削减Claude的使用限额时,开发者Mark Pfaffenberger怒了。于是他自己写了工具。这就是Code Puppy的由来——一个用API密钥轮换和深度定制替代Cursor和Windsurf等封闭IDE的终端AI Agent。
该项目目前在GitHub上约有740颗星,但功能值得关注。它是一个灵活的终端客户端,支持API密钥轮换、故障时会话持久化以及深度定制。
为什么需要终端Agent
如果你在终端工作,又不想一直开着笨重的Electron编辑器,拖着一堆庞大的插件会很繁琐。Code Puppy只需一条命令即可从任何文件夹启动,并立即理解项目结构。
你可以自己选择神经网络、配置系统提示词,并决定数据发送到哪里。
主要功能
让我们来看看值得关注的功能。
通过模型轮换绕过限制
每分钟请求限制在处理复杂任务时最令人烦恼。Code Puppy通过内置的Round Robin算法解决这一问题。你可以指定多个API密钥,工具会在它们之间循环切换。
配置位于配置文件中:
{
"qwen1": {
"type": "cerebras",
"name": "qwen-3-coder-480b",
"custom_endpoint": {
"url": "https://api.cerebras.ai/v1",
"api_key": "$CEREBRAS_API_KEY1"
}
},
"qwen2": {
"type": "cerebras",
"name": "qwen-3-coder-480b",
"custom_endpoint": {
"url": "https://api.cerebras.ai/v1",
"api_key": "$CEREBRAS_API_KEY2"
}
},
"cerebras_round_robin": {
"type": "round_robin",
"models": ["qwen1", "qwen2"],
"rotate_every": 5
}
}
一个密钥请求了五次后,工具会无停顿地切换到下一个。
访问数十个提供商
得益于与models.dev的集成,你无需手动为稀有神经网络指定端点。命令会在终端中打开一个交互式TUI菜单。你可以从大量提供商中选择:Groq、Cohere、Mistral、xAI等。
如果网络连接中断,客户端会切换到内置的离线模型数据库。
使用DBOS实现容错
在长时间代码生成过程中,偶尔会出现问题:网络断开或终端窗口意外关闭。DBOS插件会在每一步保存检查点。函数调用、模型响应和上下文都会被记录到本地数据库。
重启后,你可以从崩溃的确切位置恢复会话。
JSON格式的自定义Agent
你可以为特定任务创建配置文件。例如,构建一个只允许读取文件和grep搜索的代码审查Agent。
配置文件放在agents目录中:
{
"name": "code-reviewer",
"display_name": "Code Reviewer",
"description": "Проверяет код на ошибки и безопасность",
"system_prompt": [
"Ты опытный инженер, проводящий ревью кода.",
"Обращай внимание на безопасность и поддерживаемость.",
"Предлагай конкретные исправления."
],
"tools": ["list_files", "read_file", "grep", "agent_share_your_reasoning"]
}
在工作期间可以通过命令切换Agent。
零数据收集
作者特意放弃了分析和遥测。没有提示词、文件路径或调用日志会离开项目服务器。
使用Ollama或vLLM时,数据根本不会离开你的电脑。
如何尝试
运行它需要Python 3.11或更高版本。最快的启动方式是使用:
uvx code-puppy
启动后,你需要输入所用LLM的密钥或指定本地端点。
适用人群
这个工具个性鲜明且独特。默认情况下,Agent相当有脾气,拒绝修改超过600行的代码,迫使你及时进行重构。
该项目会受到热爱CLI工具、不想支付月度订阅、喜欢自己控制API令牌支出的用户的青睐。
相关项目