can1357/oh-my-pi
⌥ Coding agent with the IDE wired in
README
Một tác nhân mã hóa có kết nối IDE. omp.sh
Ngã ba của Pi bởi @mariozechner
Bề mặt đại lý có khả năng nhất được vận chuyển. Được điều chỉnh liên tục bằng cách sử dụng trong thế giới thực — hoàn chỉnh ngay từ đầu, mở hoàn toàn.
60+ nhà cung cấp · 31 công cụ tích hợp sẵn · 14 hoạt động lsp · 28 hoạt động tốt · ~80k dòng lõi Rust.
[!LƯU Ý] Yêu cầu kéo là tạm thời mở cửa cho mọi người như một phiên tòa. Trước đây chúng tôi đã yêu cầu chứng từ trước khi chấp nhận PR; yêu cầu đó hiện đã được dỡ bỏ trong khi chúng tôi đánh giá hoạt động đóng góp mở. Tùy thuộc vào kết quả, hệ thống chứng từ có thể quay trở lại.
cài đặt
macOS · Linux
curl -fsSL https://omp.sh/install | sh
Alpine / xạ hương: các liên kết nhị phân musl dựng sẵn
libstdc++/libgcclinh hoạt, loại hàng mà Alpine không vận chuyển. Cài đặt chúng trước:apk add libstdc++ libgcc.
Homebrew
brew install can1357/tap/omp
Bun (được khuyến nghị)
bun install -g @oh-my-pi/pi-coding-agent
Nix
# Run without installing
nix run github:can1357/oh-my-pi
# Or install into the active profile
nix profile install github:can1357/oh-my-pi
Người tiêu dùng Flake có thể sử dụng packages.<system>.omp, overlays.default, nixosModules.defaulthoặc homeManagerModules.default. Cấu hình Home Manager có thể cài đặt OMP và khai báo các cài đặt của nó:
{
inputs.omp.url = "github:can1357/oh-my-pi";
# In your Home Manager module:
imports = [ inputs.omp.homeManagerModules.default ];
programs.omp = {
enable = true;
settings.startup.quiet = true;
};
}
Windows (PowerShell)
irm https://omp.sh/install.ps1 | iex
Phiên bản được ghim (mise)
mise use -g github:can1357/oh-my-pi
macOS · Linux · Windows · Bun ≥ 1.3.14
Hoàn thiện vỏ
omp tạo ra các tập lệnh hoàn thành của riêng nó cho đánh đập, zshvà cá từ siêu dữ liệu lệnh/cờ trực tiếp, để chúng không bao giờ lệch khỏi CLI thực tế. Các lệnh con, cờ và giá trị enum hoàn thành tĩnh; tên mẫu (--model, --smol, --slow, --plan) giải quyết dựa trên danh mục mô hình đi kèm và --resume chống lại các phiên trên đĩa của bạn.
# zsh — add to ~/.zshrc (or write the output into a file on your $fpath)
eval "$(omp completions zsh)"
# bash — add to ~/.bashrc
eval "$(omp completions bash)"
# fish
omp completions fish > ~/.config/fish/completions/omp.fish
Mỗi công cụ, băng ghế dự bị.
Chỉnh sửa đất ở lần thử đầu tiên. Đọc tóm tắt các tập tin thay vì bỏ nội dung của chúng. Các tìm kiếm quay lại ngay lập tức. Chọn bất kỳ mẫu nào - omp sẽ làm đúng.
| người mẫu | thước đo | cái gì |
|---|---|---|
| Grok Mã nhanh 1 | 6.7% → 68.3% | Tăng gấp 10 lần thời điểm định dạng chỉnh sửa ngừng ăn sống mô hình. |
| Gemini 3 Flash | +5 trang | Over str_replace — đánh bại nỗ lực tốt nhất của Google về định dạng này. |
| Grok 4 Nhanh | −61% mã thông báo | Đầu ra bị sập khi vòng thử lại trên các khác biệt xấu biến mất. |
| MiniMax | 2,1× | Tỷ lệ vượt qua nhiều hơn gấp đôi. Cùng trọng lượng, cùng một lời nhắc. |
read: đoạn tóm tắt · giá trị mặc định lý tưởng · tỷ lệ trúng của bộ chọngrep: nhanh nhất ở phía tâylsp: mọi thứ IDE của bạn biết, đại lý biếtprompts: điều chỉnh không ngừng cho từng model
Pi bạn yêu, với bao gồm pin.
Ban đầu được xây dựng trên Mario Zechnerthật tuyệt vời Pi, omp bổ sung mọi thứ bạn đang thiếu.
01 · Thực thi mã bằng cách gọi công cụ
Hầu hết các dây nịt đều cung cấp cho tác nhân một hộp cát Python và coi như xong. Công cụ của chúng tôi chạy Python liên tục và một trình chạy Bun, đồng thời một trong hai hạt nhân có thể gọi lại các công cụ riêng của tác nhân — đọc, tìm kiếm, tác vụ — qua cầu vòng lặp. Tác nhân tải một CSV có tool.read từ bên trong Python, lập biểu đồ từ JavaScript và không bao giờ rời khỏi ô.

02 · LSP được nối vào mỗi lần ghi
Yêu cầu đổi tên và bạn nhận được đổi tên. Cuộc gọi đi qua không gian làm việc/willRenameFiles, do đó, xuất lại, tệp thùng và cập nhật nhập bí danh trước khi tệp di chuyển. Mọi thứ IDE của bạn biết, đại diện đều biết.

03 · Điều khiển trình gỡ lỗi thực sự
Phân tách nhị phân AC: tác nhân đính kèm lldb, bước tới con trỏ xấu, đọc khung. Một dịch vụ Go bị treo: nó gắn dlv và hướng dẫn các goroutines. Quá trình Python được kết hợp: gỡ lỗi, tạm dừng, kiểm tra, đánh giá. Hầu hết các đại lý vẫn đang rải báo in.

