A distributed AI agent orchestration platform with visual LiteGraph interface
Project description
CampfireValley
CampfireValley is a Campfires-based multi-agent workspace with a LiteGraph web UI, dock-based valley discovery, and a Docker stack that runs a local valley alongside a remote demo valley.
The workflow actively maintained in this repository is the web UI and Docker stack:
- Local valley UI on
http://localhost:8000 - Remote demo valley UI on
http://localhost:8001 - Redis-backed dock discovery and service catalog exchange
- Auditor-driven campfire management, including natural-language camper creation
- Visual graph links between valley, campfire, auditor, and campers
What Is Available Now
Web UI
- Local and remote valleys rendered on a LiteGraph canvas
- Left sidebar cards for the local valley, dock state, and discovered remote valleys
- Stable valley IDs shown in the sidebar and remote discovery cards
- Local and remote campfire detail panels with chat and action controls
- Snapshots, rounds, import/export, logs, tools, and model selection
Local Campfire Management
- Chat directly with local campfires and campers
- Use the Auditor as the orchestrator for a campfire team
- Ask deterministic read-only questions about workflow, settings, tools, and execution order
- Create campers with natural language, for example:
Create a new camper called summary-bot for this campfire.
- Reorder workflow steps with natural language
- Run
self auditandself audit cid:<correlation_id> - Clean up older legacy backend auditor campfires from the valley details panel
Watch Workflow Improvements
- Watch planning now prefers specialist non-auditor campers for
discoverandexecutewhen a suitable worker is available - Auditor verification and improvement rounds can feed learning back into future watch runs through the runtime learning bucket
- Generated watch reports are saved as HTML files and can be opened directly from emitted
file:///...links in demo output - Final watch answers can include a
Role Contributionsappendix so verification can confirm how specialist steps contributed to the result
Legal Contract Demo
examples/legal_team_demo.pyprovisions a realLegal Team,Legal Team Auditor,Contract Researcher,Contract Analyst, andLegal Reporter- The demo extracts text from
inspiration/Software Development Agreement - Hibbert IT Solutions (1).pdfwithpypdf - Full runs execute the normal watch flow:
discover -> plan -> execute -> verify -> improve - Demo output now includes direct file links for the reports directory, watch report HTML, and saved JSON result
Remote Valley and Campfire Discovery
- Discover remote valleys through Dock broadcasts
- Inspect remote valley route addresses, stable IDs, exposed campfires, and exposed services
- Open a remote campfire and inspect:
- visible campfires
- visible services
- advertised remote campers
- task types, capabilities, exposure, and rounds support
- Message remote campfires and add them to rounds
- Remote admin controls remain disabled by design
Service Catalog and Addressing
- Local services are described through service manifests
- Discovery payloads include stable valley IDs, public addresses, and exposed service summaries
- Campfires can be resolved by identifier as well as by display name
- Remote service manifests include capabilities, task types, summaries, and valley-scoped addresses
Quick Start
Docker Compose
- Clone the repository:
git clone https://github.com/MikeHibbert/pyCampfireValley.git
cd CampfireValley
- Copy the environment file:
cp .env.example .env
- Update
.envif needed:
OPENROUTER_API_KEYOLLAMA_HOSTVALLEY_IDENTIFIERCAMPFIRE_IDENTIFIERDISCORD_BOT_TOKENDISCORD_CHANNEL
- Start the stack:
docker compose up -d --build
- Open the running services:
- Local valley UI:
http://localhost:8000 - Remote demo valley UI:
http://localhost:8001 - Prometheus:
http://localhost:9090
Default Compose Services
| Service | Container | Host Port | Purpose |
|---|---|---|---|
| Local valley web app | campfire-valley-web |
8000 |
Main UI and local valley |
| Remote demo valley | campfire-valley-remote |
8001 |
Remote discovery target |
| Redis | campfire-redis |
internal | MCP broker and shared state |
| Prometheus | campfire-prometheus |
9090 |
Metrics |
| Optional Discord bot | campfire-discord-bot |
none | Routes Discord requests into the valley |
Common UI Workflows
Create a Camper
- Open
http://localhost:8000 - Select the local campfire or its Auditor
- Send a message such as:
Create a new camper called research-assistant for this campfire.
- Wait for the graph to refresh
- The new camper should appear with a single structural link from the parent campfire
Inspect a Remote Campfire
- Select a discovered remote valley
- Select one of its visible campfires
- Use the remote detail actions:
Message This CampfireUse In RoundsOpen Remote ValleyShow Visible Services
Work With Snapshots and Rounds
Save ValleyandLoad Valleysave and restore graph snapshotsImport Campfireand export actions move campfire configs across valleysRoundsbuilds ordered local or remote service chains when those services are advertised
Useful REST Endpoints
These endpoints are available from either web server instance:
GET /api/campfiresGET /api/servicesGET /api/dock/statusGET /api/dock/valleysGET /api/valley/detailsGET /api/campfire/detailsPOST /api/voice/ingestPOST /api/auditors/cleanupGET /api/rounds/catalogPOST /api/rounds/runGET /api/valley/snapshotsPOST /api/valley/save
Voice Ingestion
POST /api/voice/ingest accepts text directly and can also operate in auditor mode.
Typical payload fields:
textcampfirerole_promptauditor_modeadmin_tokenfor admin-only actions
Development
Run Tests
pip install -e ".[dev]"
pytest
Focused watch and legal checks:
pytest tests/test_watch_mode.py tests/test_legal_e2e.py -q
python examples/legal_team_demo.py --setup-only --workspace demo_workspace/legal_team_smoke
python examples/legal_team_demo.py --workspace demo_workspace/legal_team_full_tuned --watch-max-retries 1
Rebuild the UI Stack
docker compose up -d --build campfire-valley campfire-valley-remote
Documentation
- DOCKER_README.md - running and operating the Docker stack
- docs/web-ui.md - day-to-day UI usage
- examples/README_FEDERATION.md - dock discovery and federation concepts
- DEMO_GUIDE.md - current demo entry points
- TROUBLESHOOTING.md - troubleshooting guidance
License
MIT License. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file campfirevalley-1.2.4.tar.gz.
File metadata
- Download URL: campfirevalley-1.2.4.tar.gz
- Upload date:
- Size: 526.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db056b291f82e4d2e5fe0a3c620a12ac1af06204754ea69564007b1a74b21145
|
|
| MD5 |
32e06a71be4b0e9e137b1ae2112ed3ac
|
|
| BLAKE2b-256 |
53166c1d5e6dad02bf2b6b5f1d0dc1281cc24eec9490b5dace02072a31e9f63f
|
File details
Details for the file campfirevalley-1.2.4-py3-none-any.whl.
File metadata
- Download URL: campfirevalley-1.2.4-py3-none-any.whl
- Upload date:
- Size: 520.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
005a23003bcc0106851756174639bf1682de31e0491c466c3981953a6d94a0bd
|
|
| MD5 |
ceac0001f58e5b387c9b0935df64fb73
|
|
| BLAKE2b-256 |
da68d0ee4da3a647959bcc31121c313bc6af8366a5dd6d9872d36c3c890a9bb7
|