The deployed agent model is gemma4:e2b; these references still named mistral-nemo, so the setup and troubleshooting steps checked for a model that is no longer expected to be present. Co-Authored-By: Claude <noreply@anthropic.com>
124 lines
3.3 KiB
Markdown
124 lines
3.3 KiB
Markdown
# Webber - Multi-Agent AI Development System
|
|
|
|
A Claude Code-inspired development assistant powered by local LLMs via Ollama.
|
|
|
|
## Features
|
|
|
|
- **3 Agents** - Explore (read-only), Plan (architecture), Task (orchestrator)
|
|
- **8 Tools** - File read/write/edit, glob, grep, bash, web search
|
|
- **Conversations** - Multi-turn memory with context summarization
|
|
- **Streaming** - Real-time response display
|
|
- **Self-hosted** - Runs on your own hardware with Ollama
|
|
|
|
## Structure
|
|
|
|
This is a monorepo containing three subprojects:
|
|
|
|
| Directory | Description |
|
|
|-----------|-------------|
|
|
| `webber-api/` | FastAPI backend server with agent orchestration |
|
|
| `webber-cli/` | Command-line client for interacting with the API |
|
|
| `webber-sandbox/` | Test project for functional testing |
|
|
|
|
### Additional Directories
|
|
|
|
| Directory | Description |
|
|
|-----------|-------------|
|
|
| `sandbox-templates/` | Reusable project templates for the sandbox |
|
|
| `.gitea/workflows/` | CI/CD workflows for releases |
|
|
|
|
## Quick Start
|
|
|
|
### 1. Start the API Server
|
|
|
|
```bash
|
|
cd webber-api
|
|
python3.12 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt -r requirements-dev.txt
|
|
./wakeup.sh
|
|
```
|
|
|
|
### 2. Set Up the CLI
|
|
|
|
```bash
|
|
cd webber-cli
|
|
python3.12 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
pip install -e .
|
|
|
|
# Test connection
|
|
webber-cli status
|
|
```
|
|
|
|
### 3. Explore with Webber
|
|
|
|
```bash
|
|
# One-shot exploration
|
|
webber-cli explore "find all bugs in the code" -d /path/to/project
|
|
|
|
# Interactive chat
|
|
webber-cli chat -d /path/to/project
|
|
```
|
|
|
|
## Available Tools
|
|
|
|
| Tool | Description |
|
|
|------|-------------|
|
|
| `read_file` | Read file contents with line numbers |
|
|
| `glob_files` | Find files by pattern |
|
|
| `grep_content` | Search file contents with regex |
|
|
| `bash_readonly` | Safe bash commands (ls, git status, etc.) |
|
|
| `edit_file` | Find-and-replace editing |
|
|
| `write_file` | Create/overwrite files |
|
|
| `bash` | Full bash with safety controls |
|
|
| `web_search` | Search web via SearXNG |
|
|
|
|
## Agents
|
|
|
|
| Agent | Purpose | Tools |
|
|
|-------|---------|-------|
|
|
| **Explore** | Fast codebase navigation, search | Read-only (glob, grep, read, bash_readonly) |
|
|
| **Plan** | Design implementation strategies | Read-only (same as Explore) |
|
|
| **Task** | Autonomous multi-step execution | All tools + spawn_agent |
|
|
|
|
## API Endpoints
|
|
|
|
```bash
|
|
# Stateless agent execution
|
|
POST /agents/run # Execute agent, get response
|
|
POST /agents/stream # Execute with SSE streaming
|
|
GET /agents/ # List available agents
|
|
|
|
# Stateful conversations (multi-turn memory)
|
|
POST /conversations/ # Create conversation
|
|
GET /conversations/ # List conversations
|
|
POST /conversations/{id}/messages # Add message, get agent response
|
|
```
|
|
|
|
## Versioning
|
|
|
|
This project uses prefixed tags for independent release cycles:
|
|
|
|
- `api/v0.4.0` - Triggers API Docker build and deployment
|
|
- `cli/v0.1.0` - Triggers CLI installer build (future)
|
|
|
|
## Requirements
|
|
|
|
- Python 3.12+
|
|
- Ollama running with `gemma4:e2b` model
|
|
- Docker (for production deployment)
|
|
- SearXNG (optional, for web search)
|
|
|
|
## Documentation
|
|
|
|
- `webber-api/AGENTS.md` - API development guidelines
|
|
- `webber-api/docs/COVERAGE.md` - Feature coverage and roadmap
|
|
- `webber-api/docs/architecture.md` - System architecture
|
|
- `webber-cli/README.md` - CLI usage guide
|
|
|
|
## License
|
|
|
|
MIT
|