Quickstart
Mole Fang requires Node 26 with native TypeScript stripping enabled. Download the developer preview or run it from the repository.
cd mole-fang
node --experimental-strip-types apps/tui/src/cli.ts
# or use the zero-dependency demo path:
MOLEFANG_HOME=/tmp/molefang node --experimental-strip-types apps/tui/src/cli.ts --once "Explain the context hive."
Architecture
SQLite in WAL mode stores sessions, context chunks, connector manifests, gate runs, proofs, reports, and the simulated credit ledger. The loopback API binds to 127.0.0.1 with a per-process bearer token. When loopback is unavailable, the TUI falls back to the same in-process client contract.
- Context packet: distilled intent + up to four vector-relevant chunks + a 1,200-token budget.
- Coordinator: SpitBoomslang via a configured local-first OpenAI-compatible endpoint, then deterministic planner.
- Pack: default 24; hard max 300; Wide Hunt enabled only after 150 verified eligible real endpoints.
- Output: 500 characters by default, configurable from 80 to 1,000.
TUI keys
| Key | Action |
|---|---|
Enter | Focus prompt / send / inspect |
h p c s | Hive, Pack, Marketplace, Settings |
j/k | Select connector or weight preset |
a | Allowlist the selected endpoint |
r | Report the selected endpoint for review |
d | Toggle unrestricted-tools acknowledgement |
w | Arm Wide Hunt after eligibility is met |
/ ? q | Palette, help, quit |
Connectors
The nine built-in adapters are Claude, Codex, Grok, Hermes, OpenClaw, Ollama, OpenRouter, Hugging Face, and ChameleonMCP. Local CLI adapters use headless ephemeral modes. API adapters read credentials from the OS keychain with environment fallback.
CallCI gates
Every interaction records three local gate results: permission/allowlist, retention/eligibility, and response compliance. Hot-path checks use cached signatures and allowlists; proof persistence happens after the decision.
Zero Data Retention
Marketplace providers must publish a signed manifest matching the current policy SHA. Reports freeze the provider for the reporting session. A changed policy hash, key fingerprint, or signature blocks eligibility and records any unspent reserve as refundable.