04 · Quy tắc dòng du hành thời gian
Các quy tắc của bạn không hoạt động cho đến khi mô hình không hoạt động. Trận đấu biểu thức chính quy sẽ hủy bỏ mã thông báo giữa luồng, đưa quy tắc làm lời nhắc hệ thống và thử lại từ cùng một điểm. Bạn nhận được sự điều chỉnh khóa học mà không phải trả thuế bối cảnh cho mỗi lượt. Thuốc tiêm tồn tại trong quá trình nén, vì vậy cần sửa chữa.

05 · Đại lý cấp 1
Chia công việc cho các công nhân và nhận lại kết quả đã đánh máy. nhiệm vụ phân chia thành các cây làm việc biệt lập, mỗi công nhân chạy bề mặt công cụ riêng của mình và kết quả cuối cùng là một đối tượng được xác thực bằng lược đồ mà cha mẹ đọc trực tiếp. Không có văn xuôi để phân tích, không có xung đột hợp nhất giữa anh chị em, không có chỉnh sửa mồ côi.

Xem quạt ra trong khi nó chạy: Alt+A mở ra Trung tâm đại lý, trong đó danh sách hiển thị hoạt động và mức sử dụng hiện tại của mọi đại lý phụ. Mở một cái để đọc bản ghi trực tiếp của nó, nhập tin nhắn chỉ đạo, hồi sinh một công nhân đang đỗ xe hoặc giết một người bị mắc kẹt mà không hủy bỏ phiên làm việc gốc.
06 · Mẫu thứ hai, theo dõi từng ngã rẽ.
Ghép nối mô hình người đánh giá với vai trò 'cố vấn' và mô hình này sẽ đọc từng lượt mà tác nhân chính thực hiện, đưa các ghi chú vào dòng - một phần yên tĩnh, một mối quan tâm hoặc một trình chặn cứng. Nó chạy trên bối cảnh và mô hình riêng của nó, nên nó nắm bắt được những gì người thực hiện lao qua. Nhân viên chính nhìn thấy ghi chú và sửa khóa học hoặc cho bạn biết lý do tại sao không.

07 · Đưa link cho ai đó, họ vào rồi.
/collab đặt phiên trực tiếp của bạn trên một kênh chuyển tiếp và gửi lại một liên kết — và một mã QR. Một đồng đội tham gia từ một thiết bị đầu cuối khác bằng omp join hoặc chỉ mở nó trong trình duyệt. Chia sẻ đọc-ghi để ghép nối trên cùng một tác nhân hoặc chế độ xem /cộng tác để có liên kết chỉ đọc mà bất kỳ ai cũng có thể xem nhưng không ai có thể chỉ đạo. Các khung được niêm phong phía khách hàng; rơle không bao giờ nhìn thấy chìa khóa của bạn.

08 · Đọc pdf trên arxiv, tại sao không?
web_search liên kết 23 nhà cung cấp được xếp hạng và trao bất kỳ URL nào nó tìm thấy để đọc thẳng. Các tệp PDF Arxiv, trang GitHub, luồng Stack Overflow trở lại dưới dạng đánh dấu có cấu trúc với các điểm neo còn nguyên vẹn — bề mặt công cụ tương tự mà bạn sử dụng trên các tệp cục bộ. Trích dẫn, theo dõi, trích dẫn, không bao giờ quên nơi bạn đến.

