Skip to content
sintlabPublic

About

Self-hosted daemon that runs headless Claude Code and Codex from Slack, Feishu and WeCom group chats — one group per project, any model behind it. 一群一项目,模型随时换,记忆不丢

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

60 Commits

Folders and files

Repository files navigation

SintBot — the group-project AI daemon, running on your own machine

Say it in the group. Any model, one memory. On your own machine.

npm version tests node version PolyForm Shield license

Website · 简体中文 · Install guide · Releases


SintBot is a self-hosted daemon that puts a coding agent in your team's group chat. You bind a group to a project directory, and then anyone in that group can hand it work. It reads and changes code, designs, runs scripts and reports back, all on your own machine.

Each turn runs the official Claude Code or Codex CLI headless, so tools, MCP servers, skills and project memory behave just as they do in your terminal. Each group chooses its model: Claude, GPT, DeepSeek, GLM, MiniMax, Kimi, or one you host yourself.

Full source, docs and tests are public and downloadable under the PolyForm Shield License 1.0.0.

How it works

Group (Slack, Feishu or WeCom) → SintBot on your machine → Claude Code or Codex in the project directory → the model chosen for that group; progress and results flow back to the group

  • One group, one project. Each group gets its own project directory, session, queue, permissions and scheduled tasks.
  • Same agent, any brain. Switch models with /model in the chat. The project's CLAUDE.md, AGENTS.md and memory carry over to whichever agent runs next.
  • Stays on your machine. Projects, sessions, memory and logs live on your disk and never pass through a SintBot server. Prompts and the code the model reads still go to the provider you chose.
  • No public IP. Every platform uses an outbound long connection (Socket Mode on Slack). One daemon can serve Slack, Feishu and WeCom at the same time.

Quick start

1. Install on macOS or Linux:

curl -fsSL https://sintbot.com/install.sh | bash

The script checks for Node.js 22+, installs sintbot, sets up a model with a live trial turn and offers to install the background service, then opens the console at http://127.0.0.1:4600. It asks before every change and never uses sudo. Read install.sh first, or add --dry-run to see what it would do.

To install by hand instead:

npm i -g sintbot
sintbot setup             # set up a model, with a live trial turn
sintbot service install   # restarted on crash, started at login; the console stays at http://127.0.0.1:4600

2. Connect a chat platform in the console. Create a bot, add it to a group and enter its credentials under Settings; each platform has a step-by-step guide there and here: Slack · Feishu · WeCom. Then bind the group to a project folder under Groups.

3. @ the bot in your group. Switch models and watch live activity in the same console.

Pick a model: no Claude subscription needed

The wizard checks what this machine is logged in to and recommends in this order:

You have Use What to do
A Claude subscription (Pro / Max) Claude run claude auth login before the wizard
A ChatGPT account GPT, via Codex npm i -g @openai/codex, then codex login
Neither DeepSeek (recommended) sign up at platform.deepseek.com, top up, create an API key and paste it into the wizard; it runs a trial turn on the spot

The other presets are Zhipu GLM, MiniMax and Volcano Ark. GLM and MiniMax also have international sites (Z.ai, minimax.io); the wizard finds out which site your key belongs to by trying it. Kimi and any other Anthropic-compatible endpoint can be added as custom endpoints in the console.

Without a Claude subscription, Claude Code is only the agent framework and needs no login. The only features you lose are GPT groups and image generation, both of which borrow Codex. In mainland China, see the Chinese README.

What you get

Area What it does
In the group Streaming progress: Slack shows its native "Working…" status and a Stop button; Feishu cards update in place. Messages that arrive mid-turn are merged into the next turn.
Commands /help · /status · /model <name> · /stop · /skip · /new · /hud · /issue. On Slack, use a ! prefix because Slack consumes messages that start with /.
Permissions Set per group, read-only by default. Thirteen secret and PII patterns are masked before a message reaches the group.
Scheduled tasks Cron, aliases such as daily, or plain "every day at 09:00". A task can wake the agent, post a reminder or run a script.
Design Distill a style from a site, a project folder or an image you like, or start from sixteen built-in styles. The result is a per-project DESIGN.md the agent must read, and every hand-off is checked against it. Iterate by annotating Feishu whiteboards.
Images Generated with the machine's Codex subscription, so no API key is needed. Edit an existing image, repaint a masked region, or produce a transparent background.
Previews & browser HTML prototypes are served on your LAN for the group to see. When the bot's browser hits a login or captcha, a group member takes over through a one-time link.
Console One local page for every group: a "Needs you" list (failed turns with their reason, takeover requests, open feedback), projects, models, permissions, design library, live activity and release history. Available in English or Chinese.
Operations Turns are capped at 30 minutes, and at most two run at once. Turns interrupted by a restart are redone automatically. Includes sintbot doctor, an ops alert group and quota warnings.

