01 / Why it feels better
More bounded than chat. More legible than autopilot.
The system does real work, but it never asks the developer to stop caring about scope, review, or authorship.
Apsara turns the current CLI and backend spine into a stronger product story: workspace-scoped tools, reviewable diffs, quieter internal activity, and persistent context that feels built for real codebases instead of generic AI chat.
npm i -g @apsara/cliconst agent = await apsara.inside("./repo");const plan = await agent.trace({intent: "refactor approval flow",guardrail: "human-review"});return plan.review();Patch prepared · 2 files changed
Waiting for human approval before write
01Repo-bound
Project-local init and config stay with the codebase.
02Diff-first
Meaningful edits pause for human review before they land.
03Session-aware
The workflow keeps durable context instead of resetting every time.
Product View
Runtime / 01—04
This is the part worth showing. Project-local startup, bounded tools, hidden internals on demand, and a review step before edits land all turn the agent loop into something developers can actually trust.
01 / Why it feels better
The system does real work, but it never asks the developer to stop caring about scope, review, or authorship.
02 / checkpoint
The developer reviews the diff before meaningful writes touch the repo.
● agent.event
status: "awaiting_review"
03 / checkpoint
Tool chatter stays hidden until /details is explicitly opened.
● agent.event
status: "details_available"
04 / checkpoint
The workflow surfaces what changed, why it changed, and what still needs a decision.
● agent.event
status: "context_persisted"
Product tone
Calm enough to trust. Clear enough to inspect. Useful enough to keep using.
Human loop
That means workspace scoping, review gates before writes, and internal activity that stays available without taking over the entire interface.
// Review stays in the critical path instead of getting bolted on after the fact.
Capabilities
The value is not speculative. These are the real behaviors that make the current CLI and backend feel more trustworthy than a generic AI tab.
workspace.init
Apsara starts inside the repo, keeps config where the work lives, and avoids the disconnected AI chat problem.
tools.scope
Search, reads, writes, and line replacement stay bounded to the allowed root instead of wandering across the machine.
review.diff
Meaningful changes stop at a review gate so the developer keeps the final say before edits apply.
trace.details
Tool activity stays quiet by default, while /details gives power users the exact work trail when they want it.
events.persist
FastAPI, Postgres persistence, usage tracking, and SSE streaming give the agent loop a real foundation.
session.resume
Conversation history and usage events stay durable so the workflow remains accountable across runs.
How It Works
Orient the repo, delegate the legwork, and keep authorship through review. The product gets out of the way without becoming vague.
Initialize Apsara inside the repo so the session inherits the right filesystem boundary and project-local context.
apsara init .Trace the code, inspect files, and draft a change while keeping raw tool noise tucked away unless it is needed.
apsara run <intent>Approve the diff, reject it, or redirect the next step while the session keeps the thread and reasoning intact.
approve --reviewClosing Thought
The strongest story is already there: repo-first setup, bounded tools, quieter internals, reviewable diffs, and durable context for serious engineering work.