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. |
|
archive
Package archive stores per-session visibility decisions for the sidebar.
|
Package archive stores per-session visibility decisions for the sidebar. |
|
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. |
|
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. |
|
codexrollout
Package codexrollout parses OpenAI Codex CLI "rollout" session logs into the same display model usher already uses for Claude Code sessions (jsonl.SessionMeta / jsonl.Turn), so the router, web, and agent layers can consume both backends through one contract.
|
Package codexrollout parses OpenAI Codex CLI "rollout" session logs into the same display model usher already uses for Claude Code sessions (jsonl.SessionMeta / jsonl.Turn), so the router, web, and agent layers can consume both backends through one contract. |
|
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 Claude Code permission decisions through usher's web UI.
|
Package hook brokers Claude Code permission decisions through usher's web UI. |
|
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. |
|
router
Package router glues discovery, sender, broker, and hook together.
|
Package router glues discovery, sender, broker, and hook together. |
|
sender
Package sender drives one long-lived interactive `claude` process per session — spawned in a window of a dedicated tmux server socket — and reports each turn's output by tailing the session's jsonl file.
|
Package sender drives one long-lived interactive `claude` process per session — spawned in a window of a dedicated tmux server socket — and reports each turn's output by tailing the session's jsonl file. |
|
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.