Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
usher
command
usher is the entrypoint binary.
|
usher is the entrypoint binary. |
|
internal
|
|
|
agent/usheragent
Package usheragent is the main-chat agent that routes user messages to Claude Code sessions and resolves permission requests.
|
Package usheragent is the main-chat agent that routes user messages to Claude Code sessions and resolves permission requests. |
|
appserver
Package appserver implements the newline-delimited JSON-RPC transport used by `codex app-server`.
|
Package appserver implements the newline-delimited JSON-RPC transport used by `codex app-server`. |
|
auth
Package auth implements usher's password-based web UI auth: argon2id password hashing, an HMAC-signed stateless cookie tied to the current password hash (so changing password kicks every device), and a per-IP exponential-backoff rate limiter for /login.
|
Package auth implements usher's password-based web UI auth: argon2id password hashing, an HMAC-signed stateless cookie tied to the current password hash (so changing password kicks every device), and a per-IP exponential-backoff rate limiter for /login. |
|
backend
Package backend defines the backend-neutral contracts between the router and concrete coding-agent adapters.
|
Package backend defines the backend-neutral contracts between the router and concrete coding-agent adapters. |
|
broker
Package broker is a small in-process pub/sub for session events.
|
Package broker is a small in-process pub/sub for session events. |
|
claudestream
Package claudestream manages long-running Claude Code stream-json children.
|
Package claudestream manages long-running Claude Code stream-json children. |
|
codexrollout
Package codexrollout parses OpenAI Codex CLI "rollout" session logs into the the backend-neutral core display model consumed by router, web, and agents.
|
Package codexrollout parses OpenAI Codex CLI "rollout" session logs into the the backend-neutral core display model consumed by router, web, and agents. |
|
core
Package core holds shared types referenced by multiple internal packages.
|
Package core holds shared types referenced by multiple internal packages. |
|
discovery
Package discovery scans Claude Code's projects directory and watches it for changes, exposing the set of known sessions.
|
Package discovery scans Claude Code's projects directory and watches it for changes, exposing the set of known sessions. |
|
hook
Package hook brokers backend interactions through usher's web UI.
|
Package hook brokers backend interactions through usher's web UI. |
|
imutil
Package imutil holds helpers shared by usher's IM frontends (the in-process Telegram hub and out-of-process IM plugins): flattening session jsonl events into plain text, and IM-agnostic text utilities.
|
Package imutil holds helpers shared by usher's IM frontends (the in-process Telegram hub and out-of-process IM plugins): flattening session jsonl events into plain text, and IM-agnostic text utilities. |
|
jsonl
Package jsonl parses Claude Code's session log files.
|
Package jsonl parses Claude Code's session log files. |
|
mainchat
Package mainchat persists main-chat conversations as append-only jsonl files under <data-dir>/mainchats/<id>.jsonl.
|
Package mainchat persists main-chat conversations as append-only jsonl files under <data-dir>/mainchats/<id>.jsonl. |
|
modelcatalog
Package modelcatalog implements model metadata sources for built-in agent backends.
|
Package modelcatalog implements model metadata sources for built-in agent backends. |
|
pathutil
Package pathutil holds path-safety helpers shared across usher.
|
Package pathutil holds path-safety helpers shared across usher. |
|
pi
Package pi adapts pi coding-agent sessions and its RPC protocol to usher.
|
Package pi adapts pi coding-agent sessions and its RPC protocol to usher. |
|
pluginapi
Package pluginapi exposes the IM-frontend subset of the Router to out-of-process plugins over a Unix socket, and provides the matching client.
|
Package pluginapi exposes the IM-frontend subset of the Router to out-of-process plugins over a Unix socket, and provides the matching client. |
|
push
Package push delivers browser Web Push notifications for usher: a turn finishing or a permission prompt arriving while the web UI is closed or backgrounded.
|
Package push delivers browser Web Push notifications for usher: a turn finishing or a permission prompt arriving while the web UI is closed or backgrounded. |
|
router
Package router glues discovery, sender, broker, and hook together.
|
Package router glues discovery, sender, broker, and hook together. |
|
sender
Package sender drives headless Claude and Codex sessions and reports each turn's output by tailing the backend's session log.
|
Package sender drives headless Claude and Codex sessions and reports each turn's output by tailing the backend's session log. |
|
sessionmeta
Package sessionmeta persists per-session user decisions (archive, pin) in sessions.json under <data-dir>/.
|
Package sessionmeta persists per-session user decisions (archive, pin) in sessions.json under <data-dir>/. |
|
telegram
Package telegram is a dependency-free Telegram Bot API client plus the hub that mirrors usher's sessions into a forum supergroup, one topic per session.
|
Package telegram is a dependency-free Telegram Bot API client plus the hub that mirrors usher's sessions into a forum supergroup, one topic per session. |
|
terminal
Package terminal manages session-scoped tmux shells.
|
Package terminal manages session-scoped tmux shells. |
|
transcript
Package transcript adapts built-in persisted formats to the backend-neutral transcript contract.
|
Package transcript adapts built-in persisted formats to the backend-neutral transcript contract. |
|
web
Package web serves the usher HTTP API and embedded static UI.
|
Package web serves the usher HTTP API and embedded static UI. |
Click to show internal directories.
Click to hide internal directories.