oh-my-pi:终端里的 AI 编程伙伴

一、为什么你需要一个终端 AI Agent #
AI 编程工具正在经历一场范式分化。一条线走向「编辑器内嵌」——Cursor、GitHub Copilot、Windsurf,核心价值是写代码时实时补全和重构;另一条线走向「终端 Agent」——Claude Code、OpenAI Codex CLI、oh-my-pi(下称 omp),核心价值是你给一个指令,Agent 自主完成多步骤的代码操作。
这不是「谁更好」的问题,而是适用场景不同:
| 维度 | 编辑器内嵌 AI | 终端 AI Agent |
|---|---|---|
| 交互模式 | 逐行补全 + 即时对话 | 指令驱动 + 自主执行 |
| 擅长 | 写新代码、局部重构 | 跨文件修改、项目级操作 |
| 上下文 | 当前文件 + LSP | 整个代码库 + git 历史 |
| 典型场景 | “帮我补全这个函数” | “把所有 API 调用迁移到 v2” |
而 omp 在 v17 这一代做了件少有人做的事:把整套工具链用 Rust 100k 行重写并内嵌进进程。ripgrep 不再 fork-exec,glob 不再 fork-exec,连 bash 都是自带的 brush shell(67 个内建命令)。这意味着:
- Windows 原生支持,无需 WSL——这个以前是终端 Agent 的耻辱柱,现在被 omp 抹掉了
- 跨平台性能一致:macOS、Linux、Windows 跑同一个
omp二进制,体验完全一样 - 工具调用延迟从几十毫秒降到亚毫秒级
而 Claude Code 绑定 Anthropic 生态、Codex CLI 工具链偏简单。omp 走的是另一条路——LSP / DAP / 14 种 provider / 60+ 模型 / 双内核 eval / 8 个内置 subagent / TTSR 流式规则——这些能力凑在一起,才是「终端里的 AI 编程伙伴」应有的样子。
我日常用 omp 做编程自动化和办公自动化任务,这篇文章是我三个月的使用指南——不是翻译 README,而是把最有价值的能力、最实用的配置、最容易踩的坑整理出来。对应版本:v17.3.4(2026 年 8 月)。
二、安装与初始配置 #
2.1 安装 #
omp 的运行时是 Bun(不是 Node.js),v17 支持五种安装方式:
| |
Windows 用户(无需 WSL):
| |
Alpine/musl 注意事项:预编译 musl 二进制动态链接 libstdc++/libgcc,Alpine 默认不带,先装:
| |
安装后运行 omp 进入交互式 TUI。
2.2 终端适配 #
omp 使用 Kitty 键盘协议 实现可靠的修饰键检测。这直接影响 Shift+Enter 换行、快捷键等核心交互:
| 终端 | 适配情况 |
|---|---|
| Kitty | ✅ 开箱即用 |
| iTerm2 | ✅ 开箱即用 |
| Ghostty | ⚠️ 需配置 keybind(见下) |
| WezTerm | ⚠️ 需启用 enable_kitty_keyboard |
| Windows Terminal | ✅ 原生支持(v17 改进) |
Ghostty 配置(~/.config/ghostty/config):
keybind = alt+backspace=text:\x1b\x7f
keybind = shift+enter=text:\n
WezTerm 配置(~/.wezterm.lua):
| |
2.3 API Key 配置(60+ Provider) #
v17 把 provider 数从 8 个扩展到 60+,覆盖几乎所有主流模型服务。
方式一:环境变量(适合多 Provider、CI/CD 场景)
| |
方式二:/login 交互式认证(适合 OAuth 订阅)
在 omp TUI 中输入 /login,支持 30+ Provider 的 OAuth 流程,包括:
- Anthropic(Claude Pro/Max)
- ChatGPT Plus/Pro
- GitHub Copilot
- Google Cloud Code Assist(Antigravity)
- Cursor
- OpenAI Codex(含 Cyber policy 多账号轮转)
凭证存储在 ~/.omp/agent/agent.db,同一 Provider 的 API Key 凭证优先于 OAuth。v17 新增 sibling account 轮转——配置多个账号时,限流/拒绝时会自动尝试下一个账号,不会因一个账号被限而整个任务卡住。
2.4 模型角色分配 #
omp 的设计亮点是按角色分配不同模型,而不是一刀切用一个模型。在 TUI 中输入 /model 交互式配置:
| 角色 | 用途 | v17 推荐模型 |
|---|---|---|
default | 日常编码、文件操作 | claude-sonnet-4-6 / gpt-5.5 |
smol | 快速探索、轻量任务(省 token) | claude-sonnet-4-6 / gpt-4o-mini / deepseek-v4-flash |
slow | 深度推理、复杂 debug | claude-opus-4-6 / gpt-5.5-pro |
plan | 计划模式(/plan)专用 | claude-opus-4-6:high / o3:high |
commit | commit 消息生成 | 同 default 即可 |
advisor | 第二审阅模型(v17 新增) | 用便宜模型即可,e.g. gpt-4o-mini |
环境变量快速覆盖:
| |
配置持久化到 ~/.omp/agent/config.yml。
2.5 Shell Completions #
v17 起 omp 自动生成 bash/zsh/fish 补全脚本,命令、子命令、模型名(--model / --smol / --slow / --plan)都从 live 元数据生成,永不漂移:
| |
三、核心能力实战 #
3.1 Hashline 编辑——不再被 str_replace 折磨 #
用过 Claude Code 的人都知道,AI 改代码最令人崩溃的不是改错逻辑,而是 str_replace 找不到目标字符串。多一个空格、少一个缩进、文件已经变了但 AI 还在用旧内容匹配——这些都是日常。
omp 的 Hashline 机制给每一行生成一个短内容哈希锚点(4-hex tag + xxHash32 + whole-file snapshot),AI 引用锚点定位而不是复制原文。v17 在 hashline 上做了进一步加固:anchor 失效(文件被外部修改过)时,patch 在落地前被拒绝,避免静默写入错位位置。
效果(来自 omp 公开的 16 模型 / 180 任务 / 3 轮 benchmark):
| 模型 | 指标 | 含义 |
|---|---|---|
| Grok Code Fast 1 | 6.7% → 68.3% | 十倍提升,第一次 edit 就过的概率 |
| Gemini 3 Flash | +5 pp | 比传统 str_replace 高 5 个百分点 |
| Grok 4 Fast | −61% 输出 tokens | 不再浪费在重试循环上 |
| MiniMax | 2.1× pass rate | 用你的模型跑出的提升 |
对你来说,AI 改代码不再因为格式差异而反复失败——一次改对的概率大幅提升,token 消耗同步下降。
3.2 LSP 集成——终端里享受 IDE 级智能 #
这是 omp 区别于其他终端 Agent 最核心的能力之一。通过 Language Server Protocol,omp 在终端里获得了 IDE 级别的代码理解,v17 支持 14 个 LSP 操作 + 53 个 language server:
| LSP 操作 | 说明 |
|---|---|
diagnostics | 实时语法/类型检查 |
definition | 跳转到定义 |
type_definition | 跳转到类型定义 |
implementation | 跳转到实现 |
references | 查找所有引用 |
hover | 悬停类型信息 |
symbols | 工作区符号搜索 |
rename | 重命名符号(含 willRenameFiles) |
code_actions | 代码操作(自动修复等) |
v17 的 rename 走的是 workspace/willRenameFiles——意思是 AI 要重命名 formatBytes,LSP server 会先拿到所有引用,告诉 omp「这个文件要改、那个文件也要改」,然后 omp 一次性把所有 re-exports / barrel files / aliased imports 一起更新,重命名操作不再需要人工补漏。
实际体验中最有用的两个:
- Format-on-write:AI 每次写完/改完文件后自动用 LSP 的 formatter 格式化(rustfmt、gofmt、prettier 等)
- Diagnostics on write:AI 改完文件立刻跑一遍诊断,语法错误、类型错误当场发现当场修
开箱支持 53 个语言(Rust、Go、Python、TypeScript、Java、Kotlin、Haskell、Ruby……),自动发现项目本地的 LSP Server(node_modules/.bin/、.venv/bin/ 等),无需手动配置。
3.3 Eval——双内核 + Tool-Calling Bridge #
v17 把原来的「Python Tool」重塑为 eval:持久化的 Python 内核 加 持久化的 Bun JS Worker,两个内核都能回调 agent 自己的工具(read / write / display / tool.<name>)。这意味着一个数据科学任务里:
| |
| |
两个内核共享同一个 session——df 还在内存里,JS 这边能拿到(通过 callback bridge)。pandas 在 Python 里读,图表在 JS 里画,永远不需要离开 cell。
eval 还预装了大量 helper:文件 I/O、搜索、行级编辑(lines()、insert_at()、delete_lines()),以及 magic 命令:
| Magic | 含义 |
|---|---|
%pip | 内联 pip install |
%time | 单行计时 |
%%bash | cell 内 bash 执行 |
!cmd | shell shortcut |
display() 渲染 HTML、Markdown、图片,Mermaid 图表在 iTerm2/Kitty/Ghostty 中直接渲染(v17 新增 SIXEL 图像协议支持——PNG/JPEG/WebP/GIF 都能在终端内解码)。
安装依赖:
| |
3.4 Task Subagent——8 Agent + IRC Channel + Schema-Validated Yield #
当你面对大型任务(“审查整个代码库的安全问题”),单 Agent 的上下文窗口撑不住。v17 的 task 工具派生子 Agent 并行执行,并提供结构化的返回值——父 Agent 拿到的是 schema-validated 对象,不是散文。
8 个内置 Agent 角色:
| Agent | 专长 |
|---|---|
explore | 代码库探索、文件搜索 |
plan | 架构规划、任务拆解 |
designer | 设计方案 |
reviewer | 代码审查(可进一步派生 explore Agent) |
task | 通用任务执行 |
quick_task | 轻量快速任务 |
scout | 异步侦察,keep-alive 后台运行 |
advisor | 第二模型实时审阅(v17 独立成 agent) |
关键 v17 新特性:
- IRC channel:subagent 之间通过
channel.send()/channel.broadcast()通信,可 DM 单个 peer 或 broadcast 给所有 sibling,协作不再只能父 → 子单向 - Schema-validated yield:子 agent 用
yieldResult(z.object({...}))返回结构化数据,父 agent 直接拿对象,不需要 parse 散文 - 8 种隔离后端:默认 CoW-first(APFS clones / btrfs reflinks / zfs reflinks / overlayfs / projfs / rcopy),
isolated: true在隔离 workspace 里运行不影响主工作区 - 默认并发 32:可设
0 = unlimited,适合大批量侦察任务 - Keep-alive:scout agent 完成后进入 parked 状态不立即销毁,可被后续任务拉起复用
配置示例(~/.omp/agent/config.yml):
| |
3.5 Commit——Atomic Splits + Validated Messages #
omp commit 不只是写一条 commit message,而是一套完整的 commit 工作流:
- Agentic 分析:用
git-overview→git-file-diff→git-hunk三级递进,精细理解每处改动 - Atomic 自动拆分(v17 强化):检测到不相关的改动时,自动拆分为多个 atomic commit 并按依赖排序
- Hunk 级暂存:改动跨多个关注点时,按 hunk 分别暂存
- Changelog 生成:自动为
CHANGELOG.md追加条目 - 格式校验:检测废话词汇、元描述,强制 conventional commit 格式
| |
3.6 Web Search——14 Provider Chain + 专用 Extractor #
v17 的 web_search 把搜索结果链式 fallback 到 14 个 provider(Exa、Brave、Jina、Perplexity、Gemini、Codex、Tavily、Serp、Kagi……),并对结果做专用抽取:
| 站点类型 | 抽取器 | 输出 |
|---|---|---|
| arxiv | arxiv extractor | PDF → markdown,含锚点 |
| GitHub | repo / issue / PR 解析 | 结构化 markdown |
| Stack Overflow | question/answer 抽取 | 干净答案 |
| npm / PyPI / crates.io | registry 解析 | 包元信息 + README |
| NVD / OSV / CISA | CVE 抽取 | 结构化漏洞条目 |
| |
返回的是带锚点的 markdown,cite / follow / quote 全套可用,同一个 read 工具同时处理本地文件和远程 URL。
3.7 ★ NEW: DAP 调试器——终端里 Attach 真实调试器 #
v17 最大新能力之一。把 28 个 DAP(Debug Adapter Protocol)操作带到终端:
| 场景 | Adapter | 操作 |
|---|---|---|
| C 二进制 segfault | lldb-dap | attach → step → frame 读取 |
| Go 服务 hang | dlv | attach → goroutines 遍历 |
| Python 进程卡死 | debugpy | attach → pause → evaluate |
这是其他终端 Agent 还没有的能力——Claude Code / Codex CLI 还在 print debugging,omp 已经能直接 attach 一个真实的调试器走栈帧。
| |
实际场景:一个 C 程序段错误,AI 不用读源码猜哪里越界——它直接 attach lldb-dap <pid>,跑到段错误位置,读取 frame 里的局部变量,x = 57351 这种「7 ^ (7<<13) 的结果」直接拿到,立刻知道是 xorshift32 的中间态。
3.8 ★ NEW: Advisor——第二模型实时审阅每个 Turn #
v17 的 advisor 角色是一个独立模型,读取主 agent 的每个 turn 并实时插入批注:
| Severity | 含义 |
|---|---|
aside | 提示性观察,不强制行为 |
concern | 问题提示,主 agent 应解释或修正 |
blocker | 严重错误,必须停下来 |
配置示例:
| |
advisor 跑在独立上下文 + 独立模型上,能抓到 doer 赶进度时跳过的细节。比如主 agent 把 catch 改成 catch (e) {} 静默吞错,advisor 立刻插一条 concern:「用户要求是 ENOENT 才吞,不是所有异常都吞」。doer 看到批注,要么修正要么解释为什么不——多模型协同的成本远低于一次返工。
3.9 ★ NEW: /review——P0-P3 + Confidence 评分 + Verdict #
/review 是 v17 引入的专用审查命令,针对单个分支、单个 commit 或 uncommitted 工作区:
| |
/review 内部派生 reviewer subagent 并行扫,每个发现都打分:
| 维度 | 取值 |
|---|---|
| Priority | P0(阻塞发布)/ P1 / P2 / P3 |
| Confidence | 0-100,越高越确定 |
| Verdict | correct / incorrect |
实际用法:先扫 P0/P1——这些是阻塞发布的,必须修;P2/P3 留到空闲时处理;confidence < 50 的条目经常是误报,可以扫一眼就关掉。
3.10 ★ NEW: Collab——分享链接或 QR 码,实时协作 #
/collab 把当前 live session 放到 relay 上,返回一个链接 + 二维码:
| |
队友可以:
- 用
omp join <token>从另一个终端加入 - 或者直接用浏览器打开链接(默认 relay 是
my.omp.sh)
| 维度 | 详情 |
|---|---|
| 加密 | AES-256-GCM,密钥在客户端,relay 看不到 |
| 模式 | read-write(双方都能操作)/ view-only(只旁观) |
| 传输 | wss(WebSocket Secure) |
| 实用场景 | pair programming、远程 code review、给同事演示 agent 工作流 |
安全模型:frames 是 client-side sealed 的,relay 只负责转发密文——这意味着即使 relay 被攻破,攻击者拿到的也是密文。
3.11 ★ NEW: GitHub as Filesystem——read 一把梭 #
其他 harness 都给 agent 单独造 gh_issue_view / gh_pr_view / gh_search 工具,每个都有自己的参数集要学。omp 走了一条不同路:read 工具已经知道怎么处理路径,PR 就是路径:
| |
| Scheme | 用途 |
|---|---|
issue://<n> | Issue 详情 |
pr://<n> | PR 元数据 |
pr://<n>/diff/<m> | PR 的第 m 个 hunk |
github://<owner>/<repo> | 整个仓库浏览 |
listing 参数:?state / ?limit / ?author / ?label,sqlite 后端带 soft + hard TTL 缓存,后台 refresh 不阻塞 agent。
好处:agent 不需要学习一组新工具,read 一个 scheme 就行;你 debug agent 行为时也不需要追一堆 gh_* 工具的实现。
四、进阶:让 OMP 适配你的工作流 #
4.1 配置文件体系详解 #
omp 的配置遵循用户级全局 + 项目级覆盖的两层结构。理解这套体系是高效使用 omp 的前提。
目录结构总览 #
~/.omp/ ← 用户级根目录
├── agent/
│ ├── config.yml ← 全局配置(核心!)
│ ├── models.yml ← 自定义 Provider/模型定义
│ ├── SYSTEM.md ← 自定义系统提示词
│ ├── AGENTS.md ← 全局项目指令
│ ├── agent.db ← 凭证数据库(/login 产生)
│ ├── sessions/ ← 会话文件存储
│ ├── memories/ ← mnemopi 记忆存储(v17)
│ ├── skills/ ← 用户级 Skills
│ │ └── <skill-name>/
│ │ └── SKILL.md
│ ├── commands/ ← 用户级自定义 Slash Commands
│ │ ├── <name>.md ← Markdown 命令
│ │ └── <name>/index.ts ← TypeScript 命令
│ ├── hooks/ ← 用户级 Hooks
│ │ ├── pre/*.ts
│ │ └── post/*.ts
│ ├── tools/ ← 用户级自定义 Tools
│ │ └── <name>/index.ts
│ ├── agents/ ← 用户级自定义 Agent 定义
│ ├── themes/ ← 自定义主题
│ │ └── *.json
│ └── logs/ ← 调试日志(按天轮转)
.omp/ ← 项目级配置(在项目根目录下)
├── settings.json ← 项目级设置覆盖
├── SYSTEM.md ← 项目级系统提示词(优先于全局)
├── AGENTS.md ← 项目指令(编码规范、架构文档等)
├── skills/ ← 项目级 Skills
├── commands/ ← 项目级 Slash Commands
├── hooks/ ← 项目级 Hooks
├── tools/ ← 项目级自定义 Tools
└── agents/ ← 项目级 Agent 定义
config.yml 完整配置参考 #
这是 omp 最核心的配置文件,位于 ~/.omp/agent/config.yml。以下是一个生产级配置的详细注释版:
| |
models.yml 自定义 Provider #
接入 OpenAI 兼容的第三方服务(本地 Ollama、vLLM、中转站等),在 ~/.omp/agent/models.yml 中定义:
| |
项目级配置覆盖 #
在项目根目录创建 .omp/settings.json,覆盖全局配置:
| |
AGENTS.md 项目指令 #
AGENTS.md 是 omp 发现项目上下文的核心文件:
| |
4.2 Skills 系统——能力包按需加载 #
Skill 是一个文件系统目录,包含一个 SKILL.md 描述文件,按需注入 AI 上下文:
~/.omp/agent/skills/
├── brave-search/
│ ├── SKILL.md
│ └── references/tables.md
└── postgres/
├── SKILL.md
└── scripts/
SKILL.md 格式:
| |
关键行为:
description是匹配关键——Agent 根据描述判断是否加载该 Skill- Agent 用
read skill://<name>按需读取 Skill 内容,不浪费上下文 /skill:<name> [args]可手动触发 Skill 注入- Skill 目录下的关联文件通过
skill://<name>/references/xxx.md访问
4.3 Universal Config Discovery——v17 扩展到 8 个工具 #
omp 会自动发现并加载 8 种 AI 编程工具的配置——你团队上季度写的 Cursor rules / Claude Code MCP / Cline rules 不需要迁移,直接复用:
| 工具 | 发现内容 | 配置目录 |
|---|---|---|
| Claude Code | MCP servers, rules, skills, hooks, commands | .claude/ |
| Cursor | MDC frontmatter, rules | .cursor/ |
| Windsurf | Rules | .windsurf/ |
| Codex | AGENTS.md | .codex/ |
| Gemini | system.md | .gemini/ |
| Cline | .clinerules | .cline/ |
| GitHub Copilot | applyTo globs | .github/ |
| VS Code | Prompts, context | .vscode/ |
通过 /extensions 可以查看和管理所有发现的配置项,按 Provider 筛选、按条目启禁用。每个条目带 _source / _shadowed / priority 三个属性,冲突时优先级明确——不用猜谁覆盖谁。
4.4 自定义 Slash Commands #
两种格式:
Markdown 命令(简单模板):
~/.omp/agent/commands/review-staged.md:
| |
TypeScript 命令(完整 API 访问):
~/.omp/agent/commands/deploy/index.ts:
| |
参数占位符(Markdown 命令):$1、$2 位置参数,$@ / $ARGUMENTS 全部参数。
4.5 Hooks——事件驱动的运行时拦截 #
Hook 是 TypeScript 模块,可以拦截和修改 Agent 的行为:
~/.omp/agent/hooks/pre/sudo-guard.ts:
| |
Hook 位置:
- 全局:
~/.omp/agent/hooks/pre/*.ts、~/.omp/agent/hooks/post/*.ts - 项目:
.omp/hooks/pre/*.ts、.omp/hooks/post/*.ts - CLI:
--hook <path>
4.6 自定义 Tools——扩展 Agent 的工具箱 #
~/.omp/agent/tools/greet/index.ts:
| |
4.7 ★ Memory——v17 mnemopi 引擎 #
旧版的 memory 是「扫描历史会话 → 提取事实 → 注入 MEMORY.md」,v17 重塑为 mnemopi——一个独立的本地 SQLite + 向量嵌入 + 图(graph)引擎:
| 维度 | 旧版 | v17 mnemopi |
|---|---|---|
| 存储 | MEMORY.md 文本 | SQLite + 向量嵌入 + graph |
| 工具 | 自动扫描 | retain / recall / reflect / memory_edit |
| 作用域 | 全局 | global / per-project / tagged |
| 跨 subagent | 不支持 | delegated subagent 继承父的 memory state |
四个工具的语义:
| |
实际体验:agent 在长 session 里学到的项目约定,可以用 retain 显式存下来,下一次启动直接 recall 拿到。subagent 也能继承父的 memory——意味着你派出去的 explorer 看到的事实,planner 也看得到,不再需要把所有上下文塞到 prompt 里。
配置:
| |
五、实用技巧与最佳实践 #
5.1 Session 管理 #
Session 是 omp 的核心工作单元,存储为 JSONL 格式的树结构:
| |
会话自动保存到 ~/.omp/agent/sessions/(按工作目录分组)。
上下文压缩——长会话上下文窗口不够用时:
| |
分支——从历史消息分叉出新会话:
/tree:浏览会话树,支持搜索和过滤/branch//fork:从选定消息创建新会话
交接——把当前会话的上下文交接给新会话:
| |
5.2 /plan 模式的正确用法 #
/plan 切换计划模式——让 Agent 先想清楚再做,避免"边做边改"的返工循环:
- 输入
/plan开启 - 描述需求,Agent 生成实施方案
- 审查方案,提出修改
- 满意后关闭
/plan,Agent 按方案执行
计划模式使用的模型由 modelRoles.plan 控制,建议配置为最强的推理模型。
5.3 Bash Mode 快捷执行 #
在提示词中用 ! 前缀直接执行 shell 命令:
| |
实时流式输出,按 Escape 取消。
5.4 TUI 快捷键速查 #
最常用:
| 快捷键 | 功能 |
|---|---|
Shift+Enter | 多行输入 |
Escape | 取消/中断 |
Ctrl+P | 切换模型角色(slow/default/smol) |
Ctrl+L | 打开模型选择器 |
Ctrl+R | 搜索历史提示词 |
Ctrl+T | 展开/折叠 Todo 面板 |
Ctrl+O | 展开/折叠工具输出 |
Ctrl+G | 用外部编辑器编辑消息 |
Ctrl+D | 保存草稿并退出(v17 修正了 /hotkeys 文案) |
Tab | 路径补全 / @ 文件引用 |
Shift+Tab | 切换思考深度 |
5.5 omp stats 本地用量看板 #
| |
查看 API 请求数、费用、缓存命中率、token 吞吐量等指标——所有数据本地存储,不上传任何信息。
5.6 主题切换 #
65+ 内置主题,支持自动暗/亮切换:
| |
或在 config.yml 中配置:
| |
自定义主题放在 ~/.omp/agent/themes/*.json。
5.7 omp CLI 子命令 #
| 子命令 | 功能 |
|---|---|
omp commit | AI 驱动的 git commit(atomic split + validated msg) |
omp config | 管理 settings(list/get/set/reset/path) |
omp grep | 基于 ripgrep 的文件内容搜索(in-process) |
omp jupyter | Jupyter 内核管理(v17 eval 双内核) |
omp plugin | 插件管理(install/enable/configure/doctor) |
omp search / omp q | 快速 Web 搜索(14 provider chain) |
omp setup | 安装可选依赖(如 omp setup python) |
omp shell | 非交互式 shell(用 brush bash) |
omp ssh | SSH 主机管理 |
omp stats | 本地用量 Dashboard |
omp update | 检查更新 |
omp acp | Agent Client Protocol 模式(Zed 集成) |
omp completions <shell> | 生成 shell 补全脚本 |
5.8 嵌入式入口(v17 四种 wrapper) #
同一个引擎,v17 提供了四种 wrapper:
| |
Node/TypeScript 嵌入 SDK:
| |
总结 #
oh-my-pi 的核心价值不是「又一个终端聊天机器人」,而是一套让 AI 真正在终端里完成多步骤工程任务的工具链——Hashline 让编辑精准,LSP + DAP 让 AI 看到类型和诊断,Subagent 让大项目不再撑爆上下文,mnemopi 让知识跨会话积累,TTSR 让规则零成本注入,Collab 让协作者实时加入同一个 session,GitHub-as-FS 让 agent 不需要学一组 gh_* 工具。
v17 这一代最关键的升级:
- 双内核 eval + tool-calling bridge——一个 cell 里 Python 读数据、JS 画图表,内核还能回调 agent 工具
- DAP 调试器——attach lldb-dap / dlv / debugpy,终端里也能像 IDE 一样 step
- Advisor 第二模型——便宜 reviewer 实时抓 doer 的细节漏洞
- /review P0-P3——结构化审查,confidence + verdict 一目了然
- Collab AES-256-GCM 端到端——协作链接 + QR 码,relay 看不到内容
- GitHub-as-FS——
read pr://456/diff/2一把梭,agent 不学新工具 - Windows 原生 + 100k 行 Rust——不用 WSL,跨平台性能一致
适合什么人:
- 需要处理中大型项目的开发者(LSP + DAP + Subagent 的价值最大)
- 追求 AI 编程效率的终端重度用户
- 希望一套配置多工具复用的多 Agent 用户
- 需要跨平台一致体验的 macOS/Linux/Windows 团队
不适合什么场景:
- 只需要简单代码补全(用 Copilot 更轻量)
- 需要图形界面操作的场景(omp 是纯终端工具)
omp 是开源项目(MIT 协议),代码在 GitHub,官方站 omp.sh,Discord 社区活跃。如果你在寻找一个「不只是聊天」的终端 AI Agent,值得一试。