MULTI-MODEL AI ASSISTANT

aNother Claw
in your pocket

NClaw is a container-first AI assistant accessible through Telegram. 580+ models via Claude Code, OpenRouter, Gemini, OpenAI, Ollama, and more. A single Go binary. ~10 MB idle. Each Telegram topic becomes a separate project with its own session, files, and context. docker run and you're done.

nclaw
$ docker run ghcr.io/nickalie/nclaw
[10:00:01] scheduler: loaded 3 active tasks
[10:00:01] scheduler: started
[10:00:01] webhook: server listening on :3000
[10:00:01] nclaw bot started (version=0.5.2 commit=a3b1c9f)
[10:00:05] handler: received message chat=8241953
[10:00:12] pipeline: sending reply len=247

About

What is nclaw?

A lightweight, container-first AI assistant accessible through Telegram. Supports Claude Code, 580+ models via OpenRouter, Gemini, OpenAI, Ollama, and more — plus OpenAI Codex, GitHub Copilot, and Google Gemini CLI. Each chat thread maintains its own session, and each Telegram topic becomes a separate project with isolated context and files. Send text, photos, documents, audio, or video. The assistant runs inside a Docker container with full tool access, including git, gh CLI, Chromium, Go, Node.js, and Python. Results come back as formatted Telegram messages or file attachments.


Everything You Need

A full-featured AI assistant accessible from anywhere

01

Session Persistence

Each chat thread maintains its own session. Pick up where you left off, even across restarts. Context is preserved automatically.

02

File Attachments

Send photos, documents, audio, video to the assistant. Files are cached and referenced in prompts automatically.

03

Scheduled Tasks

Create recurring or one-time jobs using natural language. Tasks persist across restarts and run autonomously.

04

Rich Runtime

Docker image includes git, gh CLI, Chromium, Go, Node.js, and Python/uv. The assistant can install additional packages on the fly.

05

File Delivery

The assistant can send files back to you — generated reports, exports, code artifacts, images, anything.

06

Telegram Topics

Each topic in a group chat is a separate project with isolated context, history, and files. One chat becomes a multi-project workspace.

07

Webhooks

Register HTTP endpoints that forward incoming requests to the assistant. Connect GitHub events, package tracking, smart home alerts, and more.

08

580+ Models

Claude Code, OpenRouter, Gemini, OpenAI, Ollama, LM Studio, and more. Switch models with a single env var. Run local models for fully offline operation.


How It Works

Simple architecture, powerful results

01

Message

Send a message, photo, document, or voice note to the nclaw bot in Telegram.

02

Invoke

nclaw launches the configured CLI agent inside a Docker container with your prompt.

03

Execute

The agent runs with full tool access — files, commands, browser, scripts.

04

Respond

Results are formatted and sent back to your Telegram chat with rich formatting.


Built-in Skills

Six skills out of the box. The assistant can also create its own skills on the fly when a task requires specialized or repeatable behavior. It can even learn to produce music.

schedule Create and manage recurring or one-time scheduled tasks using natural language
send-file Deliver generated files — reports, exports, code artifacts — via Telegram
find-skills Discover and install additional skills to extend capabilities
agent-browser Browse the web using a headless Chromium instance inside the container
webhook Register HTTP endpoints that forward incoming requests to the assistant
skill-creator Guide for creating new custom skills

Get Started

Clone, configure, deploy — have your personal AI assistant in minutes

Docker

docker run -d --name nclaw \
  -e NCLAW_TELEGRAM_BOT_TOKEN=your-token \
  -e NCLAW_TELEGRAM_WHITELIST_CHAT_IDS=your-chat-id \
  -e NCLAW_DATA_DIR=/app/data \
  -e [email protected] \
  -e GEMINI_API_KEY=your-key \
  -v ./data:/app/data \
  ghcr.io/nickalie/nclaw:multi-model

Kubernetes (Helm)

helm install nclaw \
  oci://ghcr.io/nickalie/charts/nclaw \
  --set env.telegramBotToken=your-token \
  --set env.whitelistChatIds=your-chat-id \
  --set claudeCredentialsSecret=my-secret
Full configuration guide →

Documentation

# everything you need to know
Read the docs →