mobpack is the portable artifact for mobs. You build it once, then deploy consistently in CLI, service, or browser workflows.
What you get
- Single-file artifact:
.mobpack - Optional signing and trust verification
- Deterministic
inspectandvalidateboundaries - Direct deploy (
mob deploy) and browser bundle target (mob web build)
Directory to artifact
manifest.tomldefinition.json- optional
skills/,hooks/,mcp/,config/defaults.toml
Signed packs and trust policy
Sign at pack time:- CLI
--trust-policy RKAT_TRUST_POLICY- config
trust.policy - default
permissive
- unsigned packs
- unknown signers
- invalid signatures
- signer key mismatches
Deploy modes
One-shot CLI run:Browser target: mob web build
The web build compiles the real meerkat agent stack to wasm32 — same agent loop, same LLM providers (Anthropic, OpenAI, Gemini), same streaming as CLI/RPC/REST. Not a simulation.
Prerequisites:
runtime.js— wasm-bindgen JS bindingsruntime_bg.wasm— compiled meerkat agent stack (~1.5MB)mobpack.bin— the packed mob artifactmanifest.web.toml— derived web manifest
RKAT_WASM_PACK_BIN: explicit wasm-pack binaryRKAT_WEB_RUNTIME_CRATE_DIR: explicit runtime crate directory for build
How the WASM runtime works
The runtime usestokio_with_wasm as a drop-in tokio replacement (backed by the JS event loop), reqwest with browser fetch for HTTP, and web-time for browser-safe timestamps. The #[async_trait(?Send)] pattern handles wasm32’s single-threaded model.
API:
Browser capabilities and limitations
Available: agent loop (streaming, retries), all LLM providers, sessions, JSON schema validation, budget enforcement, events, skills, MCP config types, tool/compactor/memory traits. Not available (browser inherent): filesystem config loading, stdio MCP servers, shell tool, file-based persistence. Use programmatic config and in-memory storage instead. Not yet available (upstream blocker): MCP protocol client over HTTP — thermcp crate depends on tokio/mio which don’t compile on wasm32. MCP config types and tool definitions work; actual connections to MCP servers are blocked pending rmcp wasm32 support.
Cool web patterns
Incident war room
Buildops-war-room.mobpack, publish web bundle behind internal auth, and let responders open a zero-install multi-agent workspace in-browser.
Embedded dashboard copilot
Bundledashboard-copilot.mobpack and embed it in your observability or release dashboard to summarize anomalies and propose mitigation steps in context.
Example library
See runnable examples:examples/028-mobpack-release-triage-shfor a signed release-triage mobpack that is packed, inspected, validated, and deployed end to endexamples/029-web-incident-war-room-shfor a browser-deployable SEV war room with source-controlled mobpack inputs and kickoff promptsexamples/030-web-dashboard-copilot-shfor an embeddable dashboard copilot that emits a web bundle plus sample host-integration assetsexamples/031-wasm-mini-diplomacy-sh
