~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
$ open-source rust cli agent · v0.3.0 · MIT / Apache-2.0

大模型是虎鲸,
缰绳在你手里。
THE MODEL IS AN ORCA.
YOU HOLD THE REINS.

写给住在终端里的人:DeepSeek 的价格、vim 的手感、一个到处能跑的静态二进制。它能替你改文件、跑命令、修 issue——但动手之前,永远先问你。For people who live in the terminal: DeepSeek prices, vim muscle memory, one static binary that runs anywhere. It edits files, runs commands and works issues for you — and always asks before it acts.

export DEEPSEEK_API_KEY="sk-..." && orcarein
8内置工具 + MCPbuilt-in tools + MCP360+测试tests6平台二进制platform binaries0订阅费,按 token 付给 providersubscription — pay your provider per token1个静态二进制,零依赖static binary, zero deps
◆ OrcaRein v0.3.0deepseek-v4-flash · ~/proj/orcareintui
>
-- NORMAL --/help · @file · Esc→NORMALctx 0%
↑ 按真实交互还原:vim 模态输入,权限确认 y/n/A/N,默认拒绝。↑ Faithful to the real thing: vim-modal input, y/n/A/N permission prompt, deny by default.
:why-orcarein

为什么用 OrcaReinWHY ORCAREIN

四个理由,直接回答"我为什么要用它";下面六张卡是证据,带"开发中"徽标的已在路线图、还没发布。Four straight answers to "why would I use this" — the six cards below are the receipts; WIP badges mark what is designed but not shipped yet.

01

你的手感,原样保留KEEP YOUR MUSCLE MEMORY

练了多年的 vim 在这里原样生效:Esc、ciw、daw、visual 选区、u 撤销、@ 补全项目文件。不用开浏览器、不用换编辑器,ssh 到服务器照用;终端差就退回纯文本,永远不挡你干活。Years of vim muscle memory work as-is: Esc, ciw, daw, visual selection, u to undo, @ to reference files. No browser, no new editor; works over ssh, and on a weak terminal it falls back to plain text — it never blocks you.

Escivciwdawu⌃rNORMALINSERTVISUAL
02

省钱,也省事CHEAP AND FRICTIONLESS

自带 DeepSeek key,按 token 直接付给 provider——没有订阅、没有加价、没有中间商;国内网络直连,不需要信用卡和代理。装起来一样省事:一个静态二进制,树莓派和公司内网照跑。Bring your DeepSeek key and pay your provider per token — no subscription, no markup, no middleman; direct from mainland networks, no credit card, no proxy. Install is just as light: one static binary that runs on a Pi or behind a corporate firewall.

03

敢放手,收得回LET GO, SAFELY

它能改文件、跑命令,但危险动作永远先问你,默认拒绝——你说了才算。规则化权限、hooks、Landlock / seccomp 沙箱、/restore 一键回滚都在开发中:目标是你敢开着它去倒杯咖啡。It edits files and runs commands, but risky actions always ask first — deny by default, you have the final word. Rule-based permissions, hooks, a Landlock / seccomp sandbox and /restore rollback are in development: the goal is an agent you can leave alone while you get coffee.

04

不合手?改它DOES NOT FIT? HACK IT

这是一个你读得完的 Rust 代码库:核心是可嵌入的 orcarein-core 库,技能就是几个 markdown 文件,MCP 随手接你自己的工具,MIT / Apache-2.0 随便用。它是你的工具,不是谁的产品入口。A Rust codebase you can actually read end to end: an embeddable orcarein-core, skills that are just markdown files, MCP for your own tools, MIT / Apache-2.0. It is your tool, not someone’s product funnel.

05

流式循环STREAMING LOOP

逐 token 输出,[思考] 与 [回复] 分开;畸形工具调用自动修复,不中断整轮。Token-by-token output with [思考] and [回复] shown separately; malformed tool calls are repaired, not fatal.

06

技能与子 agentSKILLS & SUBAGENTS

