Browser UI#
Launching the UI#
One-line commands#
# Production — build frontend, open browser, serve on :8080
make open
# Production — build frontend, serve on :8080 (no browser)
make start
# Development — hot-reload Vite on :5173 + Python backend on :7860
make dev
# Or via the CLI directly (serves the last build)
eurekaclaw ui --open-browser
With a custom host/port:
eurekaclaw ui --host 0.0.0.0 --port 8080 --open-browser
How it works#
Mode |
Frontend |
Backend |
URL |
|---|---|---|---|
Production ( |
Pre-built bundle in |
Python server + API on same port |
|
Dev ( |
Vite dev server with HMR |
Python API on |
|
Frontend build (when you change React code)#
make build # tsc + vite build → eurekaclaw/ui/static/
make typecheck # type-check only, no output
Views#
Workspace#
The main view when a session is selected. Contains:
Agent track (left) — one card per pipeline stage (Survey · Ideation · Theory · Validation · Writing). Click any card to open the Agent Drawer with stage-specific details.
Tabs (right):
Tab |
Content |
|---|---|
Live |
Real-time stage cards, log stream, thinking animation while running |
Proof |
Theorem block, lemma chain with confidence badges, counterexample warnings |
Paper |
PDF viewer, LaTeX source viewer, Paper Q&A chat, paper version indicator, and rewrite button |
Logs |
Full raw log output |
Skills#
Browse, install, and delete skills. Left panel shows seed skills; right panel is the ClawHub external install panel. Each skill card shows usage count and success rate.
Config#
Edit all .env variables in the browser, including 12 MAX_TOKENS_* sliders. Changes are written directly to your .env file and take effect on the next run. See Token Limits for what each slider controls.
Onboarding#
The interactive setup wizard (shown on first launch). Guides through model selection, API key setup, optional tools, and skills installation. Can be re-opened at any time via the Guide button in the bottom-right corner.
Session Controls#
Pause / Resume#
While a session is running, a Pause proof button appears. EurekaClaw stops gracefully at the next lemma boundary and writes a checkpoint to ~/.eurekaclaw/sessions/<session_id>/checkpoint.json.
When paused, you can optionally type feedback before resuming:
📐 Guide the proof before resuming
Lemma chips: [concentration_bound] [main_result] ...
Textarea: "Use Bernstein instead of Hoeffding for lemma 2"
Feedback is injected directly into the next theory attempt.
Session list status indicators#
Status |
Visual |
|---|---|
Running |
Blue |
Pausing |
Amber |
Paused |
Amber |
Resuming |
Green |
Completed |
Green |
Failed |
Red |
Failed sessions show a Restart button that carries the original query to a new run.
Paper Q&A and Rewrite (v0.2.0)#
After the writer stage completes, the Paper tab activates a Q&A chat panel alongside the PDF viewer. This lets you interrogate the generated paper and prepare rebuttal responses — without leaving EurekaClaw.
Paper Q&A#
Type any question about the paper into the chat. The PaperQAAgent answers with:
Full access to the paper’s LaTeX source (placed in the system prompt for context-efficient multi-turn conversation)
Tool access — the agent can call
arxiv_search,semantic_scholar,web_search, andlatex_section_readto ground its answers in up-to-date literature and the specific section you’re asking about
Example interaction:
Question: The bound in Theorem 2 seems loose — is O(n²) tight?
⏳ Searching references...
✓ arxiv_search: "spectral gap tight bound"
✓ latex_section_read: section "Theorem 2"
The bound O(n²) follows from Weyl's inequality applied to the Laplacian
eigenvalues. [Chen et al. 2024] showed that for regular graphs this can
be tightened to O(n log n) using Cauchy interlacing. The current proof
does not exploit regularity, so there is room for improvement.
Q&A history is persisted to paper_qa_history.jsonl in the session directory — it survives browser refresh and session resume.
Paper Rewrite#
After reviewing the paper through Q&A, click Rewrite (or type a revision instruction in the chat and hit the rewrite button). EurekaClaw will:
Re-run Theory with your feedback injected into the agent’s task description
Re-run Experiment (if
EXPERIMENT_MODEallows)Re-run Writer to produce a new LaTeX paper
The pipeline state is updated live — the Live tab shows progress as usual. When the rewrite completes:
A new paper version is saved (
paper_v2.tex,paper_v3.tex, …)The Paper tab shows the updated paper
A system marker appears in the Q&A chat recording the revision instruction
Rewrite is non-blocking. The POST /api/runs/{id}/rewrite endpoint returns immediately (202 Accepted) and the pipeline runs in the background. You can continue using the UI while the rewrite is in progress.
Error recovery. If the rewrite fails (theory or writer agent error), the previous paper version is preserved and an error marker appears in the chat — the paper viewer is never left empty.
Paper tab state |
What you see |
|---|---|
Writer not yet complete |
Empty state / dots if session is running |
Writer complete, awaiting gate |
Q&A chat active, Accept / Rewrite controls visible |
Rewrite in progress |
|
Rewrite complete |
Updated paper + new version indicator |
Session failed |
Error message; previous paper preserved |
Gate Overlays#
Gates appear as overlay dialogs on top of the workspace — no matter which tab you are on. There are three gates:
Gate |
When it appears |
What you can do |
|---|---|---|
Survey |
Literature survey finds 0 papers |
Provide paper IDs or arXiv IDs to retry, or continue without papers |
Direction |
Ideation returns no candidate research directions |
Type a custom direction or accept the original conjecture as-is |
Theory Review |
After the theorem-prover completes |
Approve to continue to writing, or flag a specific lemma with a reason — flagging triggers a re-run with your feedback injected; auto-approved after |
Paper Q&A |
After the writer stage completes |
Review the paper via the Q&A chat; accept to finish the session, or trigger a rewrite with revision instructions |