Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,12 @@ You are a 0.1% expert in computer science, systems programming, infrastructure,
### PHASE 2 (shipping now)
- **Auto-fix loop (2026-04-10)** — Post-edit lint + tests + feedback-driven retries replace the old rollback revert. Anti-cheat protected. `autoFixLoop` in settings.json, `autoRollback` alias kept for backward compat.
- **Auto git commits + /undo + /redo (2026-04-10)** — Per-turn working-tree snapshots on private shadow refs (`refs/rustyclaw/sessions/<id>`). New `/undo`, `/redo`, `/autocommit` slash commands. Keeps 10 newest session refs with startup prune. Other tools with undo pollute history; RustyClaw's shadow refs are invisible to `git log`/`branch`/`status`. No competitor has `/redo`.
8. **Autonomous browser agent (2026-04-15)** — `/browse <goal>`, `rustyclaw browse`, `/voice` prefix routing. Goal-driven loop reuses the query_engine tool-use pipeline. 50-step cap, approval gate on destructive actions, loop_detector stagnation guard, milestone TTS for voice. SDK exposes `browse/start` + progress + approval + completed notifications.

### NEXT UP
6. **SDK/headless sidecar** — NDJSON stdio binary for editor embedding. Uncontested.
7. **Phase 2 robustness** — Diff review, self-update, shell completions.

### DEFERRED
- **Autonomous browser agent** — `/browse <goal>` plan-act-evaluate loop with stagnation detection. Manual `browser_*` CDP tools ship today and cover the common cases. Previous scaffolding (`src/browser/loop_detector.rs`, `src/browser/planner.rs`) was removed 2026-04-12 to keep the codebase honest; re-design from scratch when ready.

### THE PITCH
"A single 19 MB static Rust binary that indexes your codebase, routes tasks to the cheapest model, runs parallel agents in worktrees, speaks in your voice, shows you every token spent, and works offline via Ollama. Sub-50ms startup. Zero dependencies. Zero flickering. XDG-compliant. AGENTS.md + CLAUDE.md."

Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ rustyclaw
| Model router | No | No | **Auto-route by task complexity** |
| Parallel agents | No | No | **Git-worktree isolation** |
| Voice I/O | No | No | **Whisper + XTTS v2 cloning** |
| Browser automation | External MCP server | No | **8 CDP tools, in the binary** |
| Browser automation | External MCP server | No | **9 CDP tools, in the binary** |
| Autonomous browser agent | No | No | **Goal-driven, 50-step cap, safety-gated** |
| Auto-fix loop | No | No | **Post-edit lint + tests + retry** |
| `/undo` · `/redo` | No | Partial (pollutes git log) | **Invisible shadow refs** |
| OpenAI-compat providers | No | Partial | **9 providers, working tools** |
Expand Down Expand Up @@ -141,6 +142,10 @@ Full tool use over Ollama's native format. Other Rust ports have had this broken

Eight CDP-driven tools — `browser_navigate`, `browser_snapshot`, `browser_click`, `browser_fill`, `browser_screenshot`, `browser_get_text`, `browser_press_key`, `browser_wait` — shipped in the binary and enabled by default. Snapshots return a text tree with stable `@eN` element refs you can pass to click/fill. Works against any Chromium-based browser (Chrome, Chromium, Brave, Edge) you already have installed. No external automation server, no separate install.

### 🤖 &nbsp; Autonomous browser mode — `/browse <goal>`

Give it a goal, it drives. `/browse find the cheapest flight SF to Tokyo on July 7` navigates, fills forms, scrolls, reads results, and speaks the answer. 50-step hard cap (configurable), destructive-action approval gate (pauses at payment / delete / OAuth / free-trial-autobill), stagnation detector (escalating nudges when the model is stuck). `rustyclaw browse "<goal>" --json` runs the same loop headless from scripts or CI. `/voice` with prefixes `browse | browser | web | go to | open | shop for | book | order` drives it hands-free with milestone TTS at start, gate trip, and end.

### 🦀 &nbsp; Single 19 MB static binary

No runtime. No dependencies. No post-install scripts. `scp` it to a server and run. Cross-compiled for `x86_64-linux-gnu`, `aarch64-linux-gnu`, and `x86_64-linux-musl` on every release.
Expand Down
8 changes: 8 additions & 0 deletions scripts/readme-lint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@ else
err " fix: edit README.md (table row + /model line) to say \"${provider_count} providers\""
fi

# ── 4. Autonomous browser claim ──────────────────────────────────────────────
if grep -qF "Autonomous browser agent" README.md; then
ok "README.md has 'Autonomous browser agent' row"
else
err "README.md missing 'Autonomous browser agent' row (expected after /browse ship)"
err " fix: add '| Autonomous browser agent | No | No | ...' to the comparison table"
fi

# ── Result ───────────────────────────────────────────────────────────────────
if [ "$fail" -eq 0 ]; then
echo ""
Expand Down
Loading
Loading