.orcarein/skills/*.md 按需加载;task 把子任务交给隔离上下文的子 agent,只带回结论;并行 fan-out 在 v0.7。.orcarein/skills/*.md load on demand; task hands work to a subagent with its own isolated context; parallel fan-out lands in v0.7.

07

MCP 生态MCP ECOSYSTEM

stdio MCP server 即插即用,和内置工具并肩;配上 Playwright-MCP,agent 就能操作浏览器看网页。HTTP 传输在 v0.7。stdio MCP servers plug in beside the built-ins; add Playwright-MCP and the agent can drive a browser. HTTP transport lands in v0.7.

08

会话与记忆SESSIONS & MEMORY

每轮自动存盘,session resume 随时续聊;/compact 压缩上下文并诚实提示 cache 代价;AGENTS.md 项目记忆自动并入。Every turn auto-saves; resume any session. /compact flattens context (and is honest about the cache cost); AGENTS.md project memory merges in.

09

检查点与回滚CHECKPOINTS开发中WIP

side-git 快照,/restore 一键撤销 agent 这一轮的所有改动。在 v0.8。side-git snapshots; /restore undoes everything one run changed. Lands in v0.8.

10

Web 工具与 RepomapWEB TOOLS & REPOMAP开发中WIP

web_fetch / web_search,检索后端可换(国内 Bocha / 国际 Tavily);tree-sitter 全仓符号索引,离线可用。v0.7–v0.8。web_fetch / web_search with swappable backends (Bocha in China, Tavily elsewhere); a tree-sitter repo-wide symbol index, offline. v0.7–v0.8.

:tools

每个工具,都套着缰绳EVERY TOOL WEARS THE REINS

Orca 是力量,Rein 是缰绳——名字就是架构。读文件、写文件、跑 shell,这些工具每个 agent 都有;区别是谁说了算:OrcaRein 的每个工具声明自己的风险级别,risky 的必须先过你这一关。Orca is the power, Rein is the harness — the name is the architecture. Every agent has file and shell tools; the difference is who has the final say: each tool declares a risk level, and risky ones go through you first.

默认拒绝。空输入、EOF、意外输入都算"不";答一次 A(always),也只管本次会话。search 感知 .gitignore、bash 输出封顶 32 KiB、edit 只接受唯一匹配——行为可预测,才谈得上放权。Deny by default. Empty input, EOF, anything unexpected — all "no"; one A(lways) covers this session only. search respects .gitignore, bash output caps at 32 KiB, edit takes a unique match only — predictable behavior is what earns permissions.

[tool: bash({"cmd":"rm -rf build/"})]
允许 bash? [y/n/A/N]
空输入 / EOF = 拒绝empty / EOF = deny
read_fileSAFE读取 UTF-8 文本文件read a UTF-8 text file
searchRISKY全树正则检索,感知 .gitignoreregex search, .gitignore-aware
list_dirRISKY列目录list a directory
write_fileRISKY写入 / 覆盖文件write / overwrite a file
editRISKY替换文件中唯一匹配的子串replace a unique substring
bashRISKY执行 shell 命令,输出封顶 32 KiBrun shell commands, output capped at 32 KiB
skillSAFE按需加载具名指令包load a named instruction pack
taskSAFE委派给隔离上下文的子 agentdelegate to an isolated subagent
mcp · *MCPstdio server 即插即用:Playwright-MCP 操作浏览器,或你自己的工具stdio servers plug in: Playwright-MCP drives a browser, or your own tools
web_fetch / search开发中WIP检索后端可换,受限网络可用(v0.8)swappable search backends, restricted-network friendly (v0.8)
repomap开发中WIPtree-sitter 全仓符号索引,离线(v0.7)tree-sitter repo-wide symbol index, offline (v0.7)
工具白名单:--tools read_file,search 只开你要的。Tool allowlist: --tools read_file,search enables only what you need.
:install

三步,进入终端THREE STEPS TO THE PROMPT

不用 Node、不用 Python、不用 Docker:下载一个二进制就完了。No Node, no Python, no Docker — download one binary and you are done.

01

下载二进制GET THE BINARY

# Linux x86_64 / aarch64 · macOS · Windows tar xzf orcarein-*.tar.gz mv orcarein ~/.local/bin/
Releases → · 或从源码:or from source: cargo install --path crates/orcarein
02

配好钥匙SET YOUR KEY

export DEEPSEEK_API_KEY="sk-..."
只走环境变量,或 0600 权限的 secrets.toml——绝不当 CLI 参数。OpenAI 兼容端点用 --provider 切换。Environment only, or a 0600 secrets.toml — never a CLI flag. Switch OpenAI-compatible endpoints with --provider.
03

体检,开聊DOCTOR, THEN CHAT

orcarein doctor orcarein
doctor 离线检查配置是否就绪;进了 REPL 用 /help 看全部斜杠命令。doctor checks your setup offline; inside the REPL, /help lists every slash command.
树莓派 / 香橙派(aarch64)开箱即用Raspberry Pi / Orange Pi (aarch64) out of the box rustls,自带根证书,不碰 OpenSSLrustls with bundled roots — no OpenSSL 自带 key,受限网络直连 provideryour key, straight to your provider
:roadmap

航线图THE ROUTE AHEAD

计划会随开发调整,进度以 releases 页为准;这里只列大项。Plans shift as development goes; the releases page is the source of truth. Only the big items are listed here.

v0.3.0 · 你在这里YOU ARE HERE
已落地SHIPPED

vim 模态编辑器、MCP 客户端、技能与子 agent、项目记忆、运行时切模型。Vim modal editor, MCP client, skills & subagents, project memory, live model switching.

v0.4
权限 v2 + HooksPERMISSIONS V2 + HOOKS

allow / ask / deny 规则与权限档位;~/.ssh、.env、*.pem 路径风险升级;PreToolUse / PostToolUse 由退出码强制执行。allow / ask / deny rules and permission profiles; path-risk escalation for ~/.ssh, .env, *.pem; PreToolUse / PostToolUse hooks enforced by exit code.

v0.5
自动压缩AUTO-COMPACTION

阈值触发压缩 + prompt_too_long 兜底;修剪陈旧工具输出,保住缓存前缀。Threshold-triggered compaction with a prompt_too_long fallback; stale tool output trimmed, cache prefix preserved.

v0.6
沙箱SANDBOX

orcarein-sandbox:Linux Landlock + seccomp(默认 workspace-write + 断网),macOS Seatbelt,Windows 诚实降级。orcarein-sandbox: Linux Landlock + seccomp (workspace-write + no-net by default), macOS Seatbelt, honest degradation on Windows.

v0.7
MCP over HTTP · 并行子 agent · RepomapMCP OVER HTTP · PARALLEL SUBAGENTS · REPOMAP

Streamable HTTP 传输与 .mcp.json;task 并行 fan-out 与自定义 agent 类型;tree-sitter 符号索引,离线可用;自定义斜杠命令。Streamable HTTP transport and .mcp.json; parallel task fan-out with custom agent types; tree-sitter symbol index, offline; custom slash commands.

v0.8
检查点 · 流式 Markdown · Web 工具CHECKPOINTS · STREAMING MARKDOWN · WEB TOOLS

side-git 快照 + /restore 一键回滚;token 流中渐进渲染 Markdown;web_fetch / web_search,国内外检索后端可换。side-git snapshots with /restore rollback; Markdown rendered progressively mid-stream; web_fetch / web_search with swappable backends.

1.0
1.0 的条件WHAT 1.0 TAKES

orcarein-core 公共 API 冻结、审计通过,满足了才发。The orcarein-core public API frozen and audited — it ships when that holds.

:security

OrcaRein 不是沙箱。ORCAREIN IS NOT A SANDBOX.

下面每一条都写在 README 和源码里,可以逐条核对;看完再决定给多少信任。Every line below is written in the README and the source — check them one by one, then decide how much trust to give.

目前没有沙箱。No sandbox yet. 权限确认是唯一的安全层,而且刻意做得很薄;真沙箱排在 v0.6。The permission prompt is the only safety layer, deliberately thin; the real sandbox is slated for v0.6.
允许即真执行。Allowed means executed. bash、write_file、edit 以你的完整用户权限运行。bash, write_file and edit run with your full user privileges.
"Always" 管到会话结束。"Always" lasts the session. 对某工具答一次 A,本次会话内它不再询问。Answer A once and that tool stops asking for the rest of the run.
--no-permission 只给管道。is pipes-only. 交互式终端下直接拒绝,仅在非 tty stdin 下生效。Refused on an interactive terminal; it only works with non-tty stdin.
默认拒绝。Deny by default. 空输入、EOF、任何意外输入,都当作"不"。Empty input, EOF, anything unexpected — all count as "no".
key 不落仓库。Keys never touch the repo. 只走环境变量或 0600 的 secrets.toml,绝不当 CLI 参数。Environment or a 0600 secrets.toml — never a CLI flag.
诚实降级。Honest degradation. 非 tty、TERM=dumb、串口、headless——退回干净的纯文本,不假装。Non-tty, TERM=dumb, serial, headless — it falls back to clean plain text instead of pretending.
双许可开源。Dual-licensed open source. MIT OR Apache-2.0,核心是可嵌入的 orcarein-core 库。MIT OR Apache-2.0, built on the embeddable orcarein-core library.
请在有版本控制、或有备份的代码上运行 OrcaRein。RUN ORCAREIN ON CODE THAT IS UNDER VERSION CONTROL OR BACKED UP.
-- NORMAL --~/orcarein/首页.zh.md [+]unix · utf-8§ 首页Top