09 · Bản địa không hối lỗi. Ngay cả trên Windows.
Các tác nhân khác trả tiền cho rg, grep, find và bash. Trên nhiều máy, những tệp nhị phân đó không tồn tại và trên những máy có chúng, mỗi cuộc gọi đều phải thực hiện một chuyến đi khứ hồi. omp liên kết việc triển khai thực tế vào quy trình. ripgrep, toàn cầu, tìm: đang xử lý. cọ vẽ là bash — với các phiên tồn tại qua các cuộc gọi và 58 tiện ích dòng lệnh (ls, sed, sắp xếp, xargs, thậm chí jq) được chuyển vào thùng nội trang và chạy trong quá trình, không có fork/exec. Hệ nhị phân omp tương tự chạy trên macOS, Linux và Windows - không có cầu nối WSL.
10 · Đánh giá mã với mức độ ưu tiên và phán quyết
Nhận được kết luận rõ ràng về việc thay đổi có được thực hiện hay không, với mọi vấn đề được xếp hạng từ P0 đến P3 và được tính điểm cho độ tin cậy. /review sinh ra các tác nhân phụ của người đánh giá chuyên dụng để quét song song các nhánh, lần xác nhận đơn lẻ hoặc công việc không được cam kết. Bạn giải quyết khối nào được phát hành trước; không có gì quan trọng ẩn giấu trong bức tường văn xuôi.
11 · Hashline: chỉnh sửa theo hàm băm nội dung
Chỉnh sửa hoàn hảo, ít mã thông báo hơn. Mô hình trỏ vào các điểm neo thay vì gõ lại các dòng mà nó muốn thay đổi, do đó, các cuộc chiến về khoảng trắng và các vòng lặp không tìm thấy chuỗi sẽ ngừng xảy ra. Chỉnh sửa một tập tin cũ và các điểm neo sẽ khác nhau — chúng tôi từ chối bản vá trước khi nó làm hỏng bất kỳ thứ gì. Grok 4 Fast chi tiêu mã thông báo đầu ra ít hơn 61% cho cùng một tác phẩm.
12 · GitHub chỉ là một hệ thống tập tin khác
Các khai thác khác bắt đầu trên gh_issue_view, gh_pr_view, gh_search - mỗi khai thác có các thông số riêng mà tác nhân phải tìm hiểu và bạn phải gỡ lỗi. Chúng tôi đã bỏ qua điều đó. đọc đã xử lý các đường dẫn; PR là những con đường Một giao diện để dạy mô hình, một bề mặt để giữ chính xác.
13 · Bộ nhớ đại lý quản lý
Tác nhân ghi nhớ cơ sở mã của bạn giữa các phiên. Nó ghi lại các sự kiện trong quá trình thực hiện với chức năng giữ lại, ghi lại các bài học có thể sử dụng lại bằng cách học, kéo chúng lại bằng cách nhớ lại và nén mỗi phiên học thành một mô hình tinh thần để tải vào lượt đầu tiên của phiên tiếp theo. Chọn động cơ với memory.backend — địa phương, Hindsight, hoặc Mnemopi. Theo mặc định, phạm vi dự án nằm trong phạm vi dự án, vì vậy những gì nó tìm hiểu được về kho lưu trữ này sẽ vẫn nằm trong kho lưu trữ này.
14 · ACP: tác nhân có thể điều khiển bằng trình soạn thảo
Chạy omp bên trong Zed và bạn sẽ nhận được cùng một tác nhân mà bạn điều khiển từ thiết bị đầu cuối - đọc bộ đệm mà bạn thực sự đang xem, ghi thông qua đường dẫn lưu của trình soạn thảo, tạo ra các shell trong thiết bị đầu cuối của trình soạn thảo. Các công cụ phá hoại tạm dừng khi có lời nhắc cấp quyền mà bạn có thể trả lời một lần và quên đi. Không có cầu nối, không có plugin, không có bộ não thứ hai để đồng bộ hóa.
15 · Kế thừa những gì công cụ khác của bạn đã viết
Mọi đại lý khác đều gửi một nhà nhập khẩu và mong bạn chuyển đổi. omp đọc tám định dạng đã có trên đĩa ở dạng gốc — Cursor MDC, Cline .clinerules, Codex AGENTS.md, Copilot applyTo và phần còn lại. Không có tập lệnh di chuyển, không có cổng YAML-to-TOML, không có chú thích cuối trang "tập hợp con được hỗ trợ". Cấu hình mà nhóm của bạn viết quý trước vẫn hoạt động tối nay.
16 · cam kết omp: phân chia nguyên tử, thông báo được xác thực
omp đọc cây làm việc thông qua git_overview, git_file_diff và git_hunk, sau đó chia các thay đổi không liên quan thành các cam kết nguyên tử được sắp xếp theo thứ tự phụ thuộc của chúng. Chu kỳ bị từ chối trước khi bất cứ điều gì được viết. Các tệp nguồn đạt điểm cao hơn các bài kiểm tra, tài liệu và cấu hình, vì vậy, cam kết tiêu đề là yếu tố quan trọng. Các tập tin khóa được loại trừ hoàn toàn khỏi quá trình phân tích.
17 · Đọc PR. Kỹ năng đi bộ. Kéo JSON ra khỏi tác nhân phụ.
Mười sáu kế hoạch nội bộ — pr://, issue://, agent://, skill://, ssh://và phần còn lại — giải quyết một cách minh bạch bên trong mọi công cụ có hình dạng FS mà tác nhân đã gọi. read pr://1428 trả về hình dạng tương tự như read src/foo.ts. grep đi một khác biệt giống như một thư mục. agent://<id>/findings.0.path kéo một trường ra khỏi đầu ra của tác nhân phụ theo đường dẫn.
18 · Giải quyết xung đột, dễ dàng.
Mỗi xung đột hợp nhất sẽ trở thành một URL. Đại lý viết @theirs, @ourshoặc @base để conflict://N và tập tin được giải quyết rõ ràng. Dạng số lượng lớn: conflict://*.

19 · Xem trước rồi chấp nhận.
ast_edit trả về một (đề xuất) thẻ có số lượng thay thế. Sự thay đổi được dàn dựng. Người đại diện viết lý do một dòng để xd://resolve; TUI biến nó thành một Chấp nhận thẻ và việc di chuyển đĩa xảy ra - nguyên tử, tất cả hoặc không có gì.

