Auto-GPT made the autonomous-agent idea real. You hand it a goal, it loops on the goal, it picks tools and chases it. The downside is well known: cost spikes, infinite loops, opaque state. Digitorn keeps the goal-pursuit pattern and adds the safety rails it always needed.
An Auto-GPT-style agent without loop guards or audit logs is one bad night away from a cloud bill that ruins a weekend. Digitorn gives you execution.max_turns, the behavior engine to detect runaway patterns, hooks that gate tool calls before they fire, and a hard kill switch that actually kills child shell processes too.
Every Auto-GPT primitive maps to a Digitorn equivalent. Where the mapping is not 1-to-1, the notes call out what changed.
Real apps in both stacks. The Digitorn version is what you would commit to a repo, no scaffolding hidden offscreen.
1{2 "ai_name": "ResearchGPT",3 "ai_role": "Research and write reports on a topic",4 "ai_goals": [5 "Research the topic across the open web",6 "Write a structured report with citations",7 "Save the final report to outputs/report.md",8 "Stop when the report is complete"9 ],10 "api_budget": 5.011}1app:2 app_id: research-writer3 name: "Research writer"45execution:6 mode: one_shot7 max_turns: 2589modules:10 web: {}11 filesystem: {}12 memory: {}1314agents:15 - id: researcher16 modules:17 - {web: [search, fetch]}18 - {filesystem: [write]}19 - {memory: [set_goal, set_goal_done, remember]}20 brain: { model: claude-sonnet-4-6, credential: anthropic_main }21 system_prompt: |22 Goal: research the topic and write outputs/report.md with citations.23 Use web.search to find sources, web.fetch to read them, then24 filesystem.write the final report. Call memory.set_goal_done when done.The Auto-GPT JSON describes a wish, the YAML describes the rails. execution.max_turns plus a tool_start hook on web.fetch mean a stuck loop ends in seconds, not in a $50 bill.
Subtle differences that look the same on paper and break on first run. Read these before you start porting.
Auto-GPT lets the agent monitor its own api_budget. Digitorn enforces the budget from the runtime config so a confused agent cannot raise its own ceiling.
Most plugins (web search, filesystem, code exec) become built-in modules. For exotic plugins, attach an MCP server, never write Python plumbing.
Always require the agent to call memory.set_goal_done. Without it, the runtime keeps spinning until max_turns and you may not notice.
# 1. install runtime
curl -sSL https://digitorn.ai/install | sh
# 2. copy the YAML above into a file
mkdir -p ~/.digitorn/apps/from-autogpt
# paste the YAML into app.yaml
# 3. deploy and chat
digitorn deploy from-autogpt
digitorn dev chat from-autogptEngineering notes from the Digitorn team. No marketing, no launch announcements, no "10 prompts that will change your life". Just the things we write that we'd want to read.