| name | aster-chat-sessions |
| description | Drive aster chat programmatically and manage sessions and memory: one-shot --print/--json answers, --messages-json for caller-owned history, --continue and --session persistence, --allow-edits gating, and the sessions/memory commands. Use when scripting aster chat, integrating it into an editor or agent, or inspecting saved transcripts. |
Chat, sessions, and memory
aster chat talks to the review agent with read/search tools over the repo. In a terminal it opens a TUI; from scripts and agents always use the one-shot forms.
One-shot answers
aster chat -p "why is finding 2 critical?"
aster chat --json "summarize the last review"
aster chat --no-tools -p "explain this error"
--model overrides the model for the turn (else ASTER_MODEL, else aster.yaml).
History and persistence
aster chat --continue -p "and the second one?"
aster chat --session <ID> -p "..."
aster chat --messages-json msgs.json -p "..."
--messages-json takes a JSON array of {"role","content"} with roles user | assistant | system. Combined with --session, the session only records the turn (the caller owns history); --session alone also seeds the session's prior history.
Edits
--allow-edits exposes an edit_file tool to the agent, gated by the permissions block in aster.yaml (deny-first globs, protected paths). Leave it off unless the task is explicitly to change files, and diff the working tree afterward.
Inspecting sessions
aster sessions
aster sessions show <id>
aster sessions --json
Durable memory
aster memory
aster memory add "we use pnpm"
aster memory add --title deploy "…"
aster memory --json
Memory is per-repo and fed to future chats and reviews; store durable facts (conventions, constraints), not one-off context.