20 · Lái xe trình duyệt thực sự. Hoặc Slack của bạn?
Tính năng tàng hình được bật theo mặc định để các trang nhìn thấy người dùng bình thường thay vì bot không đầu. Cùng một API điều khiển bất kỳ ứng dụng Electron nào tại chỗ — trỏ nó vào Slack và nhân viên hỗ trợ sẽ đọc DM của bạn theo cách nó đọc web. Hoặc bỏ qua hoàn toàn hộp cát: tiện ích mở rộng chuyển tiếp của trình duyệt cho phép tổng đài viên sử dụng các tab Chrome mà bạn đã mở mà không lấy cắp tiêu điểm.
21 · Tự tay đặt trên mặt bàn
computer chạy liên tục JavaScript trên máy chủ thực: liệt kê các cửa sổ và màn hình, chụp ảnh màn hình, gửi dữ liệu đầu vào gốc, duyệt cây trợ năng của hệ điều hành, chạm vào bảng nhớ tạm. Không phải công cụ trình duyệt, không có DOM — cùng một màn hình mà bạn đang xem.
Bất kể nhiệm vụ cần gì, nó đã ở trong hộp rồi.
31 công cụ tồn tại trong cùng một không gian tên với read và bash. Ghim bộ hoạt động với --tools read,edit,bash,…; các công cụ có thể khám phá hiếm khi được sử dụng ở lại phía sau xd:// thiết bị. read xd:// liệt kê chúng, và write xd://<tool> chạy một khi tools.xdev được kích hoạt.
Tệp & tìm kiếm
read— tệp, thư mục, kho lưu trữ, SQLite, PDF, sổ ghi chép, URL, điều khiển từ xassh://đường dẫn và nội bộ://kế hoạch thông qua một con đường.write— tạo hoặc ghi đè lên một tệp, mục lưu trữ hoặc hàng SQLite.edit— các bản vá lỗi hashline với các neo băm nội dung và khôi phục neo cũ.ast_edit— viết lại cấu trúc được xem trước trước khi áp dụng, thông qua ast-grep.ast_grep- truy vấn mã cấu trúc trên hơn 50 ngữ pháp chăm sóc cây.grep— biểu thức chính quy trên các tệp, khối và URL nội bộ.glob- tra cứu đường dẫn dựa trên toàn cầu; đạt tớigrepkhi bạn cần kết quả phù hợp với nội dung.
Thời gian chạy
bash— shell không gian làm việc với 46 coreutils đang xử lý, PTY tùy chọn và gửi công việc nền.eval- các ô Python và JavaScript liên tục có phần mở đầu chung và mục nhập lại công cụ.
Mã thông minh
lsp— chẩn đoán, điều hướng, ký hiệu, đổi tên, hành động mã, yêu cầu thô.debug— điều khiển phiên DAP — điểm dừng, bước, luồng, ngăn xếp, biến.security_scan— lập kế hoạch và thực hiện các đánh giá bảo mật gốc; ổ đĩa quét đám mây Codex Security.
Phối hợp
task— phân chia song song các tác nhân phụ, tùy chọn cách ly không gian làm việc.hub— nhắn tin cho các tổng đài viên trực tiếp, chờ hoặc hủy các công việc nền và giám sát các quy trình chạy dài.todo— các đột biến được sắp xếp theo thứ tự trong danh sách việc cần làm trong phiên với tính năng theo dõi pha.ask- các câu hỏi tiếp theo có cấu trúc dành cho các hoạt động tương tác.
Máy tính để bàn và web
browser— Các tab Puppeteer trên Chrome không có giao diện người dùng, các ứng dụng được đính kèm CDP hoặc Chrome của riêng bạn thông qua rơle.computer— JS liên tục đối với máy tính để bàn chủ: cửa sổ, ảnh chụp màn hình, đầu vào gốc, cây AX, bảng tạm.web_search- một truy vấn trên các nhà cung cấp được định cấu hình, trả về câu trả lời cùng với các trích dẫn.github— GitHub CLI hoạt động — repo, PR, sự cố, tìm kiếm mã, theo dõi hoạt động.generate_image— tạo hoặc chỉnh sửa hình ảnh raster thông qua các mô hình hình ảnh Gemini, GPT hoặc xAI Grok.inspect_image- phân tích mô hình tầm nhìn của một tệp hình ảnh cục bộ.tts— chuyển văn bản thành giọng nói qua xAI Grok Voice — năm giọng nói tích hợp, WAV hoặc MP3.
Trí nhớ & kỹ năng
checkpoint— đánh dấu trạng thái hội thoại để thu gọn và báo cáo sau này.rewind— cắt tỉa bối cảnh thăm dò, giữ một báo cáo ngắn gọn.retain— xếp các sự kiện lâu bền vào ngân hàng bộ nhớ đang hoạt động.recall— tìm kiếm ngân hàng bộ nhớ để tìm những ký ức thô.reflect- tổng hợp câu trả lời qua ngân hàng.memory_edit— cập nhật, quên hoặc vô hiệu hóa các ký ức được lưu trữ theo id.learn— ghi lại một bài học có thể tái sử dụng; tùy ý thăng cấp nó thành một kỹ năng được quản lý.manage_skill— tạo, cập nhật hoặc xóa một kỹ năng được quản lý riêng biệt.
Cài đặt cổng, tắt theo mặc định: github, security_scan, generate_image, tts, checkpoint, rewindvà các công cụ bộ nhớ (retain/recall/reflect/memory_edit, mỗi memory.backend). inspect_image tự động kích hoạt khi mô hình hoạt động không thể nhìn thấy.
Điều khiển nhắc nhở
Ba từ viết thường, độc lập chọn chuyển thành hành vi đặc biệt của tác nhân:
ultrathink— yêu cầu suy luận nhiều bước cẩn thận và nỗ lực tư duy tự động được hỗ trợ cao nhất.orchestrate— thực hiện công việc độc lập đáng kể thông qua các tác nhân phụ song song và xác minh từng giai đoạn.workflowz— xây dựng một quy trình làm việc đa tác nhân xác định với hoạt độngtaskcông cụ.
Chúng chỉ kích hoạt bằng văn xuôi, không kích hoạt bên trong các đoạn mã, khối mã có rào chắn, các phần XML/HTML, mã định danh hoặc đường dẫn. Xem Từ khóa ma thuật để biết các quy tắc và cấu hình khớp chính xác.
Kiểm soát phiên
Các lệnh gạch chéo thay đổi cách toàn bộ phiên chạy:
/vibe- nhập Chế độ rung cảm: đóng vai giám đốc lái xe kiên trìfast/goodphiên công nhân với mộtread-chỉ có bộ công cụ./fresh- đặt lại trạng thái luồng của nhà cung cấp (bộ đệm nhắc nhở cũ, luồng được nêm) mà không thay đổi bản ghi cục bộ. Xem Hoạt động phiên.
Hơn sáu mươi nhà cung cấp, một nghìn mô hình, một /người mẫu đi.
Mười vai trò định tuyến làm việc theo mục đích. default cho các lượt quay bình thường. smol cho fan-out subagent giá rẻ. slow cho lý luận sâu sắc. plan cho chế độ kế hoạch. commit cho các thay đổi. Cộng thêm vision, designer, task, advisorvà tiny cho tên của họ. Ghi đè khi khởi chạy với --smol, --slowhoặc --plan; duyệt qua các mô hình đã định cấu hình cho vai trò tích cực với Ctrl+P. Hoán đổi mô hình đang hoạt động giữa phiên với /model lệnh gạch chéo.
Thẻ xác thực bên dưới: oauth đăng nhập bằng tài khoản nhà cung cấp của bạn, plan định tuyến thông qua đăng ký gói mã hóa, local chạy trên máy chủ cục bộ với khóa tùy chọn.
API biên giới
API trực tiếp và cổng. Trộn các nhà cung cấp cho mỗi vai trò.
Anthropic oauth · OpenAI · OpenAI Codex oauth · Google Gemini · Google Vertex · Google Chống trọng lực oauth · xAI · SuperGrok oauth · DeepSeek · Mistral · Groq · Cerebras · Pháo hoa · Cùng nhau · Baseten · DeepInfra · Hugging Face · NVIDIA · Meta · Amazon Bedrock · Azure OpenAI · SiliconFlow · GMI Cloud · CoreWeave · Sakana AI · OpenRouter · Tổng hợp · Vercel AI Gateway · Cloudflare AI Gateway · Wafer Serverless
Kế hoạch mã hóa
Định tuyến đăng ký. /login đính kèm phiên.
Cursor oauth · GitHub Copilot oauth · GitLab Duo · Devin oauth · Mã Kimi plan · Moonshot · Gói mã hóa MiniMax plan · Kế hoạch mã hóa MiniMax CN plan · Kế hoạch mã hóa của Alibaba plan · Cổng thông tin Qwen oauth · Gói mã hóa Z.AI / GLM plan · Kế hoạch mã hóa Zhipu plan · Xiaomi MiMo · Qianfan · Umans plan · NanoGPT · Novita · Venice · Kilo · ZenMux · OpenCode Go · OpenCode Zen
Tự mình chạy nó
tương thích với OpenAI /v1/models. Các trường hợp cục bộ bỏ qua khóa.
Ollama local · Ollama Đám mây · LM Studio local · Llama.cpp local · vLLM local · LiteLLM
Nhà cung cấp tương thích với OpenAI tùy chỉnh
Xác định nhà cung cấp tùy chỉnh trong ~/.omp/agent/models.yml:
providers:
spark:
baseUrl: http://192.168.10.223:8000/v1
api: openai-completions
apiKey: dummy
models:
- id: minimax-m3
name: MiniMax M3
contextWindow: 100000
maxTokens: 32000
Chạy omp models spark để xác minh phát hiện. Sau đó chạy omp setup và chọn mô hình trong bước mô hình mặc định hoặc mở /model trong một phiên và gán nó cho default vai trò.
Để định cấu hình trước mặc định mà không có bộ chọn, hãy thêm bộ chọn vào ~/.omp/agent/config.yml:
modelRoles:
default: spark/minimax-m3
Bốn nút bấm giúp việc định tuyến trở nên hữu ích
- Nhà cung cấp tùy chỉnh - Tuyên bố bất cứ điều gì nói
openai-completions,openai-responses,openai-codex-responses,azure-openai-responses,anthropic-messages,bedrock-converse-stream,google-generative-ai,google-gemini-clihoặcgoogle-vertextrong~/.omp/agent/models.yml. - Chuỗi dự phòng — Chuỗi theo vai trò hoặc theo mô hình theo
retry.fallbackChains. Khi người chính ném 429 giây hoặc chạm vào tường hạn ngạch, mục tiếp theo sẽ chiếm phần còn lại của lượt - được khôi phục khi hồi chiêu. - Các mô hình có phạm vi đường dẫn — Phạm vi
enabledModelsvàdisabledProvidersmục vào mộtpath:tiền tố để ghim một bộ mô hình khác trên một repo mà không cần chạm vào cấu hình chung. Các mục có phạm vi bao gồm đường dẫn và mọi thứ bên dưới nó. - Thông tin đăng nhập vòng tròn — Xếp chồng các khóa API cho mỗi nhà cung cấp và thời gian chạy xoay vòng theo mối quan hệ phiên và thời gian chờ cho mỗi thông tin xác thực. Hữu ích khi một phím sẽ đốt hết hạn ngạch vào bữa trưa.
Tham khảo đầy đủ về nhà cung cấp và định tuyến tại omp.sh/docs/providers.
Hai mươi ba phụ trợ. Một công cụ mà đại lý đã biết.
web_search được xây dựng sẵn, không được bắt vít. auto điều hành chuỗi 23 nhà cung cấp; ghim từng tên nếu bạn đã trả tiền cho nó. Đằng sau mỗi lần truy cập, tính năng trích xuất nhận biết trang web sẽ biến GitHub, sổ đăng ký, arXiv, Stack Overflow và tài liệu thành phần đánh dấu có cấu trúc — các mục tiêu liên kết và neo vẫn tồn tại.
Tìm kiếm nhà cung cấp
Hai mươi ba phụ trợ. Ghim một hoặc để auto đi theo chuỗi theo thứ tự.
| nhà cung cấp | xác thực |
|---|---|
auto |
chuỗi |
perplexity |
PERPLEXITY_API_KEY (dự phòng ẩn danh) |
gemini |
xác thực |
anthropic |
xác thực |
codex |
xác thực |
xai |
oauth hoặc XAI_API_KEY |
zai |
ZAI_API_KEY |
exa |
EXA_API_KEY (hoặc MCP) |
tinyfish |
TINYFISH_API_KEY |
jina |
JINA_API_KEY |
kagi |
KAGI_API_KEY |
tavily |
TAVILY_API_KEY |
firecrawl |
FIRECRAWL_API_KEY (dự phòng không cần chìa khóa) |
brave |
BRAVE_API_KEY |
kimi |
/login kimi-code hoặc phím tìm kiếm |
parallel |
PARALLEL_API_KEY |
synthetic |
SYNTHETIC_API_KEY |
searxng |
tự lưu trữ |
duckduckgo |
không có chìa khóa |
startpage |
không có chìa khóa |
google |
không có chìa khóa (trình duyệt) |
ecosia |
không có chìa khóa (trình duyệt) |
mojeek |
không có chìa khóa (trình duyệt) |
public |
không có chìa khóa (tất cả những điều trên, hợp nhất) |
Exa cũng chấp nhận khóa API được lưu trữ thông qua /login exa; lựa chọn không cần phím rõ ràng sử dụng dự phòng MCP công khai.
Người xử lý chuyên dụng
Tác nhân nhận được nội dung có cấu trúc, không bị loại bỏ HTML.
- Máy chủ mã — GitHub, GitLab
- Đăng ký gói — npm, PyPI, Crates.io, Hex, Hackage, NuGet, Maven, RubyGems, Packagist, pub.dev, Go packages
- Nguồn nghiên cứu - arxiv, học giả ngữ nghĩa
- Diễn đàn — tràn ngăn xếp, reddit, hn
- Tài liệu — mdn, readthedocs, docs.rs
Các trang chuyển đổi sang markdown với cấu trúc liên kết nguyên vẹn. Người đại diện có thể trích dẫn, theo dõi và trích dẫn mà không bị mất điểm neo.
Cơ sở dữ liệu bảo mật
Câu trả lời tra cứu Vuln bằng dữ liệu của nhà cung cấp chứ không phải tóm tắt blog.
- NVD - cơ sở dữ liệu dễ bị tổn thương quốc gia
- OSV - nguồn cấp dữ liệu Vuln mã nguồn mở
- CISA KEV - những kẻ bị khai thác đã biết
đại khái ~80,000 các dòng của Rust, thực hiện công việc mà các bộ dây khác đảm nhận.
Sáu thùng, một tiện ích bổ sung N-API được gắn thẻ nền tảng. Tìm kiếm, shell, AST, tô sáng, PTY, điều khiển máy tính để bàn, giải mã hình ảnh, đếm BPE - tất cả đều đang trong quá trình xử lý trên nhóm libuv. Không có fork/exec trên đường dẫn nóng. ~80k dòng khác chạy dọc theo nhà cung cấp: bash fork, cùng với 58 tiện ích dòng lệnh - coreutils, findutils, sed, jq, grep-backed grep, fd, diff, moreutils - được chuyển vào thùng dựng sẵn và biên dịch thẳng vào shell.
- Thùng:
pi-natives,pi-shell,pi-ast,pi-iso,pi-voice,pi-walker - Nền tảng:
linux-x64,linux-arm64,darwin-x64,darwin-arm64,win32-x64— x64 cung cấp AVX2 kép và các tệp nhị phân cơ sở
Mỗi thùng, chỉ dòng mã:
| thùng | Nó làm gì | ~LoC |
|---|---|---|
| vỏ pi | Công cụ bash nhúng · phiên liên tục · gửi coreutils trong quá trình · bộ giảm thiểu | 38,000 |
| người bản địa pi | Bề mặt N-API — mọi mô-đun trong bảng bên dưới | 25,000 |
| pi-walker | Trình đi bộ nhận biết bỏ qua song song + quét bộ đệm được chia sẻ bởi grep · glob · không gian làm việc · shell | 5,200 |
| pi-iso | Cách ly không gian làm việc · apfs · btrfs · zfs · liên kết lại · lớp phủ · projfs · rcopy | 3,300 |
| pi-ast | người trông cây + khớp ast-grep, độ phân giải khối, tóm tắt cấu trúc | 2,900 |
| giọng nói pi | Thu/phát lại âm thanh · Opus · WebRTC trực tiếp | 1,000 |
Bên trong pi-natives, phân tích trên mỗi mô-đun (bỏ qua keo và kiểm tra):
| mô-đun | Nó làm gì | Được cung cấp bởi | ~LoC |
|---|---|---|---|
| máy tính để bàn | Bảng liệt kê cửa sổ/màn hình · ảnh chụp màn hình · đầu vào tự nhiên · Cây AX cho computer |
xcap · enigo · OS AX FFI | 10,600 |
| grep | Tìm kiếm Regex · song song/tuần tự · bộ lọc toàn cầu & loại · tìm mờ | grep-regex · grep-người tìm kiếm | 3,280 |
| văn bản | Chiều rộng nhận biết ANSI · cắt ngắn · cắt cột · bọc bảo quản SGR | chiều rộng unicode · phân đoạn | 2,070 |
| snapcompact | Rasterization khung bitmap + mã hóa PNG để nén ngữ cảnh | hình ảnh · png | 1,760 |
| phím | Giao thức bàn phím Kitty với dự phòng xterm · Tra cứu hàm băm hoàn hảo PHF | phf | 1,740 |
| ast | khớp mẫu ast-grep và viết lại cấu trúc | lõi ast-grep | 1,510 |
| khác biệt | Tệp có cấu trúc khác nhau cho các công cụ và bản xem trước | trong cây | 1,030 |
| pty | Phân bổ PTY gốc cho sudo · lời nhắc tương tác ssh | pty di động | 630 |
| sự cố_xử lý | Ghi lại và báo cáo sự cố gốc | trong cây | 610 |
| đánh dấu | Làm nổi bật cú pháp · 11 danh mục ngữ nghĩa · Hơn 30 bí danh | cú pháp | 550 |
| sự xuất hiện | Chế độ 2031 + chế độ tối/sáng gốc của macOS thông qua CoreFoundation FFI | nền tảng cốt lõi | 450 |
| nhiệm vụ | Chặn công việc trên nhóm luồng libuv · hủy bỏ · hết thời gian · lập hồ sơ | tokio · napi | 440 |
| quả địa cầu | Khám phá với toàn cầu · bộ lọc loại · sắp xếp theo thời gian · tôn trọng gitignore | bỏ qua · toàn cầu | 430 |
| fd | Bộ tập tin hệ thống tập tin để thay thế công cụ tìm kiếm | bỏ qua | 385 |
| bìa kẹp hồ sơ | Sao chép văn bản và đọc hình ảnh từ khay nhớ tạm của hệ thống · không có xclip/pbcopy | ván gỗ | 370 |
| không gian làm việc | Workspace walker với khả năng khám phá gitignore + AGENTS.md trong một lần | bỏ qua | 275 |
| quyền lực | xác nhận năng lượng macOS API để ngăn chặn chế độ chờ/hệ thống/màn hình ngủ | IOKit FFI | 270 |
| giáo sư | Trình phân tích bộ đệm tròn với đầu ra dạng ngọn lửa xếp chồng và SVG | địa ngục | 240 |
| file_lock | Khóa tập tin tư vấn chéo quy trình | trong cây | 210 |
| ps | Danh sách cây xử lý đa nền tảng và danh sách hậu duệ | libc · libproc · CreateToolhelp32Snapshot | 195 |
| mã thông báo | Đếm mã thông báo BPE O200k / Cl100k · nhúng cả hai bảng | tiktoken-rs | 70 |
| html | HTML sang Markdown với tính năng dọn dẹp nội dung tùy chọn | html-to-markdown-rs | 60 |
| sáu xu | Kết xuất hình ảnh đầu cuối · giải mã PNG · JPEG · WebP · GIF · thay đổi kích thước · mã hóa SIXEL | icy_sixel · hình ảnh | 55 |
Bốn điểm vào: tương tác, một lần, RPC và ACP.
Cùng một động cơ, bốn vỏ bọc. omp điều hành TUI. omp -p trả lời một lời nhắc duy nhất và thoát. Nút SDK nhúng phiên vào quy trình của bạn. omp --mode rpc và omp acp giao bánh xe cho một chương trình khác qua stdio.
Tương tác - khi nghi ngờ, nhân viên sẽ hỏi
TUI là bề mặt mặc định. Lệnh gọi công cụ hiển thị dưới dạng thẻ, chỉnh sửa bản xem trước trước khi chúng đến và các lộ trình không rõ ràng thông qua ask công cụ - một công cụ chọn tùy chọn có cấu trúc mà nhân viên có thể gọi ở giữa lượt. Bàn phím sẽ xử lý phần còn lại.
Các thẻ nhắc nhở tương tự sẽ xuất hiện trên ACP, vì vậy người chỉnh sửa sẽ nhận được bộ chọn mà không cần viết thẻ.

