Welcome to Abyss

The easy way to containerize your AI agents.

Get Started

Abyss is the easy way to integrate with your agents across networked boundaries like Docker.

It's a playpen for AI. You choose what you want to copy in, what you want to actually expose, and Abyss takes care of managing the container for you.

You can even manage separate agents, with separate containers and resources. Swap seamlessly between them with Zed, or any of your other favorite ACP clients.

See No Evil

Keep secrets from your agent. Abyss only makes things visible to your agent when you tell it to, otherwise your agent lives in the dark.

Hear No Evil

Abyss intercepts ACP requests for filesystem and shell access and executes them inside the container.

Speak No Evil

Easily copy files, create bind mounts, and execute setup scripts all as part of your agent definition.

This config file is all you need to get started:

docker:
        # This is a pre-built image with Abyss and Pi pre-installed
        image: "ghcr.io/sethcurry/abyss-pi:latest"
      
        # Abyss speaks ACP, so we invoke Pi via pi-acp
        agent_command:
          - pi-acp
      
      host_mounts:
        # This mounts the current directory inside the container.
        # It doesn't take a target path because ACP sends a `cwd`
        # so we need the paths to line up between the host and
        # container
        - source: "./"
      
        # This mounts your .pi directory so that the agent has
        # API keys for your LLM, prior sessions, plugins, etc.
        # 
        # You can put this in the `copy_files` config section
        # which will prevent the LLM from modifying your config files
        # but your sessions won't end up on your host PC so the session
        # files are lost when the container gets deleted.
        - source: "~/.pi"
          destination: "/root/.pi"

Read the docs

Learn more in the Docs.