Go to file
王性驊 867732bd73 make, README and docs: build and install from source
- Makefile: make / run / install / uninstall / deps / test / serve / setup /
  hands / relay-run / server / dist / clean (macOS and Linux).
- README.md and docs/: install (all platforms, data locations, troubleshooting),
  multi-device (brain, hands, screens, pairing, what the offline messages mean),
  architecture (layers, data, security, sync, keys, hands, picture helper),
  protocol (relay and AnyBot endpoints, WebSocket frames, sync ops), release
  (packaging, Gitea Actions, Linux and Mac runners).
- install.sh --deps-only, bundle.sh KEEP_APP=1 (used by make deps / install).
- FEATURES.md: the multi-device part is done.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uirha3oEtWeHh58zA7ErHa
2026-11-04 22:16:45 +08:00
.gitea/workflows Release builds on Gitea Actions: macOS app, Ubuntu, headless Linux, server 2026-11-04 22:07:46 +08:00
box AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
deploy make, README and docs: build and install from source 2026-11-04 22:16:45 +08:00
docs make, README and docs: build and install from source 2026-11-04 22:16:45 +08:00
fonts AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
icons AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
mobile Add a computer with one line: pairing codes, simpler setups 2026-11-04 20:56:06 +08:00
relay Release builds on Gitea Actions: macOS app, Ubuntu, headless Linux, server 2026-11-04 22:07:46 +08:00
src Pictures for models that can't see them; bots can read the chat's attachments 2026-11-04 21:52:06 +08:00
.dockerignore AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
.gitignore Release builds on Gitea Actions: macOS app, Ubuntu, headless Linux, server 2026-11-04 22:07:46 +08:00
Cargo.lock anybot setup and the server setup: guided setup with a brain picker 2026-11-04 20:38:45 +08:00
Cargo.toml anybot setup and the server setup: guided setup with a brain picker 2026-11-04 20:38:45 +08:00
FEATURES.md make, README and docs: build and install from source 2026-11-04 22:16:45 +08:00
GROK_BOT_FEATURES.md AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
GROK_BOT_TOKENS.md AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
MECHANICS.md AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
Makefile make, README and docs: build and install from source 2026-11-04 22:16:45 +08:00
ORIGINAL_FEATURES.md AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00
README.md make, README and docs: build and install from source 2026-11-04 22:16:45 +08:00
mechanics.json AnyBot: first commit of the working desktop app 2026-11-04 16:51:51 +08:00

README.md

AnyBot

你自己的 AI Bot:可以聊天,也能在它自己的電腦和你的電腦上幫你做事(檔案、指令、瀏覽器、螢幕操作、例行任務)。每個 Bot 可以用不同的 AI 服務:xAI Grok、OpenAI、Claude、Gemini、OpenRouter、OpenCode Go、Ollama(本機),或任何 OpenAI 相容的服務。

  • 桌面 App:macOS、Linux(Windows 可以編譯,還沒有安裝包)
  • 手機:網頁版,可加到主畫面、收推播通知
  • 多台電腦:一台當大腦(保存 Bot、聊天、記憶和排程),其他電腦當手腳或螢幕
  • 用 Rust 和 egui 寫成,一個執行檔就是全部(視窗、無視窗伺服器模式、設定工具)

從原始碼安裝

git clone git@git.30cm.net:daniel.w/AnyBot.git
cd AnyBot
make deps       # 只有 Linux 需要:安裝系統套件(會問 sudo 密碼)
make            # 建置
make install    # Mac → ~/Applications/AnyBot.app;Linux → ~/.local/bin/anybot 和選單

需要 Rust(curl --proto '=https' -sSf https://sh.rustup.rs | sh)。Mac 另外需要 Xcode Command Line Tools(make deps 會提示)。詳細步驟、各平台需求和常見問題:docs/install.md。

常用指令(make help 列出全部):

指令 做什麼
make run 不安裝,直接打開
make test 跑測試
make serve 不開視窗執行(伺服器、一直開著的電腦)
make setup 把這台接到你的 AnyBot(終端機裡的引導畫面)
make server 在伺服器上架好帳號伺服器、大腦和 HTTPS(Docker)
make dist 打包發行檔到 dist/
make uninstall 移除程式(Bot 和聊天不會刪)

多台電腦一起用

           手機(網頁)        筆電(螢幕)       沒螢幕的 Linux(手腳)
                 \                 |                  /
                  └──── 帳號伺服器(一條一直開著的連線)────┘
                                   |
                         大腦:Bot、聊天、記憶、排程
  1. 架帳號伺服器和大腦:在伺服器上執行 make server(只問網域、帳號、密碼);或先用一台 Mac 當大腦(docs/multi-device.md)。
  2. 其他電腦當螢幕:打開 AnyBot › 設定 › 手機與帳號,登入同一個帳號,在「大腦」選它。
  3. 加一台手腳:手機 AnyBot 右上「⋯ › 加一台電腦」,把出現的那一行貼到那台的終端機:
    anybot setup https://anybot.example.com 469615
    
    不用帳號密碼,會設成開機自動執行;沒有螢幕就開一個虛擬螢幕。

文件

文件 內容
docs/install.md 從原始碼建置和安裝(macOS、Linux、Windows)、更新、移除、常見問題
docs/multi-device.md 大腦、手腳、螢幕:怎麼架、怎麼接、連不上時看什麼
docs/architecture.md 技術架構:程式分層、資料存放、安全設計、同步怎麼運作
docs/protocol.md 帳號伺服器和 AnyBot 之間的介面與長連線格式
docs/release.md 發行:打包、Gitea Actions 自動建置、runner 設定
FEATURES.md 所有功能的完整說明
relay/README.md 帳號伺服器的架設細節

專案結構

src/            AnyBot(桌面 App、無視窗模式、anybot setup)
  app/          視窗介面(聊天、設定、電腦、大腦同步的畫面)
relay/          帳號伺服器(獨立的小程式)
mobile/         手機網頁(由 AnyBot 和帳號伺服器提供)
box/            Bot 自己的電腦(Docker 容器)
deploy/         安裝與部署:mac/、linux/、server/、ci/
docs/           技術文件