OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  gptme — 能在终端中写代码、执行命令的个人 AI 助手

gptme — 能在终端中写代码、执行命令的个人 AI 助手

 
  model ·  2026-05-25 11:00:24 · 7 次点击  · 0 条评论  

gptme

/ʤiː piː tiː miː/
它代表什么?

快速开始下载网站文档

构建状态 文档构建状态 Codecov
PyPI 版本 PyPI - 总下载量 PyPI - 每日下载量
Discord X.com
 Powered by gptme

📜 一个个人AI代理,可在**任何有终端的地方运行**——你的笔记本电脑、SSH会话、tmux、无头服务器、CI流水线。
提供商无关、本地优先且不受限制:内置Shell、Python、Web、视觉以及代理所需的一切。
一个出色的编码代理,但功能通用,足以协助各种知识性工作。

免费且开源。兼容Anthropic、OpenAI、Google、xAI、DeepSeek、OpenRouter,或通过 llama.cpp 完全本地运行——你的数据、你的模型、你的终端。
一个功能强大的 替代方案 ,可替代Claude Code、Codex、Cursor和Warp——首批代理CLI之一(2023年春),至今仍在非常积极地开发中。

📚 目录

📢 新闻

  • 即将推出 - gptme.ai 云端运行代理的服务; gptme desktop 便于本地使用的桌面应用。
  • 2026-01 - gptme-agent-template v0.4: Bob 已作为自主代理广泛运行,自主运行循环,增强的上下文生成
  • 2025-12 - v0.31.0:后台作业、表单工具、成本跟踪、内容可寻址存储
  • 2025-11 - v0.30.0:插件系统、上下文压缩、子代理规划器模式
  • 2025-10 - v0.29.0:用于上下文指导的课程系统、MCP发现与动态加载、Token感知; Bob 开始通过GitHub监控进行自主运行
  • 2025-08 - v0.28.0:MCP支持、用于快速编辑的morph工具、自动提交、重新设计的服务器API
  • 2025-03 - v0.27.0:预提交集成、macOS电脑使用、Claude 3.7 Sonnet、DeepSeek R1、使用Kokoro进行本地TTS
  • 2025-01 - 创建了 gptme-contrib:社区插件,包括Twitter/X、Discord机器人、电子邮件工具、联盟(多代理)
  • 2024-12 - gptme-agent-template v0.3:用于持久代理的模板
  • 2024-11 - 生态系统扩展: gptme-webui, gptme-rag, gptme.vim, 创建了 Bob (首个自主代理)
  • 2024-10 - 首次病毒式推文 引起广泛关注
  • 2024-08 - Show HN,支持Anthropic Claude,tmux工具
  • 2023-09 - 在HN 首次公开发布, Reddit, Twitter
  • 2023-03 - 初始提交 - 首批代理CLI之一

更多历史信息,请参阅 时间线更新日志

🎥 演示

[!NOTE]
下面的屏幕录制来自2023年。gptme 从那以后已经发展了很多!
有关最新的示例和截图,请参阅 文档
我们正在努力实现自动化演示生成: #1554