SDK — nhúng vào Nút
@oh-my-pi/pi-coding-agent
Máy chủ nút và TypeScript kéo công cụ trực tiếp vào. Gói hàng lộ ra ModelRegistry, SessionManager, createAgentSessionvà discoverAuthStorage; phiên phát ra các sự kiện đã nhập mà bạn đăng ký.
import {
ModelRegistry,
SessionManager,
createAgentSession,
discoverAuthStorage,
} from "@oh-my-pi/pi-coding-agent";
const auth = await discoverAuthStorage();
const models = new ModelRegistry(auth);
await models.refresh();
const { session } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
authStorage: auth,
modelRegistry: models,
});
await session.prompt("list .ts files");
RPC — lái xe qua stdio
omp --mode rpc
Dành cho các trình nhúng không phải nút hoặc khi bạn muốn cách ly quy trình. Lệnh NDJSON vào, khung phản hồi và sự kiện ra. --mode rpc-ui thêm thẻ công cụ, bộ chọn và hộp thoại dưới dạng extension_ui_request khung mà máy chủ phải trả lời.
$ omp --mode rpc --no-session
> {"id":"r1","type":"prompt","message":"list .ts files"}
< {"id":"r1","type":"response", ...}
> {"id":"r2","type":"set_model","provider":"anthropic","modelId":"sonnet-4.5"}
> {"id":"r3","type":"abort"}
ACP - nói chuyện với các biên tập viên
omp acp
các Giao thức khách hàng đại lý trên JSON-RPC. Khi người soạn thảo quảng cáo các khả năng, công cụ I/O định tuyến qua nó và ghi được kiểm soát bởi session/request_permission.
| công cụ omp | Tuyến đường ACP |
|---|---|
bash |
terminal/create + terminal/output |
read |
fs/read_text_file |
write |
fs/write_text_file |
edit, bash |
session/request_permission |
Tham khảo đầy đủ: omp.sh/docs/SDK.
Một dây nịt đáng để giữ là của bạn đừng phát triển nhanh hơn.
Đón nó tại omp.sh.
omp là một nhánh của Pi bởi Mario Zechner, được viết lại dưới dạng bề mặt mã hóa đầu tiên: phiên, tác nhân phụ, lệnh gạch chéo, tiện ích mở rộng - tất cả TypeScript, tất cả MIT, tất cả đều bật GitHub. Định hình nó từ cấu hình, móc nó từ bên ngoài hoặc đọc nguồn khi bạn cần.
nguyên thủy
Phần mở rộng là mô-đun TypeScript. Cùng một công cụ API, cùng một sổ đăng ký lệnh gạch chéo, cùng một bảng phím nóng, cùng các nguyên hàm TUI mà các phần mềm tích hợp sử dụng. Không có gì được bảo lưu.
khám phá
Trong lần chạy đầu tiên, omp kế thừa mọi thứ đã có trên đĩa: quy tắc, kỹ năng và máy chủ MCP từ .claude, .cursor, .windsurf, .gemini, .codex, .cline, .github/copilotvà .vscode. Không có tập lệnh di chuyển.
Khả năng mở rộng
Yêu cầu omp viết phần bạn còn thiếu, sau đó /reload-plugins. Giữ nó ở địa phương, gửi nó trong một marketplacehoặc xuất bản nó lên npm.
Triết học
omp là một nhánh của pi-mono bởi Mario Zechner, được mở rộng bằng quy trình mã hóa có kèm theo pin.
Ý tưởng chính:
- Giữ UX tương tác đầu tiên trên thiết bị đầu cuối cho công việc mã hóa thực sự
- Bao gồm các phần mềm tích hợp thực tế (công cụ, phiên, phân nhánh, tác nhân phụ, khả năng mở rộng)
- Làm cho hành vi nâng cao có thể định cấu hình thay vì ẩn
Phát triển
Bắt đầu từ nguồn
Các bản sao mới cần cả phần phụ thuộc của không gian làm việc và phần bổ trợ Rust/N-API cục bộ trước khi nguồn CLI có thể khởi động.
bun setup
bun dev
bun setup cài đặt không gian làm việc và bản dựng Bun @oh-my-pi/pi-natives. Chạy lại bun run build:native sau khi thay đổi thùng Rust hoặc packages/natives.
Người dùng Nix nhận được chuỗi công cụ Bun và Rust được ghim cùng với tất cả các phần phụ thuộc của bản dựng gốc:
nix develop
bun setup
bun dev
Xây dựng và thử nghiệm gói Nix có thể phân phối với nix build .#omp. Hỗ trợ ghi lại màn hình Wayland bị tắt theo mặc định (liên kết libpipewire sẽ thêm ~ 750 MB thời gian đóng thời gian chạy); kích hoạt nó với omp.override { withWaylandScreencast = true; }. nix/bun.nix chỉ được tạo ra khi bun.lock thay đổi; phát hành sẽ tự động tái tạo nó. Để thay đổi phụ thuộc, hãy chạy:
bun run gen:nix
Lệnh sử dụng bun2nix từ nix develop khi có sẵn, nếu không thì sẽ vào shell phát triển thông qua Nix, sau đó quay trở lại phần được ghim bunx [email protected]. Không chỉnh sửa nix/bun.nix bằng tay.
Để kiểm tra khói không tương tác:
bun dev -- --version
Lệnh gỡ lỗi
/debug mở các công cụ để gỡ lỗi, báo cáo và lập hồ sơ.
Để biết hướng dẫn về kiến trúc và đóng góp, hãy xem gói/coding-agent/PHÁT TRIỂN.md.
Gói Monorepo
| Gói | Mô tả |
|---|---|
| @oh-my-pi/collab-web | Trình duyệt khách, máy chủ mô phỏng và chuyển tiếp cục bộ cho các phiên trực tiếp cộng tác |
| @oh-my-pi/pi-ai | Máy khách LLM nhiều nhà cung cấp có khả năng phát trực tuyến và tích hợp mô hình/nhà cung cấp |
| @oh-my-pi/pi-catalog | Danh mục mô hình: cơ sở dữ liệu mô hình đi kèm, bộ mô tả nhà cung cấp và danh tính |
| @oh-my-pi/pi-agent-core | Thời gian chạy tác nhân với chức năng gọi công cụ và quản lý trạng thái |
| @oh-my-pi/pi-coding-agent | Tác nhân mã hóa tương tác CLI và SDK |
| @oh-my-pi/pi-tui | Thư viện giao diện người dùng đầu cuối với kết xuất vi sai |
| @oh-my-pi/pi-bản địa | Liên kết N-API cho grep, shell, hình ảnh, văn bản, tô sáng cú pháp, v.v. |
| @oh-my-pi/omp-stats | Bảng điều khiển khả năng quan sát cục bộ để thống kê việc sử dụng AI |
| @oh-my-pi/omptype | Xác thực lược đồ tương thích với ArkType bằng cách biên dịch JIT lười biếng |
| @oh-my-pi/pi-utils | Các tiện ích được chia sẻ (ghi nhật ký, luồng, trình trợ giúp dirs/env/process) |
| @oh-my-pi/pi-wire | Các loại giao thức phiên trực tiếp cộng tác được chia sẻ và hằng số chuyển tiếp |
| @oh-my-pi/hashline | Ngôn ngữ vá lỗi được neo theo dòng và ứng dụng đằng sau edit công cụ |
| @oh-my-pi/pi-mnemopi | Công cụ bộ nhớ SQLite cục bộ dành cho đại lý Oh My Pi |
| @oh-my-pi/snapcompact | Gói nén ngữ cảnh khung bitmap và bộ đánh giá SQuAD |
| @oh-my-pi/browser-relay | Tiện ích mở rộng của Chrome cho phép công cụ trình duyệt điều khiển các tab hiện có của bạn |
| @oh-my-pi/pi-metaharness | Trình chạy chuẩn thống nhất, bộ nhớ chạy Harbor, REST/SSE API, bảng điều khiển trực tiếp |
| @oh-my-pi/TypeScript-edit-benchmark | Chỉnh sửa bộ điểm chuẩn được xây dựng trên các đột biến nguồn TypeScript |
Rust Thùng
| thùng | Mô tả |
|---|---|
| người bản địa pi | Phần bổ trợ gốc lõi Rust (N-API cdylib) được sử dụng bởi @oh-my-pi/pi-natives; tổng hợp các thùng bên dưới |
| vỏ pi | Shell nhúng / PTY / quản lý quy trình được tách ra khỏi pi-natives (kết thúc tốt đẹp brush-*) |
| pi-ast | trình tóm tắt mã dựa trên cây-sitter và các tiện ích AST (hơn 50 ngữ pháp ngôn ngữ) |
| pi-iso | Trình phân giải phụ trợ cách ly tác vụ: bản sao APFS, liên kết lại btrfs/zfs, lớp phủ, projfs, rcopy |
| giọng nói pi | Ghi/phát lại âm thanh, codec Opus và nguyên tắc phát trực tuyến WebRTC trực tiếp |
| pi-walker | Trình đi bộ hệ thống tệp nhận biết bỏ qua song song với bộ đệm quét được chia sẻ bởi grep, glob và không gian làm việc |
| lõi bàn chải | nĩa được bán của vỏ bàn chải để thực thi bash nhúng |
| pi-buildins | Các nội dung Bash (cd, echo, test, printf, read, xuất, ...) cùng với 67 tiện ích dòng lệnh trong quá trình |
Đóng góp
Các vấn đề và yêu cầu kéo được mở cho tất cả mọi người. PR mở hiện nay là một thử nghiệm — yêu cầu về chứng từ trước đó được dỡ bỏ trong khi chúng tôi đánh giá xem nó diễn ra như thế nào và nó có thể quay trở lại. Xem ĐÓNG GÓP.md để được hướng dẫn đóng góp.
Giấy phép
OMP được cấp phép theo Giấy phép MIT.
Mã của bên thứ ba và được cung cấp, bao gồm crates/vendor/brush-core và các phần của bên thứ ba được xác định trong crates/pi-builtins/LICENSE, vẫn theo giấy phép ngược dòng tương ứng của nó. Xem THIRD-PARTY-NOTICES.txt và các thông báo thành phần cục bộ để phân bổ và các điều khoản bổ sung.
© 2025 Mario Zechner
© 2025-2026 Can Bölük
© 2026 Phòng thí nghiệm Macintosh, Inc.
được tạo ra cho các thiết bị đầu cuối luôn mở
Dự án cùng danh mục
Trợ lý AI cá nhân của riêng bạn. Bất kỳ hệ điều hành nào. Bất kỳ nền tảng nào. Cách tôm hùm. 🦞
Hệ thống tối ưu hóa hiệu suất khai thác tác nhân. Kỹ năng, bản năng, trí nhớ, bảo mật và sự phát triển ưu tiên nghiên cứu cho Claude Code, Codex, Opencode, Cursor và hơn thế nữa.
Đại lý phát triển cùng bạn
Kỹ năng dành cho kỹ sư thực sự. Trực tiếp từ thư mục .agents của tôi.
Triển lãm bảo tàng do đại lý quản lý, được xây dựng trong Rust với Gajae-Code / LazyCodex — được phát triển và duy trì mà không có sự can thiệp của con người.