aphroditeβπβCore Engine
CCR compression proxy + cdylib - classify, compress, store, preview. Sub-ms, 28 content types, 12,800Γ max ratio.
The core compression engine. Produces both the aphrodite binary (HTTP proxy on
:9797/:9798) and libaphrodite.dylib (loaded by the Hermes plugin via C ABI).
Install
# From source (monorepo)
# From crates.io
What it does
tool output β classify β template β store β <<<CCR:hash|type|size>>>
β
βΌ
Agent (15 tok preview, not 500 tok raw)
Four pipeline stages, all under 1ms:
- Classify - 26-type regex classifier (
diff,build_output,code_rust, β¦) - Template - TOML-driven preview templates per content type
- Store - blake3 hash β SQLite or in-memory β CCR marker
- Preview - Structured
[type:metadata]the LLM reads instantly
Architecture
src/
βββ lib.rs β 25 C ABI exports for dylib loading
βββ proxy.rs β HTTP proxy (:9797 cache, :9798 token)
βββ hooks.rs β transform_tool_result, terminal, pre/post LLM
βββ session.rs β Turn lifecycle, conversation index, catalog
βββ state.rs β AphroditeState, inline store, LRU, markers
βββ marker.rs β CCR marker formatting + parsing (<<<CCR:β¦>>>)
βββ catalog.rs β Full/compact/TOC catalog display
βββ resolve.rs β Recursive CCR expansion (3 levels deep)
βββ stage2.rs β Semantic reduction for JSON, build, diff, code
βββ struct_extract.rs β Code structure maps (Rust, Python, Go, JS/TS)
βββ config.rs β CLI args + TOML multi-config
βββ config_loader.rs β TOML + env var loading
βββ prefetch.rs β Background file read + compress threads
βββ preview.rs β detect_type, build_preview (shared across proxy + dylib)
βββ main.rs β Binary entry point
βββ retrieve.rs β POST /retrieve - hash β content, zstd decode, filter, paginate
C ABI (22 functions)
The 22 #[no_mangle] extern "C" exports in lib.rs serve both the
aphrodite-hermes bridge crate (which re-exports a higher-level ABI - see
crates/aphrodite-hermes/README.md) and the Python plugin's ctypes bindings.
Dependencies
headroom-core- Content transforms + classifier + SQLite backend (vendored fork atvendor/headroom/)axum/tokio/tower-http- HTTP proxy (optional, gated behindproxyfeature)serde/serde_json- Serializationblake3- Content-addressed hashing
See Also
- Installing Aphrodite - which artifact you need, per-platform install guides, troubleshooting
- aphrodite.toml Configuration - full
TOML schema this crate's
config.rsdeserializes - Hermes Integration - how this binary's
sibling dylib crate (
aphrodite-hermes) plugs into Hermes Agent
License
CC0-1.0 - public domain.