© 2026FindAgent  · @simprr
返回列表
c

can1357/oh-my-pi

⌥ AI Coding agent for the terminal — hash-anchored edits, optimized tool harness, LSP, Python, browser, subagents, and more

ai-agentai-coding-agentanthropicbunclaudeclicoding-assistantllmmcpmulti-provideropenairustterminaltuitypescript
⭐

2.4k

Stars

🔱

216

Forks

👁

10

Watchers

📋

67

Issues

TypeScriptMIT创建于 2025/12/31更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

oh-my-pi

终端 AI 编程智能体 — 支持哈希锚点编辑、优化的工具集、LSP、Python、浏览器、子智能体等功能。

由 @mariozechner 的 badlogic/pi-mono 分叉而来。

目录

  • 亮点
  • 安装
  • 入门指南
    • 终端设置
    • API Keys 与 OAuth
    • 前 15 分钟(推荐)
  • 使用方法
    • 斜杠命令
    • 编辑器功能
    • 键盘快捷键
    • Bash 模式
    • 图片支持
  • 会话管理
    • 会话管理
    • 上下文压缩
    • 分支处理
    • 自主记忆
  • 配置
    • 项目上下文文件
    • 自定义系统提示词
    • 自定义模型与提供商
    • 设置文件
  • 扩展功能
    • 主题
    • 自定义斜杠命令
    • 技能
    • 钩子 (Hooks)
    • 自定义工具
  • CLI 参考
  • 工具
  • 编程调用
    • SDK
    • RPC 模式
    • HTML 导出
  • 哲学理念
  • 开发
  • Monorepo 包
  • 许可证

亮点

+ Commit 工具 (AI 驱动的 Git 提交)

利用 AI 进行常规提交(Conventional Commits)生成及智能变更分析:

  • 智能体模式:基于工具的 git 检查,通过 git-overview、git-file-diff、git-hunk 进行细粒度分析。
  • 拆分提交:自动将不相关的更改分离为原子提交,并按依赖顺序排列。
  • Hunk 级暂存:当更改涉及多个关注点时,可对单个代码块(hunk)进行暂存。
  • 更新日志生成:提议并应用更新日志条目到 CHANGELOG.md 文件。
  • 提交验证:检测填充词、元短语,并强制执行常规提交格式。
  • 遗留模式:使用 --legacy 标志以获取确定性的流水线处理。
  • 通过 omp commit 运行,支持选项:--push, --dry-run, --no-changelog, --context。

+ Python 工具 (IPython 内核)

使用持久化的 IPython 内核和丰富的辅助预处理程序执行 Python 代码:

  • 流式输出:支持实时 stdout/stderr,包含图片和 JSON 渲染。
  • 预处理辅助程序:内置文件 I/O、搜索、查找/替换、行操作、Shell 和文本工具。
  • 行操作:提供 lines()、insert_at()、delete_lines()、delete_matching() 及相关辅助函数以实现精确编辑。
  • 共享网关:在会话间高效复用内核资源 (python.sharedGateway 设置)。
  • 自定义模块:从 .omp/modules/ 和 ~/.omp/agent/modules/ 加载扩展。
  • 富文本输出:支持 display() 以渲染 HTML、Markdown、图片和交互式 JSON 树。
  • Markdown 渲染:Python 单元格输出的 Markdown 内容可内联渲染。
  • Mermaid 图表:在 iTerm2/Kitty 终端中将 mermaid 代码块渲染为内联图像。
  • 通过 omp setup python 安装依赖。

+ LSP 集成 (Language Server Protocol)

提供类似 IDE 的完整代码智能支持,包括自动格式化和诊断:

  • 11 种 LSP 操作:diagnostics、definition、type_definition、implementation、references、hover、symbols、rename、code_actions、status、reload。
  • 保存时格式化:使用语言服务器的格式化程序(rustfmt、gofmt、prettier 等)自动格式化代码。
  • 写入/编辑时诊断:每次文件更改后立即获取语法错误和类型问题的反馈。
  • 工作区诊断:通过 lsp 操作 diagnostics 检查整个项目的错误(无需针对单个文件)。
  • 40+ 种语言配置:开箱即用,支持 Rust、Go、Python、TypeScript、Java、Kotlin、Scala、Haskell、OCaml、Elixir、Ruby、PHP、C#、Lua、Nix 等。
  • 本地二进制解析:自动发现在 node_modules/.bin/、.venv/bin/ 等路径下的项目本地 LSP 服务器。
  • 符号歧义消除:occurrence 参数可解决同一行上重复符号的问题。

+ 时间回溯流式规则 (TTSR)

无需消耗上下文的规则,仅在需要时注入:

  • 模式触发注入:规则定义正则触发器,监控模型的输出流。
  • 即时激活:当匹配到模式时,流会中止,规则作为系统提示注入,并重试请求。
  • 零预置成本:在真正相关之前,TTSR 规则不会消耗任何上下文。
  • 单会话一次触发:每个规则仅触发一次,防止循环。
  • 通过规则文件中的 ttsrTrigger 字段(正则表达式)进行定义。

示例:一条“不要使用已弃用的 API”规则仅在模型开始编写弃用代码时激活,从而为不涉及该代码的会话节省上下文。

贡献者
cbdnDmamwr
项目信息
默认分支main
LicenseMIT License
创建时间2025/12/31
最近更新今天
GAI 中文摘要

oh-my-pi 是一款专为终端设计的 AI 编程代理工具,旨在通过集成先进的语言模型和专业工具,为开发者提供沉浸式的智能辅助编程体验。它通过哈希锚定代码编辑、多模型支持以及自动代理机制,有效解决了终端环境下编码效率低下和上下文管理困难的问题。

支持基于哈希锚定的精准代码修改以确保编辑安全性。 内置优化的工具集,支持 LSP 协议、Python 脚本执行及浏览器自动化操作。 支持多模型与多提供商接入,并具备自主任务处理的子代理功能。 提供完善的会话管理、上下文压缩及分支记忆能力,确保复杂的开发任务能够持续推进。 具备高度的可扩展性,支持自定义系统提示词、自定义工具以及扩展钩子。

该项目非常适合习惯在终端环境下工作的软件工程师,尤其是在处理大型代码库、需要自动化执行复杂编码任务或寻求高效 AI 辅助开发的场景下表现出色。