Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
janus
command
Command janus is a proxy between Claude Code and the Anthropic API.
|
Command janus is a proxy between Claude Code and the Anthropic API. |
|
internal
|
|
|
anthropic
Package anthropic holds the Messages API wire types: requests, content blocks, and stream events.
|
Package anthropic holds the Messages API wire types: requests, content blocks, and stream events. |
|
backend
Package backend defines the interface every model backend satisfies, and its two implementations: the upstream Anthropic API and local LM Studio.
|
Package backend defines the interface every model backend satisfies, and its two implementations: the upstream Anthropic API and local LM Studio. |
|
capture
Package capture writes the readable per-request logs: a Markdown render, the raw request and response, and the request as it was sent when Janus changed it.
|
Package capture writes the readable per-request logs: a Markdown render, the raw request and response, and the request as it was sent when Janus changed it. |
|
config
Package config loads and validates the config file, layered with flags and environment overrides.
|
Package config loads and validates the config file, layered with flags and environment overrides. |
|
digest
Package digest is the transform that replaces an oversized tool result, on its way upstream, with a digest the local model writes.
|
Package digest is the transform that replaces an oversized tool result, on its way upstream, with a digest the local model writes. |
|
guard
Package guard keeps secrets and protected content from leaving the machine.
|
Package guard keeps secrets and protected content from leaving the machine. |
|
guard/guardtest
Package guardtest holds the corpus of invented secrets that the guard's tests, and the leak tests, are run against.
|
Package guardtest holds the corpus of invented secrets that the guard's tests, and the leak tests, are run against. |
|
instance
Package instance keeps to one Janus per log folder.
|
Package instance keeps to one Janus per log folder. |
|
ledger
Package ledger writes one decision record per request to an append-only log, and computes the cache-weighted cost figures reported by janus stats.
|
Package ledger writes one decision record per request to an append-only log, and computes the cache-weighted cost figures reported by janus stats. |
|
mcp
Package mcp is a small Model Context Protocol server: enough of the protocol to offer tools to a client over standard input and output.
|
Package mcp is a small Model Context Protocol server: enough of the protocol to offer tools to a client over standard input and output. |
|
proxy
Package proxy is the HTTP front door.
|
Package proxy is the HTTP front door. |
|
route
Package route names each request's class and decides which backend answers it: the upstream, or a local model by alias or by rule, with the fallbacks and checks a rule asks for.
|
Package route names each request's class and decides which backend answers it: the upstream, or a local model by alias or by rule, with the fallbacks and checks a rule asks for. |
|
shadow
Package shadow runs a request a second time on the local model, after the real answer has gone out, and records how the two compare.
|
Package shadow runs a request a second time on the local model, after the real answer has gone out, and records how the two compare. |
|
transform
Package transform rewrites the content of requests bound upstream, to send fewer tokens, without breaking prompt caching.
|
Package transform rewrites the content of requests bound upstream, to send fewer tokens, without breaking prompt caching. |
|
update
Package update finds out whether a newer Janus has been released.
|
Package update finds out whether a newer Janus has been released. |
|
validate
Package validate decides whether a local model's answer is fit to give to the client, or should be thrown away in favour of asking Claude.
|
Package validate decides whether a local model's answer is fit to give to the client, or should be thrown away in favour of asking Claude. |
|
worker
Package worker holds the tools janus offers Claude for handing work to the local model: reading that would otherwise fill Claude's context, done locally, with only a short answer going back.
|
Package worker holds the tools janus offers Claude for handing work to the local model: reading that would otherwise fill Claude's context, done locally, with only a short answer going back. |
|
scripts
|
|
|
archive
command
Command archive packs a folder into a release archive that is the same bytes wherever and whenever it is made, so that anyone can rebuild a release from its tag and compare (#264, ADR-004).
|
Command archive packs a folder into a release archive that is the same bytes wherever and whenever it is made, so that anyone can rebuild a release from its tag and compare (#264, ADR-004). |
|
checklayout
command
Command checklayout checks that a release built by scripts/release.sh is laid out as every installed Janus expects (ADR-004): it serves the dist folder as GitHub would and runs janus update's own install code against it, for every platform, with the keys the checksums were signed with.
|
Command checklayout checks that a release built by scripts/release.sh is laid out as every installed Janus expects (ADR-004): it serves the dist folder as GitHub would and runs janus update's own install code against it, for every platform, with the keys the checksums were signed with. |
|
consoleshot
command
Command consoleshot makes the picture of the Janus console in the docs (#223): it runs a scratch Janus against stand-ins for the Anthropic API and LM Studio, sends it made-up requests shaped like Claude Code's, keeps the console's colored output, and draws it as an SVG terminal window.
|
Command consoleshot makes the picture of the Janus console in the docs (#223): it runs a scratch Janus against stand-ins for the Anthropic API and LM Studio, sends it made-up requests shaped like Claude Code's, keeps the console's colored output, and draws it as an SVG terminal window. |
|
signsums
command
Command signsums signs a release's checksums.txt, so that a download can be checked against a key compiled into Janus rather than against the release page it came from.
|
Command signsums signs a release's checksums.txt, so that a download can be checked against a key compiled into Janus rather than against the release page it came from. |
Click to show internal directories.
Click to hide internal directories.