Blog

Run a Grok bot on an environment you control

Akeru Bot is an open-source way to run named Grok bots from your own computer or server. The application and its state stay in your environment. Grok model requests still use your connected provider account.

Self-hosted refers to the Akeru application, environment server, and stored state. Grok is not a local model. Akeru connects to the provider through your supported xAI login.

1. Choose the desktop app or command-line server

The desktop app includes the Akeru server. Download it for macOS, Windows, or Linux from the Akeru Bot download page.

For a browser-based or remote setup, install Node.js ^22.16 || ^23.11 || >=24.10 and run:

npx akeru-bot@latest

The command starts the environment server and opens the local web client.

2. Connect your Grok subscription

  1. Open Settings, then Providers.
  2. Find Grok in the provider list.
  3. Select Connect and complete the device-code flow.
  4. Select Check OAuth to test the stored login.

The environment server stores the connection. Akeru clients receive connection status, not the provider token.

3. Create a Grok bot

Add a bot, select the Grok provider and model, then give the bot clear work. Set its instructions, enabled tools, and workspace mode in the bot panel. Akeru stores that profile on the connected environment so the same bot appears on every connected client.

Try a read-only first task

Choose a repository you are comfortable sharing with your provider. Start a chat with your Grok bot in that project and send this prompt:

Read the README and package scripts in this repository. Do not edit files, install dependencies, or run commands. Summarize what the project does, list the documented test commands, and cite the files you used. If something is unclear, say so.

Check the response against the cited files. The test commands should match the repository, and the bot should distinguish documented facts from guesses. Inspect any tool activity and changes before giving it a follow-up task. This is a suggested task to try, not a claim that every model will produce the same answer. A prompt is not a permission boundary; keep enabled tools and approval settings appropriate for the repository.

If the chat cannot start, return to Settings, then Providers, and use Check OAuth. Confirm that the environment server can reach the provider and that your account has access to the selected model. A connected client alone does not prove the provider is available.

4. Add plugins and MCP servers

Open Plugins to install a connector or add a custom MCP server. Then open the bot's Tools setting and choose which tools it can use. Each bot can have a different tool list.

5. Keep the server available

A local desktop session stops when its computer shuts down. On macOS or Linux, run the command-line server as a background service on a machine that stays online if bots must remain reachable. Windows users can keep the command-line server running in a terminal.

To create a one-time link for another device, run:

npx akeru-bot pair

The other device must be able to reach the address in the pairing URL. Use a private network such as Tailscale for access outside the local network. Do not expose an unencrypted HTTP server to the public internet.

Where Akeru stores data

Chats, settings, secrets, and logs live under ~/.akeru by default on the environment server. Projects and provider sessions belong to that environment. Akeru does not host an account that copies this state to its own service.

Next steps