aphrodite-1.3.8 has been yanked.
Visit the last successful build:
aphrodite-1.4.2
aphroditeβπβCore Engine
CCR compression proxy + cdylib - classify, compress, store, preview. Sub-ms, 26 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 (5 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
βββ directives.rs β Conversational directives: load, inject, list/swap/add/remove/reset
βββ setup.rs β `aphrodite setup` one-shot bootstrap (Gatekeeper-safe artifact install)
βββ 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, filter, paginate, truncated flag
C ABI (25 functions)
The 25 #[no_mangle] extern "C" exports in lib.rs (22 written out plus 3
macro-generated: aphrodite_compress, aphrodite_transform,
aphrodite_terminal) 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.