Turn a single YAML file into a running LLM agent with an HTTP API. You define the system prompt, model, tools, and safety limits; the service runs the tool-use loop and streams every step back to your client over Server-Sent Events.
Works with Anthropic, OpenAI, Google, or any OpenAI-compatible endpoint
(including local ollama), connects external tools via the
Model Context Protocol, and is built to drop
into Kubernetes — config in a ConfigMap, API keys in a Secret.
pnpm install
export ANTHROPIC_API_KEY=... # or OPENAI_API_KEY / GOOGLE_GENERATIVE_AI_API_KEY
CONFIG_PATH=./example.config.yaml pnpm devSend a request and watch the response stream:
curl -N -X POST http://localhost:3000/invoke \
-H 'content-type: application/json' \
-d '{"messages":[{"role":"user","content":"search the web for eggai and summarize"}]}'The full User Guide covers:
- Features
- Running
- Configuration
- HTTP API
- Deployment — Docker & Kubernetes
- Observability
- Environment variables
pnpm dev # run with reload
pnpm test # run the test suite
pnpm typecheck # type-check
pnpm lint # lint / format check
pnpm build # compile to dist/- Make sure
CHANGELOG.mdhas entries under[Unreleased]. - Run the Prepare Release Branch workflow (Actions tab) with the version, e.g.
0.3.1or0.3.1-rc.1. It bumpspackage.json, dates the changelog section, and pushesrelease/v<version>. - Open a pull request from that branch to
main(the workflow's job summary has a one-click link and agh pr createcommand). - Merge it. The Publish to npm workflow then tags
v<version>, creates the GitHub release, publishes to npm via trusted publishing, and pushes the container imageghcr.io/eggai-tech/configurable-agent:<version>(plus<major>.<minor>for a stable release).