Comprehensive documentation set for XWiki: - Home, Installation, Quick Start guides - Writing Handlers and LLM Router guides - Architecture docs (Overview, Message Pump, Thread Registry, Shared Backend) - Reference docs (Configuration, Handler Contract, CLI) - Hello World tutorial - Why XML rationale - Pandoc conversion scripts (bash + PowerShell) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
67 lines
2.5 KiB
Markdown
67 lines
2.5 KiB
Markdown
# xml-pipeline
|
|
|
|
**A tamper-proof nervous system for multi-agent AI systems.**
|
|
|
|
xml-pipeline (also called AgentServer) provides a schema-driven, Turing-complete message bus where AI agents communicate through validated XML payloads. It features automatic XSD generation, handler isolation, and built-in security guarantees against agent misbehavior.
|
|
|
|
## Why XML?
|
|
|
|
While JSON dominates web APIs, XML provides critical features for secure multi-agent systems:
|
|
|
|
- **Schema validation** — XSD enforces exact contracts on the wire
|
|
- **Namespaces** — Safely mix vocabularies without collision
|
|
- **Canonicalization** — C14N enables deterministic signing
|
|
- **Repair tolerance** — Malformed XML can be recovered; malformed JSON cannot
|
|
|
|
See [[Why XML]] for the full rationale.
|
|
|
|
## Key Features
|
|
|
|
| Feature | Description |
|
|
|---------|-------------|
|
|
| **Schema-Driven** | Define payloads as Python dataclasses; XSD generated automatically |
|
|
| **Handler Isolation** | Handlers are sandboxed—cannot forge identity or escape threads |
|
|
| **Thread Tracking** | Opaque UUIDs hide topology; call chains tracked privately |
|
|
| **LLM Router** | Multi-backend routing with failover, rate limiting, retries |
|
|
| **Multiprocess Ready** | CPU-bound handlers run in ProcessPoolExecutor |
|
|
| **Shared State** | Redis/Manager backends for distributed deployments |
|
|
|
|
## Quick Links
|
|
|
|
### Getting Started
|
|
- [[Installation]] — Install the package
|
|
- [[Quick Start]] — Run your first organism in 5 minutes
|
|
- [[Configuration]] — Configure organisms via YAML
|
|
|
|
### Guides
|
|
- [[Writing Handlers]] — Create message handlers
|
|
- [[Using the LLM Router]] — Call language models from handlers
|
|
- [[Multiprocess Handlers]] — Run CPU-bound work in separate processes
|
|
|
|
### Architecture
|
|
- [[Architecture Overview]] — How xml-pipeline works
|
|
- [[Message Pump]] — The streaming message processor
|
|
- [[Thread Registry]] — Call chain tracking with opaque UUIDs
|
|
- [[Shared Backend]] — Cross-process state with Redis
|
|
|
|
### Tutorials
|
|
- [[Hello World Tutorial]] — Build a greeting agent step by step
|
|
- [[Calculator Tool Tutorial]] — Create a tool that agents can call
|
|
|
|
### Reference
|
|
- [[Handler Contract]] — Handler function signature and return types
|
|
- [[Configuration Reference]] — Complete organism.yaml specification
|
|
- [[CLI Reference]] — Command-line interface
|
|
|
|
## Version
|
|
|
|
Current version: **0.4.0**
|
|
|
|
## License
|
|
|
|
MIT License
|
|
|
|
## Links
|
|
|
|
- [GitHub Repository](https://github.com/xml-pipeline/xml-pipeline)
|
|
- [PyPI Package](https://pypi.org/project/xml-pipeline/)
|