# Digit > The self-improving AI agent built by Nous Research. A terminal-native autonomous coding and task agent with persistent memory, agent-created skills, and a messaging gateway that lives on 21+ messaging platforms — 19 native to the gateway plus IRC and Microsoft Teams via plugins (Telegram, Discord, Slack, SMS, Matrix, ...). Runs on local, Docker, SSH, Daytona, Modal, or Singularity backends. Works with Nous Portal, OpenRouter, OpenAI, Anthropic, Google, or any OpenAI-compatible endpoint. Install: `curl -fsSL https://raw.githubusercontent.com/digitable-lol/digit/main/scripts/install.sh | bash` (Linux, macOS, WSL2, Termux) Repo: https://github.com/digitable-lol/digit ## Getting Started - [Installation](https://docs.digitable.life/getting-started/installation): Install Digit on Linux, macOS, WSL2, native Windows, or Android via Termux - [Quickstart](https://docs.digitable.life/getting-started/quickstart): Your first conversation with Digit — from install to chatting in under 5 minutes - [Learning Path](https://docs.digitable.life/getting-started/learning-path): Choose your learning path through the Digit documentation based on your experience level and goals. - [Updating](https://docs.digitable.life/getting-started/updating): How to update Digit to the latest version or uninstall it - [Termux (Android)](https://docs.digitable.life/getting-started/termux): Run Digit directly on an Android phone with Termux - [Nix Setup](https://docs.digitable.life/getting-started/nix-setup): Install and deploy Digit with Nix — from quick `nix run` to fully declarative NixOS module with container mode ## Using Digit - [CLI](https://docs.digitable.life/user-guide/cli): Master the Digit terminal interface — commands, keybindings, personalities, and more - [TUI (Ink terminal UI)](https://docs.digitable.life/user-guide/tui): Launch the modern terminal UI for Digit — mouse-friendly, rich overlays, and non-blocking input. - [Configuration](https://docs.digitable.life/user-guide/configuration): Configure Digit — config.yaml, providers, models, API keys, and more - [Configuring Models](https://docs.digitable.life/user-guide/configuring-models) - [Sessions](https://docs.digitable.life/user-guide/sessions): Session persistence, resume, search, management, and per-platform session tracking - [Profiles](https://docs.digitable.life/user-guide/profiles) - [Git Worktrees](https://docs.digitable.life/user-guide/git-worktrees): Run multiple Digit agents safely on the same repository using git worktrees and isolated checkouts - [Docker Backend](https://docs.digitable.life/user-guide/docker): Running Digit in Docker and using Docker as a terminal backend - [Security](https://docs.digitable.life/user-guide/security): Security model, dangerous command approval, user authorization, container isolation, and production deployment best practices - [Checkpoints & Rollback](https://docs.digitable.life/user-guide/checkpoints-and-rollback): Filesystem safety nets for destructive operations using shadow git repos and automatic snapshots ## Core Features - [Features Overview](https://docs.digitable.life/user-guide/features/overview) - [Tools](https://docs.digitable.life/user-guide/features/tools): Overview of Digit's tools — what's available, how toolsets work, and terminal backends - [Skills System](https://docs.digitable.life/user-guide/features/skills): On-demand knowledge documents — progressive disclosure, agent-managed skills, and the Skills Hub - [Curator](https://docs.digitable.life/user-guide/features/curator): Background maintenance for agent-created skills — usage tracking, staleness, archival, and LLM-driven review - [Memory](https://docs.digitable.life/user-guide/features/memory): How Digit remembers across sessions — MEMORY.md, USER.md, and session search - [Memory Providers](https://docs.digitable.life/user-guide/features/memory-providers): External memory provider plugins — Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory - [Context Files](https://docs.digitable.life/user-guide/features/context-files): Project context files — .digit.md, AGENTS.md, CLAUDE.md, global SOUL.md, and .cursorrules — automatically injected into every conversation - [Context References](https://docs.digitable.life/user-guide/features/context-references): Inline @-syntax for attaching files, folders, git diffs, and URLs directly into your messages - [Personality & SOUL.md](https://docs.digitable.life/user-guide/features/personality): Customize Digit's personality with a global SOUL.md, built-in personalities, and custom persona definitions - [Plugins](https://docs.digitable.life/user-guide/features/plugins): Extend Digit with custom tools, hooks, and integrations via the plugin system - [Built-in Plugins](https://docs.digitable.life/user-guide/features/built-in-plugins): Plugins shipped with Digit that run automatically via lifecycle hooks — disk-cleanup and friends ## Automation - [Cron Jobs](https://docs.digitable.life/user-guide/features/cron): Schedule automated tasks with natural language, manage them with one cron tool, and attach one or more skills - [Delegation](https://docs.digitable.life/user-guide/features/delegation): Spawn isolated child agents for parallel workstreams with delegate_task - [Kanban Multi-Agent](https://docs.digitable.life/user-guide/features/kanban): Durable SQLite-backed task board for coordinating multiple Digit profiles - [Kanban Tutorial](https://docs.digitable.life/user-guide/features/kanban-tutorial) - [Persistent Goals](https://docs.digitable.life/user-guide/features/goals): Set a standing goal and let Digit keep working across turns until it's done. Our take on the Ralph loop. - [Code Execution](https://docs.digitable.life/user-guide/features/code-execution): Programmatic Python execution with RPC tool access — collapse multi-step workflows into a single turn - [Hooks](https://docs.digitable.life/user-guide/features/hooks): Run custom code at key lifecycle points — log activity, send alerts, post to webhooks - [Batch Processing](https://docs.digitable.life/user-guide/features/batch-processing): Generate agent trajectories at scale — parallel processing, checkpointing, and toolset distributions ## Media & Web - [Voice Mode](https://docs.digitable.life/user-guide/features/voice-mode): Real-time voice conversations with Digit — CLI, Telegram, Discord (DMs, text channels, and voice channels) - [Browser](https://docs.digitable.life/user-guide/features/browser) - [Vision](https://docs.digitable.life/user-guide/features/vision) - [Image Generation](https://docs.digitable.life/user-guide/features/image-generation) - [Text-to-Speech](https://docs.digitable.life/user-guide/features/tts): Text-to-speech and voice message transcription across all platforms ## Messaging Platforms - [Overview](https://docs.digitable.life/user-guide/messaging/index): Chat with Digit from Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Yuanbao, Microsoft Teams, LINE, Raft, Webhooks, or any OpenAI-compatible frontend via the API server — architecture and setup overview - [Telegram](https://docs.digitable.life/user-guide/messaging/telegram): Set up Digit as a Telegram bot - [Discord](https://docs.digitable.life/user-guide/messaging/discord): Set up Digit as a Discord bot - [Slack](https://docs.digitable.life/user-guide/messaging/slack): Set up Digit as a Slack bot using Socket Mode - [WhatsApp](https://docs.digitable.life/user-guide/messaging/whatsapp): Set up Digit as a WhatsApp bot via the built-in Baileys bridge - [Signal](https://docs.digitable.life/user-guide/messaging/signal): Set up Digit as a Signal messenger bot via signal-cli daemon - [Email](https://docs.digitable.life/user-guide/messaging/email): Set up Digit as an email assistant via IMAP/SMTP - [SMS](https://docs.digitable.life/user-guide/messaging/sms): Set up Digit as an SMS chatbot via Twilio - [Matrix](https://docs.digitable.life/user-guide/messaging/matrix): Set up Digit as a Matrix bot - [Mattermost](https://docs.digitable.life/user-guide/messaging/mattermost): Set up Digit as a Mattermost bot - [Home Assistant](https://docs.digitable.life/user-guide/messaging/homeassistant) - [Webhooks](https://docs.digitable.life/user-guide/messaging/webhooks): Receive events from GitHub, GitLab, and other services to trigger Digit agent runs ## Integrations - [Integrations Overview](https://docs.digitable.life/integrations/index) - [Providers](https://docs.digitable.life/integrations/providers) - [MCP (Model Context Protocol)](https://docs.digitable.life/user-guide/features/mcp): Connect Digit to external tool servers via MCP — and control exactly which MCP tools Digit loads - [ACP (Agent Context Protocol)](https://docs.digitable.life/user-guide/features/acp): Use Digit inside ACP-compatible editors and collaboration platforms - [API Server](https://docs.digitable.life/user-guide/features/api-server): Expose digit as an OpenAI-compatible API for any frontend - [Honcho Memory](https://docs.digitable.life/user-guide/features/honcho): AI-native persistent memory via Honcho — dialectic reasoning, multi-agent user modeling, and deep personalization - [Provider Routing](https://docs.digitable.life/user-guide/features/provider-routing) - [Fallback Providers](https://docs.digitable.life/user-guide/features/fallback-providers) - [Credential Pools](https://docs.digitable.life/user-guide/features/credential-pools) ## Guides & Tutorials - [Tips & Best Practices](https://docs.digitable.life/guides/tips): Practical advice to get the most out of Digit — prompt tips, CLI shortcuts, context files, memory, cost optimization, and security - [Local LLMs on Mac](https://docs.digitable.life/guides/local-llm-on-mac): Set up a local OpenAI-compatible LLM server on macOS with llama.cpp or MLX, including model selection, memory optimization, and real benchmarks on Apple Silicon - [Daily Briefing Bot](https://docs.digitable.life/guides/daily-briefing-bot): Build an automated daily briefing bot that researches topics, summarizes findings, and delivers them to Telegram or Discord every morning - [Team Telegram Assistant](https://docs.digitable.life/guides/team-telegram-assistant): Step-by-step guide to setting up a Telegram bot that your whole team can use for code help, research, system admin, and more - [Use Digit as a Python Library](https://docs.digitable.life/guides/python-library): Embed AIAgent in your own Python scripts, web apps, or automation pipelines — no CLI required - [Use MCP with Digit](https://docs.digitable.life/guides/use-mcp-with-digit): A practical guide to connecting MCP servers to Digit, filtering their tools, and using them safely in real workflows - [Use Voice Mode with Digit](https://docs.digitable.life/guides/use-voice-mode-with-digit): A practical guide to setting up and using Digit voice mode across CLI, Telegram, Discord, and Discord voice channels - [Use SOUL.md with Digit](https://docs.digitable.life/guides/use-soul-with-digit): How to use SOUL.md to shape Digit's default voice, what belongs there, and how it differs from AGENTS.md and /personality - [Build a Digit Plugin](https://docs.digitable.life/guides/build-a-digit-plugin) - [Automate with Cron](https://docs.digitable.life/guides/automate-with-cron): Real-world automation patterns using Digit cron — monitoring, reports, pipelines, and multi-skill workflows - [Work with Skills](https://docs.digitable.life/guides/work-with-skills): Find, install, use, and create skills — on-demand knowledge that teaches Digit new workflows - [Delegation Patterns](https://docs.digitable.life/guides/delegation-patterns): When and how to use subagent delegation — patterns for parallel research, code review, and multi-file work - [GitHub PR Review Agent](https://docs.digitable.life/guides/github-pr-review-agent): Build an automated AI code reviewer that monitors your repos, reviews pull requests, and delivers feedback — hands-free ## Developer Guide - [Contributing](https://docs.digitable.life/developer-guide/contributing): How to contribute to Digit — dev setup, code style, PR process - [Architecture](https://docs.digitable.life/developer-guide/architecture): Digit internals — major subsystems, execution paths, data flow, and where to read next - [Agent Loop](https://docs.digitable.life/developer-guide/agent-loop): Detailed walkthrough of AIAgent execution, API modes, tools, callbacks, and fallback behavior - [Prompt Assembly](https://docs.digitable.life/developer-guide/prompt-assembly): How Digit builds the system prompt, preserves cache stability, and injects ephemeral layers - [Context Compression & Caching](https://docs.digitable.life/developer-guide/context-compression-and-caching) - [Gateway Internals](https://docs.digitable.life/developer-guide/gateway-internals): How the messaging gateway boots, authorizes users, routes sessions, and delivers messages - [Session Storage](https://docs.digitable.life/developer-guide/session-storage) - [Provider Runtime](https://docs.digitable.life/developer-guide/provider-runtime): How Digit resolves providers, credentials, API modes, and auxiliary models at runtime - [Adding Tools](https://docs.digitable.life/developer-guide/adding-tools): How to add a new tool to Digit — schemas, handlers, registration, and toolsets - [Adding Providers](https://docs.digitable.life/developer-guide/adding-providers): How to add a new inference provider to Digit — auth, runtime resolution, CLI flows, adapters, tests, and docs - [Adding Platform Adapters](https://docs.digitable.life/developer-guide/adding-platform-adapters) - [Creating Skills](https://docs.digitable.life/developer-guide/creating-skills): How to create skills for Digit — SKILL.md format, guidelines, and publishing - [Extending the CLI](https://docs.digitable.life/developer-guide/extending-the-cli): Build wrapper CLIs that extend the Digit TUI with custom widgets, keybindings, and layout changes ## Reference - [CLI Commands](https://docs.digitable.life/reference/cli-commands): Authoritative reference for Digit terminal commands and command families - [Slash Commands](https://docs.digitable.life/reference/slash-commands): Complete reference for interactive CLI and messaging slash commands - [Profile Commands](https://docs.digitable.life/reference/profile-commands) - [Environment Variables](https://docs.digitable.life/reference/environment-variables): Complete reference of all environment variables used by Digit - [Tools Reference](https://docs.digitable.life/reference/tools-reference): Authoritative reference for Digit built-in tools, grouped by toolset - [Toolsets Reference](https://docs.digitable.life/reference/toolsets-reference): Reference for Digit core, composite, platform, and dynamic toolsets - [MCP Config Reference](https://docs.digitable.life/reference/mcp-config-reference): Reference for Digit MCP configuration keys, filtering semantics, and utility-tool policy - [Model Catalog](https://docs.digitable.life/reference/model-catalog) - [Bundled Skills Catalog](https://docs.digitable.life/reference/skills-catalog): Table of all ~90 skills bundled with Digit - [Optional Skills Catalog](https://docs.digitable.life/reference/optional-skills-catalog): Table of ~60 additional installable skills - [FAQ & Troubleshooting](https://docs.digitable.life/reference/faq): Frequently asked questions and solutions to common issues with Digit