
Runeward
io.github.Runewardd由 GitHub 帳號 Runewardd 發布v0.1.4更新於 Oct 24, 2026
Governed execution cells for AI agents: Docker/K8s sandboxes with policy, audit, and approvals.
概覽
Runeward(Rune Box)為 AI 代理在 Docker、Podman 或 Kubernetes 沙箱中的操作加上政策、審批、預算與簽章稽核。
- 可以做什麼
- 在隔離沙箱中執行受控的 shell、程式碼、檔案、網路與瀏覽器操作,每項先經政策檢查
- 依允許、拒絕或需審批作出判定,並支援人工審批與單次執行的預算與限額
- 記錄僅追加、雜湊鏈結、簽章的稽核事件,並匯出可獨立驗證的證據檔
- 透過 CLI、REST API、儀表板與 MCP 管理沙箱、政策設定、代理群組、持久工作區與分支
- 測試與產生政策範本,並從已驗證證據推導候選規則供人工審閱
- 發布代理對話回合,讓獲授權成員檢視去識別化後的即時對話
- 適用情境
- 當代理需要執行指令或讀寫檔案,而你希望有可強制執行的護欄、審批關卡、時間與費用上限,以及可驗證的操作證據時適用。適合已在執行 Docker、Podman 或 Kubernetes、並想包住現有代理或框架而非更換編排堆疊的團隊。
- 執行需求
- 以本機程序透過 stdio 執行,由 runeward 執行檔以 mcp 子指令啟動。本機沙箱需要執行中的 Docker、OrbStack 或 Podman 引擎(Kubernetes 後端則需叢集),CLI 需另行安裝,例如透過 Homebrew。選用環境變數 RUNEWARD_CONFIG_DIR 與 RUNEWARD_STATE_DIR 指定設定與稽核帳本目錄。政策設定可透過 env:// 引用密鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Runeward,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[Rune Box: an environment where your agent can roam freely but with receipts]
Rune Box: an environment where your agent can roam freely but with receipts.
The open-source governance harness for AI agents, by Runeward.
[License: Apache-2.0] [CI] [Rust MSRV 1.95] [Release]
Put enforceable policy, human approvals, isolated execution, budgets, and signed evidence around any AI agent. Rune Box works with an existing agent or multi-agent framework rather than requiring a new model or orchestration stack.
Prove it in one command
Prerequisites: a running Docker, OrbStack, or Podman engine and the runeward binary.
The command creates .runeward/quickstart.toml, checks the policy, runtime, image, and state path,
runs an allowed command, proves a destructive command is denied before execution, and verifies the
signed audit trail. It never overwrites an existing policy unless --force is passed.
doctor and dashboard readiness also resolve required secret sources. A Charter that references an
unset env:// value is not presented as launch-ready.
What Rune Box adds
Every governed action follows one path:
Naming
Documentation and UI use familiar terms first. Existing API paths and file fields retain the original themed names for compatibility.
See the full naming and writing convention.
Install
Choose the package that matches how you use Rune Box:
For normal local use, install the CLI with Homebrew. For an agent integration, install the SDK for its language as well. The pip and npm packages connect to a running Rune Box API; they do not replace the CLI/runtime.
Homebrew — CLI
Local sandboxes require a running Docker, OrbStack, or Podman engine.
pip — Python SDK
Requires Python 3.9 or newer. The base client has no third-party runtime dependencies.
npm — TypeScript SDK
Requires Node.js 18 or newer.
See Adapters for LangChain, CrewAI, LlamaIndex, OpenAI Agents, Strands, Vercel AI SDK, and LangChain.js installation options.
Other CLI installation options
The signed macOS/Linux installer requires
cosign so it can fail closed while
verifying the checksum manifest. Windows binaries are available from
Releases.
To build the current main branch, use Rust 1.95 or newer (the workspace MSRV):
cargo install --locked --path crates/runeward-cli installs it into ~/.cargo/bin instead.
Use it with an agent
Expose governed tools to an MCP-capable IDE or agent:
Or place an agent CLI inside a sandbox and run one or many governed workers:
Adapters are included for LangChain, CrewAI, LlamaIndex, OpenAI Agents, Strands, Vercel AI SDK, and LangChain.js. See Adapters and agent groups.
The dashboard also has a read-only Live chat TTY for each Citadel. Agent harnesses publish
user, assistant, tool, and system turns with runeward_publish_conversation (or the REST,
Python, and TypeScript equivalents), and authorized teammates can follow the redacted conversation
without terminal input access. Rune Box cannot infer private UI chat text that the agent client does
not publish; wire the publish call into the harness turn callback. The publisher must connect to the
same runeward serve control plane as the dashboard (through /mcp, REST, or an SDK).
Harness agents and subagents
Rune Box is the enforcement boundary around an agent, not the component that decides how the agent reasons. Route the tool calls of a parent agent and each delegated subagent through Rune Box to give them explicit policy, approval, isolation, budget, and evidence boundaries.
Existing concepts keep their meaning: a Cohort is a group of peer workers sharing a task board; it is not being renamed to “subagents.” The orchestrator still decides when to delegate, while Rune Box records the parent/run/provider lineage and prevents a child Citadel from widening its parent's tenant or Charter. Every participating agent can receive its own Citadel and Chronicle. See Agent harnessing.
Policy workflow
Policies support built-in glob rules, CEL, OPA/Rego, and signed OCI bundles. Test them in CI, start from a reviewed scaffold, or derive exact proposals from verified production evidence:
policy learn never edits a policy automatically. It verifies the evidence first, skips redacted
actions, produces exact matches, and requires a human to review and broaden them.
Security posture
- The server binds to loopback by default and requires authentication before a non-loopback bind.
- Non-loopback HTTP also requires TLS unless
--allow-insecure-httpexplicitly acknowledges that a trusted reverse proxy terminates TLS. - Multi-principal RBAC scopes sandboxes, agent groups, recovery snapshots, and dashboard views to their tenant while attributing every operation to its actor. Static tokens and OIDC JWTs use the same authorization model, and embedded HTTP MCP shares the REST ownership checks.
- Browser automation is experimental and disabled by default. Enable it only in a trusted deployment
with
RUNEWARD_ENABLE_EXPERIMENTAL_BROWSER=1after reviewing the security model. Browser-capable Charters declarecapabilities = ["browser"]; the dashboard then exposes governed rendered-text and screenshot actions and their policy/egress results. - An optional browser IDE (code-server inside the environment + ticketed reverse proxy) is similarly experimental:
RUNEWARD_ENABLE_EXPERIMENTAL_IDE=1, Charter[ide],Dockerfile.idetargetside/ide-agents, exampleside-demo/ide-claude/ide-codex/ide-cursor. Limits: not per-keystroke policy; no Cursor/Claude Desktop/Codex GUIs inside the environment; no first-class GitHub Copilot on code-server. See Browser IDE and the security model. - Per-action policy applies to tool calls routed through the control plane (REST, MCP, dashboard file/shell/code actions, and SDKs). An interactive terminal or a process already running inside a sandbox is a direct sandbox session: it receives isolation/network/resource controls and terminal recording, but its individual commands are not intercepted for approval. Use governed tool calls when command-level policy and signed verdicts are required.
- Report vulnerabilities privately using SECURITY.md. Rune Box remains pre-1.0; residual limitations are tracked in ROADMAP.md.
What's inside the environment
Beyond per-action policy, a Charter can confine the agent process itself and keep its work:
- In-sandbox confinement.
runeward-supervisorruns as PID 1 in the sandbox image and launches the agent under Landlock filesystem rules, a seccomp filter and a dropped identity, from the Charter's[filesystem]and[process]sections. See Isolation and the security model. - Credential brokering.
[[endpoint]]and[[credential]]entries let the egress proxy inject real secrets into approved requests while the agent only ever sees a placeholder, and an endpoint'sbinariesrestrict it to the listed executables (attributed per connection by the in-sandbox supervisor, strict egress only). See the security model. - Persistent workspaces and forks.
[workspace] persist = truekeeps a workspace across sleep, wake and control-plane restarts; forks start from a copy. Agent turns, Cohort memory, handoffs and[schedule]runs build on it. See Workspaces and context. - Hardened mode.
--hardened(orRUNEWARD_HARDENED=1) refuses to start unless every hardening check passes, and calls that never ran return a standard refusal object. See the CLI reference.
Architecture
Rune Box is a Rust Cargo workspace (crates/) that builds four binaries:
The library crates split along the control loop:
runeward-charter: Charter schema, loader, linter and signatures.runeward-policy: glob/argv, CEL and Rego engines, guardrails and usage accounting;runeward-policybundledistributes signed OCI policy bundles.runeward-controlplane: governed execution (policy, approval, limits, backend exec, ledger), workspaces, forks, agent turns, Cohort memory and schedules.runeward-backend: Docker, Podman and Kubernetes sandbox backends.runeward-server(REST, WebSockets, dashboard) andruneward-mcp(stdio and streamable HTTP).runeward-k8s:runeward.devCRDs, the Citadel/Cohort controller and the admission webhook.runeward-ledger,runeward-keys,runeward-auditsink,runeward-termrec: the signed, hash-chained audit trail, its keys, sinks and terminal recordings.runeward-authz,runeward-secrets,runeward-credentials,runeward-fleet,runeward-obs: RBAC/OIDC, secret sources, CLI login, the Cohort task board, and logs/metrics.
Release binaries ship for Linux (static musl, amd64/arm64), macOS (amd64/arm64) and Windows (amd64, CLI only); container images are multi-architecture and cosign-signed.
Documentation
- Quickstart
- Install
- Isolation
- Workspaces and context
- Policies / Charters
- REST API
- Browser IDE (experimental code-server proxy)
- Security model
- End-to-end testing
- Published site: runeeward.github.io/RuneBox
Contributions are welcome; see CONTRIBUTING.md. Licensed under Apache 2.0.
來源:README.md,提交 84e737f
工具
0版本歷史
1- v0.1.4最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分