BX Agents
Einen Agenten in Ordnern und Dateien beschreiben; daraus eine echte ColdBox-Anwendung bauen.
BX Agents ist ein konventionsbasiertes KI-Agenten-Framework für BoxLang,
aufgebaut auf ColdBox und
BX AI. Ein Agent wird
mit Dateien und Ordnern beschrieben - nicht über die API-Oberfläche eines Frameworks - und bxAgents build setzt daraus
eine echte, lauffähige ColdBox-Anwendung zusammen.
Discovery, Validierung und Codegenerierung laufen einmal, nicht bei jedem Start. Was danach läuft, ist eine ganz normale ColdBox-App.
Agent.bx und instructions.md sind die einzigen erforderlichen Dateien. Jeder andere Konventionsordner
ist optional und beeinflusst die Ausgabe nur, wenn er existiert.
Eine mit @AITool annotierte Funktion in tools/ ablegen, oder einen SKILL.md-Ordner in skills/ -
beides wird automatisch erkannt und eingebunden.
subagents/ verschachtelt genau denselben Konventionsbaum, sodass ein Team von Spezialisten nur aus weiteren
Ordnern besteht - von den Blättern aus gebaut.
Telegram, Slack, Discord, E-Mail, WhatsApp, Teams, Twilio, GitHub und Signal, plus http,
cli und mock.
In Agent.bx anfordern, und der Build erzeugt ein themenfähiges, streamendes Chat-Frontend mit
Sitzungsverlauf.
In vier Schritten einen Agenten bauen
install-bx-module bx-ai bx-agents
box install bx-ai,bx-agents
bxAgents new my-agent --model=openai/gpt-5
Anschließend instructions.md bearbeiten und die benötigten Konventionsordner ergänzen.
bxAgents build
Discovery, Validierung, Manifest, Codegenerierung - nach .build/app/.
bxAgents chat
# oder über HTTP bereitstellen:
bxAgents serve --port=8080
Was build tatsächlich erzeugt
Der eigene Konventionsbaum, und die einfache ColdBox-Anwendung, in die build ihn verwandelt.
your-agent/
├── Agent.bx # name, model, description
├── instructions.md # the system prompt
├── tools/ # @AITool functions
├── skills/ # SKILL.md capabilities
├── subagents/ # nested agent trees
├── models/ # named model configs
├── gateways/ # HTTP/MCP/chat exposure
├── schedules/ # a real ColdBox scheduler
├── mcp/ # MCP servers you host
├── interceptors/ # lifecycle hooks
└── modules/ # module dependencies
.build/app/
├── Application.bx
├── config/
│ ├── ColdBox.bx
│ ├── WireBox.bx
│ ├── Router.bx
│ └── Scheduler.bx
├── agent/
│ └── GeneratedAgentFactory.bx
├── tools/ skills/ mcp/
├── handlers/ interceptors/
└── index.bxm
Nur Agent.bx ist erforderlich. instructions.md ist optional - Instruktionen direkt
in der Klasse setzen, oder die Datei ablegen und sie vom Build einbinden lassen. Jeder andere Ordner
beeinflusst die generierte Ausgabe nur, wenn er existiert und Inhalt hat - Konventionen werden
also genau dann hinzugefügt, wenn sie tatsächlich gebraucht werden.
Agent.bx erweitert direkt bx-ais eigenes AiAgent - der Build instanziiert die eigene Klasse,
statt eine aus einer Konfigurationsstruktur neu aufzubauen, sodass das, was geschrieben wird, auch läuft, und eine
IDE sie wie jede andere Klasse introspizieren kann. Siehe Agent.bx.
Von überall erreichbar
Neun Push-Style-Gateways - Telegram, Slack, Discord, E-Mail, WhatsApp Cloud, Teams, Twilio,
GitHub und Signal - koordiniert von einer Session mit queue-/steer-/interrupt-Richtlinien.
Den Agenten über HTTP-Routen bereitstellen, oder lokale MCP-Server aus mcp/ hosten, damit andere
Clients die eigenen Tools aufrufen können.
Eine portable .bxa paketieren und mit local, ssh, docker, digitalocean,
ftp oder sftp ausliefern - Secrets bleiben Umgebungsvariablen, nie Build-Artefakte.
Wie es weitergeht
BoxLang, BX AI und BX Agents installieren.
Den ersten Agenten anlegen, bauen und mit ihm chatten.
Eine Seite pro Konventionsordner, von Anfang bis Ende.
Genau das, was build tut, in der richtigen Reihenfolge.
Jedes Verb und seine Flags.
Eine .bxa paketieren und sicher ausliefern.
Jeder Konventionsordner hat außerdem ein funktionierendes, baubares Beispielprojekt unter
examples/.
BX Agents befindet sich in aktiver Entwicklung. Bekannte Einschränkungen hält
die ehrlichen Lücken fest - was gegen eine echte laufende App getestet ist, was noch nur gegen
BX AIs "mock"-Provider läuft, und eine echte Eigenheit im vorgelagerten ColdBox, auf die dieses Projekt gestoßen ist und
die es umschifft hat.
