Declarative AI agent framework - build agent applications in YAML
Project description
Digitorn
Digitorn is an interpreter for AI agents. Install it once, write a
YAML manifest, run it. Same model as python for .py or node
for .js.
app:
app_id: hello
agents:
- id: main
role: assistant
brain:
provider: deepseek
model: deepseek-chat
backend: openai_compat
config:
api_key: "{{env.DEEPSEEK_API_KEY}}"
base_url: "https://api.deepseek.com/v1"
system_prompt: "Reply with one short sentence."
digitorn dev deploy hello.yaml --scope user
digitorn dev chat hello -m "ping"
# pong
That YAML is the entire app. No Python loop to wire up. No SDK glue code. No context-window bookkeeping. No tool dispatcher to implement. The interpreter handles all of it.
Why declarative
Every layer of the stack has moved from imperative to declarative because the declarative version scales better, audits cleaner, and removes glue code:
- Bash scripts → Terraform
docker run→ Kubernetes manifests- jQuery → React
- Manual SQL → ORM and migration specs
AI agents are the next layer. Writing the orchestration loop, the tool dispatcher, the retry policy, the sandbox, and the cost cap by hand is the bash-scripts-for-infra of the agent era. Digitorn makes the manifest the source of truth and runs everything from it.
What the interpreter handles
A single digitorn start brings every primitive a production
agent needs:
- 23 modules: filesystem, shell, web, http, RAG, vector, database, LSP, MCP, channels (webhook / cron / email / slack / discord / voice / ...), memory, workspace, widgets, ...
- 16 middleware: secret masking, content filter, RAG injection, retry, circuit breaker, dedup, audit, ...
- Multi-agent orchestration with sub-agent spawning
- OS-level sandbox (Landlock / seccomp / Job Objects)
- Credentials vault (OAuth2, API key, mTLS, ...)
- Real-time event stream over Socket.IO
- Behavior engine with declarative rules
Adding a new capability to your agent is one YAML key, not a
pip install plus integration code.
Install
Windows
irm https://digitorn.ai/install.ps1 | iex
macOS / Linux
curl -fsSL https://digitorn.ai/install.sh | sh
The installer fetches Python 3.12 via uv,
installs the digitorn CLI, registers a background service
(Windows Service / launchd / systemd), and starts the
interpreter on http://127.0.0.1:8000.
Already have Python 3.12?
pip install digitorn # or: uv tool install digitorn
digitorn service install
digitorn service start
First steps
digitorn doctor # check the environment
digitorn init my-app && cd my-app # scaffold a project
digitorn dev deploy app.yaml # push to the local interpreter
digitorn dev chat my-app # interactive chat
Full reference: docs.digitorn.ai.
Requirements
- Windows 10+, macOS 12+, or a recent Linux distro
- Python 3.12 (the installer fetches it via uv if missing)
- 2 GB free disk space for the model cache (embeddings, ONNX runtimes)
- Outbound HTTPS for LLM providers and MCP servers you choose to use
Operating the interpreter
digitorn service status # is it running?
digitorn service logs # last 50 lines
digitorn service stop # stop until next boot
digitorn service start # start again
digitorn service uninstall # remove the service
Logs:
- Windows: Event Viewer (
Applications and Services Logs > DigitornDaemon) - macOS:
~/Library/Logs/digitorn/ - Linux:
journalctl --user -u digitorn
The interpreter also writes structured logs to ~/.digitorn/logs/.
Development
git clone https://github.com/mbathe/digitorn-bridge
cd digitorn-bridge
uv sync # or: poetry install
uv run digitorn start # foreground, with the venv's deps
License
Apache 2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
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 digitorn-1.0.2.tar.gz.
File metadata
- Download URL: digitorn-1.0.2.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ee3391b56957bfc331ae38b4375f89de122ca12b1ed2999c1699d76bf951fc4
|
|
| MD5 |
7536477b39ee25a2860b6d25337299e5
|
|
| BLAKE2b-256 |
ab8db7716314eb29629873666a108199f4f8a93297853449e28097513a3f4c3b
|
Provenance
The following attestation bundles were made for digitorn-1.0.2.tar.gz:
Publisher:
release.yml on mbathe/digitorn-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
digitorn-1.0.2.tar.gz -
Subject digest:
9ee3391b56957bfc331ae38b4375f89de122ca12b1ed2999c1699d76bf951fc4 - Sigstore transparency entry: 1588434078
- Sigstore integration time:
-
Permalink:
mbathe/digitorn-bridge@52fa7d727321884e0e3d7765bfa13e1c68e00e25 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/mbathe
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@52fa7d727321884e0e3d7765bfa13e1c68e00e25 -
Trigger Event:
push
-
Statement type:
File details
Details for the file digitorn-1.0.2-py3-none-any.whl.
File metadata
- Download URL: digitorn-1.0.2-py3-none-any.whl
- Upload date:
- Size: 3.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cec39d3f226e91209656bdb3d252149f7fa9ecbb399fbe5306326520c141f6d9
|
|
| MD5 |
156ea3b63b3c2abe6da334657f14c381
|
|
| BLAKE2b-256 |
3c41da1cfb93c9728958de578a22411897a7b576ded68cdd6b4448c94c85ab54
|
Provenance
The following attestation bundles were made for digitorn-1.0.2-py3-none-any.whl:
Publisher:
release.yml on mbathe/digitorn-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
digitorn-1.0.2-py3-none-any.whl -
Subject digest:
cec39d3f226e91209656bdb3d252149f7fa9ecbb399fbe5306326520c141f6d9 - Sigstore transparency entry: 1588434184
- Sigstore integration time:
-
Permalink:
mbathe/digitorn-bridge@52fa7d727321884e0e3d7765bfa13e1c68e00e25 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/mbathe
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@52fa7d727321884e0e3d7765bfa13e1c68e00e25 -
Trigger Event:
push
-
Statement type: