DotCraft is an open-source AI agent that runs on your own machine. Use the desktop app to code and get work done, keep up with it from your phone, or build the same agent into your own apps and extend it with plugins.
- One agent, many doors. Desktop, the CLI, your IDE, your phone and chat bots share one workspace, so a task started in one can be picked up in another. Connect Desktop to DotCraft on a server over SSH, or let the agent work on another computer through Satellite.
- Yours to build on. Embed the runtime behind DotCraft Desktop in your .NET app, or connect an existing product through the SDKs and App Binding. .NET plugins add tools, commands and lifecycle logic, and the agent can write one and swap it in while the host keeps running. React plugins reshape Desktop's interface.
- Your deployment, your costs. Run it on your machine or your own server, with any compatible model provider or your ChatGPT subscription. Byte-stable prompt prefixes let providers reuse their cache.
- One set of keys for the team. One machine holds the API keys and sign-ins; DotCraft on everyone else's machine calls models through it, without storing keys or reaching providers directly.
Desktop
- Download the installer for Windows, macOS or Linux from Releases.
- Open a project folder as a workspace.
- Connect a model: any OpenAI-compatible or Anthropic-compatible provider with an API key, or sign in with your ChatGPT subscription.
CLI
# macOS / Linux
curl -fsSL https://www.dotcraft.net/install.sh | bash# Windows PowerShell
irm https://www.dotcraft.net/install.ps1 | iexSee Getting started for the full walkthrough.
A workbench where the agent plans in your project, hands parts to subagents, and checks the result before it says done.
Get it: Download for Windows, macOS or Linux.
Ready out of the box
- Plan drafts the steps first and waits for your go-ahead.
- Subagents split a task and work on the parts side by side.
- In-app Browser opens your app so the agent can check its own work, and you can point at anything to change.
- Computer Use lets the agent operate the Windows apps you allow.
- Agent Builder turns a description into a reusable agent.
- Automations, Goals, Dreams and Dynamic Workflows keep work moving when you are away.
- Your pet lives on the composer and finds things to wear while agents work.
Desktop guide · Subagents · Agent profiles · Automations
Keep up with your agent from your phone while it works on your computer. See what's running, answer approvals and questions, add a message or stop a chat, and start new chats in any project.
Get it: download the Android app, then scan the code under Settings → Connections → Phones in Desktop.
Phone app guide · Access from anywhere
Run a task with one command and get the answer in your terminal, on your laptop, a server or in CI.
dotcraft exec "Which colors in src/components are still hard-coded?"Let your agent work on another Windows PC. The person sharing it chooses full access or one folder, sees every request at the top of the screen, and can pause sharing at any time.
Get it: in Desktop, open Settings → Connections → Satellites → Invite and send the link. The other PC downloads DotCraft Satellite from that page.
Your project board, built into Desktop. Local tasks, GitHub issues and pull requests, and GitLab issues and merge requests land on one board; hand a card to the agent, follow the run, review the result.
Get it: built in. Select Oratorio in the Desktop sidebar.
Put DotCraft in the group chat so teammates can ask about the project without opening Desktop. Feishu / Lark, QQ, Telegram, WeCom and WeChat connect, and their conversations share the workspace with every other entry point.
Get it: built in. Open Channels in Desktop, pick a platform and fill in its credentials.
The whole agent runtime behind DotCraft Desktop, inside your own .NET app: sessions, tools, approvals and model providers, on your host's lifecycle.
dotnet add package DotCraft.Harnessvar builder = Host.CreateApplicationBuilder(args);
builder.Services.AddDotCraftHarness(appConfig, options =>
options.WorkspacePath = workspacePath);
using var host = builder.Build();
await host.StartAsync();Make your own app a DotCraft client: connect to a workspace, start a thread and run a turn, from TypeScript or .NET.
npm install @dotcraft/sdk # or: dotnet add package DotCraft.Sdkimport { DotCraft } from "@dotcraft/sdk";
const dotcraft = await DotCraft.local({ workspacePath: "/path/to/workspace" });
const thread = await dotcraft.threads.start({ userId: "me" });
const result = await thread.run("Check contrast in dark mode.");
console.log(result.text);SDK quickstart · App Binding · Desktop plugins
The robot you see in Desktop, as a React component. It moves with the agent's state, 160+ collectible items dress it up, and the same name always draws the same avatar.
npm install @dotcraft/avatarStart with CONTRIBUTING.md.
Inspired by nanobot, codex and agent-framework.
Special thanks to:
- HKUDS/nanobot
- openai/codex
- microsoft/agent-framework
- modelcontextprotocol/csharp-sdk
- openai/symphony
Apache License 2.0