Everyday commands

sintbot doctor                    # health check: config, CLIs, models, platforms, groups
sintbot service status | logs     # is the service up, and what is it doing
sintbot agent run "…"             # a read-only trial turn in the current directory
sintbot ui                        # open the console
sintbot chat -C <project-dir>     # simulate group messages in the terminal, no chat platform needed
sintbot help                      # all commands

Configuration lives in ~/.sbot/config.json. See docs/config.md for the fields, or the annotated sbot.config.example.json. The package installs two equivalent commands, sintbot and sbot.

Status

Area Status
macOS Verified. Real-machine testing covered the main flows on Slack and Feishu: messaging, streaming progress, model switching and scheduled tasks.
Linux Experimental. The systemd unit is covered by unit tests but has not yet been installed on real hardware.
Windows Not verified. Install manually; sintbot service install prints the NSSM and pm2 commands to run.
WeCom The newest integration, with the least real-world use.
Slack The native Stop button, !status and the thread buttons are covered by tests but have had little real-world use.
Kimi Not a preset and not yet tested. Add it in the console as a custom endpoint (Models → Add model → Custom); if you try it, please report how it went.

"Feishu" here means the China edition (open.feishu.cn). The international Lark (larksuite.com) runs on a separate open platform and is not supported yet. The bot's built-in messages and sintbot doctor are in Chinese; the installer, the setup wizard and the console also speak English.

Security

  • The bot executes commands in the bound project directory. Permissions are set per group: read-only by default, with "full access" for groups you trust. File tools are confined to the project directory; shell commands are not sandboxed. See docs/security.md.
  • The console listens on this machine only. Before opening it to your LAN, run sintbot ui --set-password.
  • Personal Claude or ChatGPT subscriptions may not permit multi-user groups; check the provider's terms before team use.

FAQ

Do I need a Claude subscription?

No. If the wizard finds no Claude or Codex login, it recommends DeepSeek and runs a trial turn as soon as you paste the API key. Claude Code is still the agent framework; it just needs no login.

Can I use it in mainland China?

Yes. Use Feishu as the chat platform and DeepSeek (or the mainland sites of Zhipu GLM, MiniMax or Kimi) as the model: they connect directly, with no proxy. A proxy is needed only for Claude, ChatGPT or Slack.

Do I need a server or a public IP?

No. SintBot runs on a computer you keep on; a Mac is the tested setup. It only makes outbound connections: Socket Mode for Slack, a WebSocket long connection for Feishu and a long connection for WeCom. The console stays local unless you open it.

Does switching models lose the project's memory?

No. A switch starts a fresh conversation, but the project's CLAUDE.md, AGENTS.md and memory directory are handed to whichever agent runs next. Long sessions are compacted automatically.

How is it different from cc-bot?

Both are free. cc-bot is a Claude Code plugin: it runs inside your own interactive session, on that session's model. SintBot is a standalone daemon: no one has to keep a terminal open, each group has its own project, model and permissions, it drives both Claude Code and Codex, and it comes with a local console.

Documentation

Topic Docs
Getting started Install · Models · Configuration · Security · Features
Chat platforms Slack · Feishu · WeCom
Features Whiteboard · Previews · Browser · Icons · Codex runner · Public console access
Project Architecture (DESIGN.md) · Contributing · Changelog

Feedback

Please report bugs and request features in GitHub Issues. Include the following, with secrets redacted:

  • sintbot version
  • your OS
  • your chat platform
  • the output of sintbot doctor

Report security issues privately through GitHub Security Advisories; see SECURITY.md.

License

Full source, docs and tests are public and downloadable under the PolyForm Shield License 1.0.0 © WaterTian. The license text governs.

  • You may use, modify and run it for yourself, your team or your company.
  • You may not use it to offer a product that competes with SintBot, paid or free.

About

Self-hosted daemon that runs headless Claude Code and Codex from Slack, Feishu and WeCom group chats — one group per project, any model behind it. 一群一项目,模型随时换,记忆不丢

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages