Loading repository data…
Loading repository data…
ghostwright / repository
An AI co-worker with its own computer. Self-evolving, persistent memory, MCP server, secure credential collection, email identity. Built on the Claude Agent SDK.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
AI agents today are disposable. You open a chat, get an answer, close the tab, and the context is gone. Next time you start from scratch. Every session is day one.
Phantom takes a different approach: give the AI its own computer. A dedicated machine where it installs software, spins up databases, builds dashboards, remembers what you told it last week, and gets measurably better at your job every day. Your laptop stays yours. The agent's workspace is its own.
This is not a chatbot. It is a co-worker that runs on Slack, has a web chat interface at /chat, has its own email address, creates its own tools, and builds infrastructure without asking for permission. Don't take our word for it - scroll down to see what production Phantoms have actually built.
These are not mockups. They happened on production Phantom instances.
A Phantom was asked to help with data analysis. It installed ClickHouse on its own VM, downloaded the full Hacker News dataset, loaded 28.7 million rows spanning 2007-2021, built an analytics dashboard with interactive charts, and created a REST API to query the data. Then it registered that API as an MCP tool so it could use it in future sessions and other agents could query it too.
Nobody asked it to build any of this. It identified analytics as useful and built the entire stack.
28.7 million items. 755K unique authors. 4.3 million stories. Built, loaded, and served by a Phantom on its own machine.
Phantom ships with Slack, Telegram, Email, and Webhook channels. It does not ship with Discord. When asked "Can I talk to you on Discord?", the Phantom said: "Not right now. Discord isn't wired up. That said, I could build it."
It explained the Discord Bot API, walked the user through creating a Discord application, provided a magic link for secure token submission, and said: "Once you save it, I'll automatically spin up the container and you'll be live on Discord."
After submitting the token, Phantom went live on Discord. It permanently gained a communication channel it was never designed with.
The agent was honest about what it could not do, then built the capability on the spot.
A Phantom discovered Vigil, a lightweight open-source system monitor with 3 GitHub stars. It understood what Vigil does, integrated it into its existing ClickHouse instance, built a sync pipeline that batch-transfers metrics every 30 seconds, and created a real-time monitoring dashboard showing service health, Docker container status, network I/O, disk I/O, system load, and data pipeline health.
890,450 rows. 25 metrics. Auto-refreshing. The agent is watching its own infrastructure.
It found a 3-star open-source project, integrated it into its data pipeline, and built observability for itself.
This is what happens when you give an AI its own computer.
Phantom is not locked to any single AI backend. It ships with support for seven providers out of the box, configured through a single YAML block:
Switching providers is two lines of YAML:
# phantom.yaml
model: claude-opus-4-7
provider:
type: zai
api_key_env: ZAI_API_KEY
model_mappings:
sonnet: glm-5.1
Set ZAI_API_KEY in .env, restart, done. Both the main agent and every evolution judge flow through the chosen provider from that point on. The tools are the same, the memory is the same, the self-evolution pipeline is the same. Only the brain changes.
Anthropic stays the default. Existing deployments continue to work with no configuration changes. See docs/providers.md for the full reference.
curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/docker-compose.user.yaml -o docker-compose.yaml
curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/.env.example -o .env
# Edit .env - add your ANTHROPIC_API_KEY, Slack tokens, and OWNER_SLACK_USER_ID
docker compose up -d
Your Phantom is running. Qdrant starts for memory, Ollama pulls the embedding model, and the agent boots. Check health at http://localhost:3100/health. With Slack configured, it DMs you when it's ready. Add RESEND_API_KEY for email sending. See Getting Started for full setup.
Security note, Docker socket mount:
docker-compose.yamlmounts/var/run/docker.sockinto the Phantom container so it can spawn sibling containers (e.g. sandboxed code execution). This is an intentional architectural trade-off: the socket grants the container root-equivalent access to the Docker daemon, which means a compromised Phantom process could create, modify, or destroy any container on the host. Mitigations: run Phantom on a dedicated machine or VM (not your personal workstation), and do not expose the host's Docker socket to untrusted workloads. See docs/security.md for the full threat model.
Get a Phantom on a dedicated VM with nothing to install. Bring your Anthropic API key, we give you the machine.
Phantom is not just for engineers. It is for anyone who wants an AI that remembers, learns, and builds things you can actually share.
The key difference: when an AI runs on your laptop, everything it builds is trapped on localhost. Only you can see it. Phantom runs on a VM with a public domain. Dashboards, tools, pages, APIs - they all get a URL you can send to your team, your manager, or your clients. Your laptop is not a server. Phantom's VM is.
You don't need to install developer tools, learn a build system, or figure out hosting. You describe what you want in Slack. Phantom builds it, deploys it on its own machine, and gives you a link.
Most AI assistants