Skip to content
SmartStudioPublic

About

A personal AI assistant that leads a team of bots, runs on your own computers, and asks you before anything goes public.

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Latest commit

 

History

653 Commits

Folders and files

Repository files navigation

Baize Bot

Baize Bot

English · 中文

CI License: MIT Node pnpm TypeScript

Baize Bot is an AI assistant that leads a team of bots. It is local-first: the bots run on your own computers.

It is for one person or a small team doing content, community and growth work, such as promoting an open-source repo. You talk only to the main assistant. It hands the work to bots and comes back when it needs your decision, has a result, or is stuck. A post goes out only after you approve it, or approve the content plan it belongs to.

Baize is in early development. There is no release and no download yet. You can run it from source on the main branch today.

Approval card asking to write an external file

The card says 「需要你点头 · 写外部文件」. Click 批准 仅这一次 to allow this write.

Give the main assistant a task; it runs the steps

Give the main assistant a task. It runs the steps, including one that waits (等你点头).

Several bots playing Texas Hold'em

Several bots play Texas Hold'em, each calling, raising, or folding on its own.

Try it from source in 3 steps

You need Node 22+, pnpm and Docker.

  1. Clone and configure: git clone https://github.com/SmartStudio/baize-bot && cd baize-bot && pnpm install && cp .env.example .env. In .env, set CREDENTIALS_KEY (openssl rand -base64 32) and TOOL_SECRET_KEY (openssl rand -hex 32). The control plane will not start without them. Set UPSTREAM_API_KEY if you want bots to call a model.
  2. Start the database and seed it: docker compose up -d, then pnpm --filter @baize/control-plane migrate and pnpm --filter @baize/control-plane seed.
  3. Run pnpm dev, open http://localhost:5173 and sign in with chen@baize.dev / baize-dev. To connect a computer agent, see docs/开发.md.

If you want to follow Baize until the first release, star the repo. It is the easiest way for us to see that people want it.

What it does

  • Start with one sentence. Tell the main assistant what you want done, for example "promote this open-source repo". It opens a project, brings in the right bots and writes a plan.
  • A squad of bots. Each bot has its own name, description, preferences and skills. Several bots work together in one group chat. Whoever you @ takes the task, otherwise the bot currently in charge carries on. When bots hand work to each other, they write down what is done and what comes next, and the handoff completes only after the receiver accepts.
  • Projects with goals and progress. Every project has a pinned task card with a checklist, a deadline, a target number and metrics read back on a schedule, such as GitHub stars.
  • You see it before it goes public. Anything a bot wants to post starts as an editable draft. Approve a whole content plan at once, and posts that follow the plan go out without asking again. An edited draft goes back to pending.
  • Sensitive actions need your approval. When a bot reaches a tool that needs confirmation, an approval card appears in the chat. Click the button or reply "approve".
  • Runs on your own machines. You get two computers, your Mac and a remote cloud server. Accounts for Chinese platforms stay on your Mac. GitHub, X and research run on the server and keep going when your laptop is closed. Say "use the cloud computer" and the bot moves the group there. Commands on the cloud computer run in a sandbox.
  • Connects your accounts. GitHub and X use OAuth. Credentials stay in the control plane and bots never see them. Xiaohongshu logs in through a dedicated assistant browser, and you operate the login page yourself from a live view in the web app.
  • Learns as it goes. After a bot finishes a kind of task, it offers to save it as a skill. You can also ask it to find a public SKILL.md on GitHub and install it.
  • Routines. Daily, weekdays, hourly, or triggered by a webhook, such as an evening briefing.
  • Plays, too. A built-in Texas Hold'em table where three bot players deal you in, with a commentator to ask when you're unsure.

Screenshots

Approve a whole week's content plan from the home page. Edit any draft inline before it goes out.

Content plan waiting for approval

A project tracks its goal, here 1,000 GitHub stars by year end, along with this week's plan.

Project page with goal and weekly plan

The Texas Hold'em table with three bot players.

Texas Hold'em table

The UI is in Chinese for now.

How it works

Web / desktop app
   │
   ▼
Control plane (accounts, groups, approvals, drafts, model gateway)
   │  WebSocket
   ▼
Your computers (local Mac / remote cloud server)
   └─ Computer agent → one runtime session per bot per group

The control plane holds state and authorization. The work runs on your computers. Each computer connects out to the control plane, so no inbound ports are needed. All model requests go through the control plane's gateway.

Quick start

You need Node 22+, pnpm and Docker.

pnpm install
docker compose up -d
pnpm --filter @baize/control-plane migrate
pnpm --filter @baize/control-plane seed
pnpm dev

Open http://localhost:5173 and sign in with the dev account chen@baize.dev / baize-dev.

The detailed docs are in Chinese.

Tech stack

A TypeScript pnpm monorepo. The control plane uses Hono and PostgreSQL, the web app React and Vite, the desktop app Electron. The bot runtime is built on the Pi coding agent.

License

MIT

延伸阅读

Notes on fxai.ai (in Chinese):

Star History

Star History Chart

About

A personal AI assistant that leads a team of bots, runs on your own computers, and asks you before anything goes public.

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages