Claude Code can write code, run tests, analyze data, and debug anything. But it's stuck in your terminal.
What if your entire team could talk to it in Slack? What if it answered questions in your Telegram group 24/7? What if you could embed it into your own product with 5 lines of code?
That's exactly what I built. Here's how.
The Problem
I have Claude Code running locally. It's great — it understands my codebase, writes solid code, runs shell commands, does git operations. But:
- My teammates can't use it (it's my terminal)
- I can't leave it running as a service
- There's no API to integrate it into our internal tools
- When I want to switch to Cursor or Codex, I have to change my entire workflow
I didn't want to build another LangChain app or wire up API calls. Claude Code is already a fully capable agent — I just needed to give it a way to receive messages from Slack and send replies back.
The Solution: GolemBot
GolemBot wraps your existing coding agent (Claude Code, Cursor, OpenCode, or Codex) and connects it to messaging platforms. The agent is the brain — GolemBot is the body.
Slack / Telegram / Discord / Feishu / DingTalk / WeCom
|
v
GolemBot Gateway
|
v
Claude Code / Cursor / OpenCode / Codex
No prompt engineering. No API wiring. No vector databases. The agent you already have does all the thinking.
Step 1: Install
npm install -g golembot
Requirements: Node.js 18+ and at least one coding agent CLI installed (e.g., Claude Code).
Step 2: Run the Onboard Wizard
mkdir my-bot && cd my-bot
golembot onboard
The wizard walks you through everything:
- Pick your engine — Claude Code, Cursor, OpenCode, or Codex
- Choose a skill template — or start with built-in skills only
- Connect IM channels — paste your Slack/Telegram/Discord bot token
- Launch — the gateway starts immediately
That's it. Your coding agent is now live in your team chat.
Step 3: Talk to It
In Slack or Telegram, just @ the bot:
@my-bot analyze the error rate in our logs from the past 24 hours
@my-bot write a Python script that converts all PNGs in /uploads to WebP
@my-bot review the latest PR on our repo and summarize the changes
Behind the scenes, GolemBot passes the message to Claude Code (or whatever engine you chose), streams the response, and sends it back to the channel. The agent has full access to your workspace — files, git, shell — just like it does in your terminal.
Or: Embed in Your Own Product
Don't need IM? Use GolemBot as a library:
import { createAssistant } from 'golembot';
const bot = createAssistant({ dir: './my-agent' });
for await (const event of bot.chat('Analyze last month sales data')) {
if (event.type === 'text') process.stdout.write(event.content);
}
Five lines. Full agent power. Works in any Node.js backend.
Why Not Just Use the Claude API?
Good question. Here's the difference:
| GolemBot + Claude Code | Claude API wrapper | |
|---|---|---|
| File access | Reads/writes files in your workspace | You build file tools from scratch |
| Shell commands | Runs git, npm, tests, anything | You build exec tools from scratch |
| Context | Understands your entire codebase | You implement RAG + chunking |
| Tool use | Built into the agent | You define JSON schemas + handlers |
| Upgrades | Claude Code gets smarter → your bot gets smarter | You maintain everything |
Claude Code is already a complete agent. GolemBot just connects it to the outside world.
The Skill System
Want your bot to do something specific? Add a Skill — it's just a directory with a SKILL.md file:
skills/
code-review/
SKILL.md # "When asked to review code, check for..."
daily-report/
SKILL.md # "Generate a summary of git commits..."
template.md
Drop it in, the bot gains the ability. Remove it, the ability is gone. No code changes, no redeployment.
GolemBot is also compatible with ClawHub's 13,000+ community skills:
golembot skill search "code review"
golembot skill add clawhub:code-review
Engine Switching
Tired of Claude Code? Switch to Cursor or Codex in one line:
# golem.yaml
engine: codex # was: claude-code
The StreamEvent interface is identical across all engines. Your IM connections, skills, and sessions keep working.
Running Multiple Bots
Need different bots for different teams?
golembot fleet serve # starts all bots, unified dashboard
golembot fleet ls # see status of all running bots
Each bot gets its own engine, skills, and channel connections. The Fleet Dashboard shows them all in one view.
Configuration
Everything lives in one file — golem.yaml:
name: team-assistant
engine: claude-code
channels:
slack:
botToken: ${SLACK_BOT_TOKEN}
appToken: ${SLACK_APP_TOKEN}
telegram:
botToken: ${TELEGRAM_BOT_TOKEN}
discord:
botToken: ${DISCORD_BOT_TOKEN}
gateway:
port: 3000
token: ${GOLEM_TOKEN}
Sensitive values use ${ENV_VAR} references. Put secrets in .env, commit golem.yaml to your repo.
Docker Deployment
FROM node:22-slim
RUN npm install -g golembot
WORKDIR /assistant
COPY . .
EXPOSE 3000
CMD ["golembot", "gateway"]
Try It Now
npm install -g golembot
mkdir my-bot && cd my-bot
golembot onboard
The whole setup takes about 2 minutes.
- GitHub: github.com/0xranx/golembot
- Docs: 0xranx.github.io/golembot
- npm: npmjs.com/package/golembot
- Discord: Join the community
MIT licensed. No telemetry. No network calls beyond the underlying agent.
If you found this useful, a star on GitHub would mean a lot. Questions or feedback? Open an issue or join the Discord.
Top comments (2)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.