斐波那契 贪吃蛇(curses)
[![使用 asciinema 的演示屏幕录制](https://github.com/ErikBjare/gptme/assets/1405370/5dda4240-bb7d-4cfa-8dd1-cd1218ccf571)](https://asciinema.org/a/606375)
步骤
  1. 创建一个新目录 'gptme-test-fib' 并执行 git init
  2. 编写一个斐波那契函数到 fib.py,提交
  3. 创建一个公共仓库并推送到 GitHub
[![621992-resvg](https://github.com/ErikBjare/gptme/assets/1405370/72ac819c-b633-495e-b20e-2e40753ec376)](https://asciinema.org/a/621992)
步骤
  1. 创建一个使用 curses 的贪吃蛇游戏到 snake.py
  2. 运行失败,让 gptme 修复一个 bug
  3. 游戏运行
  4. 让 gptme 添加颜色
  5. 遇到一些小困难
  6. 完成的游戏:绿色的蛇和红色的苹果派!
曼德勃罗(curses) 从URL回答问题
[![mandelbrot-curses](https://github.com/ErikBjare/gptme/assets/1405370/570860ac-80bd-4b21-b8d1-da187d7c1a95)](https://asciinema.org/a/621991)
步骤
  1. 使用 curses 渲染曼德勃罗到 mandelbrot_curses.py
  2. 程序运行
  3. 添加颜色
[![superuserlabs-ceo](https://github.com/ErikBjare/gptme/assets/1405370/bae45488-f4ed-409c-a656-0c5218877de2)](https://asciinema.org/a/621997)
步骤
  1. 传入网站 URL,询问 Superuser Labs 的 CEO 是谁
  2. gptme 浏览网站,并正确回答
终端 UI Web UI
特性
  • 强大的终端界面
  • 便捷的 CLI 命令
  • 差异与语法高亮
  • Tab 补全
  • 命令历史
特性
  • 从浏览器与 gptme 聊天
  • 访问所有工具和功能
  • 现代、响应式界面
  • 可自托管
  • 可在 chat.gptme.org 获取

你可以在 文档 中找到更多 演示示例

🌟 功能

  • 💻 代码执行
  • 使用 shellpython 工具在你的本地环境中执行代码。
  • 🧩 读取、编写和更改文件
  • 使用 patch 工具进行增量更改。
  • 🌐 搜索和浏览网页
  • 可以通过 Playwright 使用 browser 工具浏览网页。
  • 👀 视觉
  • 可以查看提示中引用的图像、桌面的屏幕截图和网页。
  • 🔄 自我纠正
  • 输出会反馈给助手,使其能够响应和自我纠正。
  • 📚 课程系统
  • 在相关时自动包含上下文指导性最佳实践。
  • 基于关键字、工具和模式的匹配。
  • 适应交互模式与自主模式。
  • 使用你自己的课程和 技能 进行扩展。
  • 🤖 支持众多 LLM 提供商
  • Anthropic (Claude), OpenAI (GPT), Google (Gemini), xAI (Grok), DeepSeek 等。
  • 使用 OpenRouter 访问 100+ 模型,或使用 llama.cpp 本地服务。
  • 🌐 Web UI 和 REST API
  • chat.gptme.org 上提供现代 Web 界面 (gptme-webui)
  • Python 包中包含简单的内置 Web UI。
  • 服务器 提供 REST API。
  • 提供使用 PyInstaller 构建的独立可执行文件。
  • 💻 电脑使用 (参见 #216)
  • 让助手访问完整的桌面,使其能够与 GUI 应用程序交互。
  • 🔊 工具音效 — 为不同的工具操作提供悦耳的提示音效。
  • 使用 GPTME_TOOL_SOUNDS=true 启用。

🛠 工具

gptme 为 AI 配备了丰富的内置工具:

工具 描述
shell 直接在终端中执行 Shell 命令
ipython 运行 Python 代码,可访问你已安装的库
read 读取文件和目录
save / append 创建或更新文件
patch / morph 对现有文件进行增量编辑
browser 通过 Playwright 搜索和浏览网页
vision 处理和分析图像
screenshot 捕获桌面截图
rag 从本地文件检索上下文(检索增强生成)
gh 通过 GitHub CLI 与 GitHub 交互
tmux 在持久终端会话中运行长时间运行的命令
computer 用于 GUI 交互的完整桌面访问
subagent 生成子代理以执行并行或隔离任务
chats 引用和搜索过去的对话

在对话中使用 /tools 可查看所有可用工具及其状态。

🔌 可扩展性:插件、技能与课程

gptme 拥有一个分层可扩展性系统,允许你根据工作流程进行定制:

[插件][docs-plugins] — 通过 Python 包使用自定义工具、钩子和命令扩展 gptme:

# gptme.toml
[plugins]
paths = ["~/.config/gptme/plugins", "./plugins"]
enabled = ["my_plugin"]

技能 — 轻量级工作流捆绑包(Anthropic 格式),在提及名称时自动加载。非常适合打包可重复使用的指令和辅助脚本,而无需编写 Python。

课程 — 基于关键词、工具和模式自动注入到对话中的上下文指导。编写你自己的课程以捕获团队最佳实践或领域知识。

[钩子][docs-hooks] — 在关键生命周期事件(工具调用前后、对话开始时等)运行自定义代码,而无需完整插件。

gptme-contrib — 社区贡献的插件、包、脚本和课程:

插件 / 包 描述
gptme-codegraph 使用 tree-sitter 进行结构化代码检索:9 个用于解析、调用图、爆炸/影响分析的 MCP 工具
gptme-consortium 多模型共识决策
gptme-imagen 多提供商图像生成
gptme-lsp 语言服务器协议集成
gptme-ace ACE 启发的上下文优化
gptme-gupp 跨会话的工作状态持久化

🔗 集成:MCP 与 ACP

[MCP (模型上下文协议)][docs-mcp] — 使用任何 MCP 服务器作为工具源:

pipx install gptme  # 默认包含 MCP 支持

gptme 可以发现并动态加载 MCP 服务器,使代理能够访问数据库、API、文件系统以及任何其他 MCP 兼容工具。有关服务器配置,请参阅 [MCP 文档][docs-mcp]。

[ACP (代理客户端协议)][docs-acp] — 直接从编辑器使用 gptme 作为编码代理:

pipx install 'gptme[acp]'

这使 gptme 可作为 Zed 和 JetBrains IDE 中的即插即用编码代理。你的编辑器发送请求,gptme 使用其完整的工具集(Shell、浏览器、文件等)执行,并将结果流式传回。

🤖 自主代理

gptme 不仅设计为交互式运行,还能作为持久的自主代理运行——一个持续运行、记住一切并随着时间的推移变得更好的 AI。 gptme-agent-template 提供了完整的支架:

  • 持久化工作空间 — 带有日志、任务、知识库和课程的 Git 跟踪“大脑”
  • 运行循环 — 定时 (systemd/launchd) 或事件驱动的自主操作
  • 任务管理 — 带有 YAML 元数据和 GTD 风格工作流的结构化任务队列
  • 元学习 — 课程系统捕获行为模式并随时间改进
  • 多代理协调 — 用于并发代理的文件锁定、消息总线和任务认领
  • 外部集成 — GitHub、电子邮件、Discord、Twitter、RSS 等
# 创建并运行你自己的代理
gptme-agent create ~/my-agent --name MyAgent
gptme-agent install   # 按计划运行
gptme-agent status    # 检查状态

Bob 是参考实现——一个自 2024 年底以来持续运行的生产级自主代理。Bob 打开 PR、审查代码、修复 CI、管理自己的任务队列、维护不断增长的行为课程,在 Twitter 上发帖,在 Discord 上回复,并撰写 博客文章

多个专门代理可以并行运行——例如 Bob(工程)和 Alice (个人助理与编排)——通过共享基础设施进行协调。

请参阅 自主代理文档 获取完整指南。

🛡 护栏

持久的代理需要在整个循环中设置护栏,而不仅仅是工具权限:

  • 输入护栏 — 代理工作空间中的结构化任务选择器使工作保持专注,并减少因通知或模糊工作导致的颠簸。Bob 为此层使用了 CASCADE 风格的选择器。
  • 行动前护栏课程 在代理行动前注入情境指导。
  • 输出护栏 — [钩子][docs-hooks] 和 预提交检查 在控制权返回给用户之前验证文件更改。

这个栈简单且可组合:选择器改进工作选择,课程引导行为,检查验证结果。你可以稍后在此基础上添加评估,但基线护栏循环已经存在。

🛠 用例

  • 🖥 开发: 在 AI 辅助下更快地编写和运行代码。
  • 🎯 Shell 专家: 使用自然语言获取正确的命令(不再需要记住标志!)。
  • 📊 数据分析: 直接在终端中处理和分析数据。
  • 🎓 交互式学习: 动手实验新技术或代码库。
  • 🤖 代理与工具: 为实际工作构建长期运行的自主代理。
  • 🔬 研究: 自动化文献综述、数据收集和分析流水线。

🛠 开发者福利

  • ⭐ 首批创建的代理 CLI 之一(2023 年春),仍在积极开发中。
  • 🧰 易于扩展
  • 大多数功能可以通过 工具、[钩子][docs-hooks] 和 [命令][docs-commands] 实现。
  • [插件][docs-plugins] 允许轻松打包扩展。
  • 努力保持 精简 ——最小核心,按需扩展。
  • 🧪 广泛测试,高覆盖率。
  • 🧹 干净的代码库,通过 mypyruffpyupgrade 进行检查和格式化。
  • 🤖 GitHub Bot 可以从评论请求更改! (参见 #16)
  • 在此仓库中运行! (参见示例 #18)
  • 完全在 GitHub Actions 中运行。
  • 📊 评估套件 用于测试不同模型的能力。
  • 📝 gptme.vim 用于与 vim 轻松集成。

🚧 开发中

  • 🖥 gptme-tauri — 封装 gptme 以便于本地使用的桌面应用(WIP)
  • ☁️ gptme.ai — 用于运行 gptme 代理的托管云服务(WIP;你仍然可以通过自行运行 gptme-server + gptme-webui 来自托管)
  • 🌳 基于树的对话结构 (参见 #17)
  • 📜 RAG 自动包含来自本地文件的上下文 (参见 #59)
  • 🏆 用于测试前沿能力的高级评估

🚀 快速开始

前提条件

  • Python 3.10 或更新版本
  • 至少一个 LLM 提供商的凭据:
  • OpenRouter 可以在 gptme 内通过 /account setup openrouter 使用浏览器 OAuth 入职进行交互式配置。
  • 你也可以手动设置 Anthropic (ANTHROPIC_API_KEY), OpenAI (OPENAI_API_KEY), OpenRouter (OPENROUTER_API_KEY) 和其他提供商的 API 密钥。
  • 通过 llama.cpp 的本地模型不需要密钥——请参阅 提供商文档

安装

有关完整的设置说明,请参阅 快速开始指南

# 使用 pipx (推荐,需要 Python 3.10+)
pipx install gptme

# 使用 uv
uv tool install gptme

# 使用可选附加组件
pipx install 'gptme[browser]'  # 用于网页浏览的 Playwright
pipx install 'gptme[all]'      # 所有功能

# 从 git 安装最新版本(包含所有附加组件)
uv tool install 'git+https://github.com/gptme/gptme.git[all]'

快速开始

gptme

你会看到一个提示符。输入你的请求,gptme 将使用工具进行响应。

示例命令

# 创建一个粒子效果可视化
gptme '使用 three.js 编写一个令人印象深刻且丰富多彩的粒子效果到 particles.html'

# 生成视觉艺术
gptme '将曼德勃罗集渲染到 mandelbrot.png'

# 获取配置建议
gptme '建议对我 vimrc 的改进'

# 处理媒体文件
gptme '转换为 h265 并调整音量' video.mp4

# 来自 git diff 的代码辅助
git diff | gptme '完成此 diff 中的 TODO'

# 修复失败的测试
make test | gptme '修复失败的测试'

# 自动批准工具确认(用户仍可观看和中断)
gptme -y '运行测试套件并修复任何失败的测试'

# 完全非交互/自主模式(无法进行用户交互,适用于脚本/CI)
gptme -n '运行测试套件并修复任何失败的测试'

# 机器可读的自动化输出(标准输出上的 JSONL)
gptme --non-interactive --output-format json '总结当前的 git diff'

更多信息,请参阅 快速开始 指南和 文档 中的 示例

⚙️ 配置

创建 ~/.config/gptme/config.toml

[user]
name = "用户"
about = "我是一个好奇的人类程序员。"
response_preference = "不要解释基本概念"

[prompt]
# 始终包含为上下文的附加文件
# files = ["~/notes/llm-tips.md"]

[env]
# 设置你的默认模型
# MODEL = "anthropic/claude-sonnet-4-20250514"
# MODEL = "openai/gpt-4o"

所有选项请参阅 配置文档

🛠 用法

$ gptme --help
用法: gptme [OPTIONS] [PROMPTS]...

  gptme 是一个 LLM 的聊天 CLI,赋予它们运行 shell 命令、执行代码、读取和操作文件等能力。

  如果提供了 PROMPTS,将使用它开始一个新的对话。可以使用 '-' 分隔符链接 PROMPTS。

  界面提供可用于与系统交互的用户命令。

  可用命令:
    /undo         撤销上一个操作
    /log          显示对话日志
    /edit         在编辑器中编辑对话
    /rename       重命名对话
    /fork         创建对话副本
    /summarize    总结对话
    /replay       重放工具操作
    /export       将对话导出为 HTML
    /model        显示或切换当前模型
    /models       列出可用模型
    /tokens       显示 Token 使用和成本
    /context      显示上下文 Token 细分
    /tools        显示可用工具
    /commit       要求助手进行 git 提交
    /compact      压缩对话
    /impersonate  模拟助手
    /restart      重启 gptme 进程
    /setup        设置 gptme
    /help         显示此帮助消息
    /exit         退出程序

  查看所有命令的文档:https://gptme.org/docs/commands.html

  键盘快捷键:
    Ctrl+X Ctrl+E  在编辑器中编辑提示
    Ctrl+J         插入新行而不执行提示

选项:
  --name TEXT            对话名称。默认为生成随机名称。
  -m, --model TEXT       要使用的模型,例如 openai/gpt-5, anthropic/claude-
                          sonnet-4-20250514。如果只给定了提供商,则使用默认模型。
  -w, --workspace TEXT   工作区目录路径。传递 '@log' 以在日志目录中创建工作区。
  --agent-path TEXT      代理工作区目录路径。
  -r, --resume           加载最近的对话。
  -y, --no-confirm       跳过所有确认提示。
  -n, --non-interactive  非交互模式。隐含 --no-confirm。
  --output-format [text|json]
                         非交互模式的输出格式。'json' 在标准输出上每行发出一个 JSON 对象。
  --system TEXT          系统提示。选项:'full', 'short', 或自定义内容。
  -t, --tools TEXT       允许的工具,用逗号分隔。可用:
                         append, browser, chats, choice, computer, gh,
                         ipython, morph, patch, rag, read, save, screenshot,
                         shell, subagent, tmux, vision。
  --tool-format TEXT     使用的工具格式。选项:markdown, xml, tool
  --no-stream            不流式传输响应
  --show-hidden          显示隐藏的系统消息。
  -v, --verbose          显示详细输出。
  --version              显示版本和配置信息
  --help                 显示此消息并退出。

当标准输出需要机器可读时(例如在 CI 或监控进程中),请将 --non-interactive--output-format json 配对。使用 --resume 继续现有的自动化对话或在不传递新提示的情况下拾取排队中的后续提示。

🌍 生态系统

gptme 不仅仅是一个 CLI——它是一个拥有不断发展的生态系统的平台:

项目 描述
gptme-webui 现代 React Web 界面,可在 chat.gptme.org 获取
gptme-contrib 社区插件、包、脚本和课程
gptme-codegraph 使用 tree-sitter 的结构化代码检索(用于代码图分析的 9 个 MCP 工具)
gptme-agent-template 用于构建持久化自主代理的模板
gptme-rag 用于对本地文件进行语义搜索的 RAG 集成
gptme.vim 用于编辑器内 gptme 集成的 Vim 插件
gptme-tauri 桌面应用 (WIP)
gptme.ai 托管云服务 (WIP)

由 gptme 驱动的社区代理:
- Bob — 自主 AI 代理,自 2024 年底以来持续运行,为开源项目做贡献并管理自己的任务
- Alice — 个人助理和代理编排器,基于相同架构分支

💬 社区

欢迎贡献!请参阅 贡献指南

📊 统计数据

⭐ 随时间变化的 Star 数

随时间变化的 Star 数

📈 下载统计

🔗 链接

7 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 30 ms
Developed with Cursor