LazyBoy2/README.md

78 lines
2.2 KiB
Markdown
Raw Normal View History

# GrokBoy
Minimal local **GrokBot-like** CLI agent. Phase **P3**: optional Playwright DOM browser tools.
## Status
| Phase | Status |
|-------|--------|
| P0 streaming chat | done |
| P1 shell / files + ReAct | done |
| P2 completion / loop guard / truncation | done |
| P3 browser (Playwright DOM) | done (optional) |
No Docker desktop, no Codex/LazyBoy fork.
## Setup (macOS)
```bash
export GROKBOY_API_KEY=your_key # or XAI_API_KEY
# optional:
# export GROKBOY_BASE_URL=https://api.x.ai/v1
# export GROKBOY_MODEL=grok-4.6
# export GROKBOY_CONTEXT_CHARS=100000
cd ~/GrokBoy
cargo run -p grokboy -- chat
```
### Optional: Playwright browser tools
Browser tools are always registered but **fail closed** until you install the helper:
```bash
cd ~/GrokBoy/tools/playwright
npm install
npx playwright install chromium
```
Then the agent can use `browser_navigate`, `browser_snapshot`, `browser_click`, `browser_type`, `browser_eval` (DOM/selector/role — not screenshot-first).
## Commands
- `grokboy chat` — interactive streaming chat (no tools)
- `grokboy run "<prompt>"` — one-shot agent with tools
- `grokboy run --session <id> "<prompt>"` — continue a saved session
- `grokboy smoke` — offline checks (no API key / no Chromium required)
- `grokboy help`
Tools: `shell`, `list_dir`, `read_file`, `write_file`, `report_done`, `report_blocked`,
`browser_navigate`, `browser_snapshot`, `browser_click`, `browser_type`, `browser_eval`.
Sessions are stored under `~/.grokboy/sessions/<id>.json` (may include `last_browser_url`).
The agent stops on `report_done` / `report_blocked`, blocks identical tool rounds (×3), and truncates old context when over budget.
## 繁體中文
本機終端機 coding assistant。P3 可選 Playwright DOM 瀏覽器工具(非截圖優先)。
```bash
export GROKBOY_API_KEY=你的金鑰
cd ~/GrokBoy
cargo run -p grokboy -- smoke
# 可選瀏覽器:
cd tools/playwright && npm install && npx playwright install chromium
cargo run -p grokboy -- run "打開 example.com 並 snapshot"
cargo run -p grokboy -- chat
```
## Layout
```
crates/grokboy-core/ # config, model, tools, browser, agent, session
crates/grokboy/ # CLI binary
tools/playwright/ # optional Node Playwright helper (JSONL)
docs/ACCEPTANCE.md
```