Artemis

Introduction

Artemis is an AI agent that runs on your machine, not the cloud.

What is this?

I got tired of AI assistants that live in walled gardens and can't actually do anything for me. Artemis is my answer: a self-hosted agent that uses your own API keys, stores its memory locally, and connects to the tools you already use.

The goal wasn't to build another chat wrapper. The goal was to build a system that can browse the web, manage files, read emails, and run background tasks at 3 AM while I'm asleep.

The Core Loop

Artemis isn't just a REPL. It has a heartbeat.

  • Multi-channel: You can talk to it via a Web UI, a CLI, WhatsApp, Telegram, Discord, or even Gmail.
  • Memory: It persists context across sessions using ChromaDB. If you tell it something on WhatsApp today, it remembers it in the CLI next week.
  • Scheduler: A cron-based system that defers heavy tasks to off-hours.
  • MCP Servers: It controls Playwright for browser automation, runs shell commands, and manages files on your operating system through the Model Context Protocol.

Monorepo Structure

The project is split into several packages, all wired to a central gateway:

artemis-ai/
├── packages/core       # Tools, prompts, and the core memory loop
├── packages/gateway    # The API server that ties it all together
├── packages/web        # Next.js interface
├── packages/cli        # Ink-based terminal client
├── packages/discord    # Discord bot integration
├── packages/telegram   # Telegraf bot integration
├── packages/whatsapp   # whatsapp-web.js implementation
├── packages/gmail      # Gmail OAuth2 loop
└── packages/types      # Standardized types

If you just want to get it running, check out the Quick Start guide.