AnyBot/README.md

75 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AnyBot
你自己的 AI Bot:可以聊天,也能在它自己的電腦和你的電腦上幫你做事(檔案、指令、瀏覽器、螢幕操作、例行任務)。每個 Bot 可以用不同的 AI 服務:xAI Grok、OpenAI、Claude、Gemini、OpenRouter、OpenCode Go、Ollama(本機),或任何 OpenAI 相容的服務。
- 桌面 App:macOS、Linux(Windows 可以編譯,還沒有安裝包)
- 手機:網頁版,可加到主畫面、收推播通知
- 多台電腦:一台當**大腦**(保存 Bot、聊天、記憶和排程),其他電腦當**手腳**或**螢幕**
- 用 Rust 和 egui 寫成,一個執行檔就是全部(視窗、無視窗伺服器模式、設定工具)
## 從原始碼安裝
```sh
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](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](docs/multi-device.md))。
2. **其他電腦當螢幕**:打開 AnyBot › 設定 › 手機與帳號,登入同一個帳號,在「大腦」選它。
3. **加一台手腳**:手機 AnyBot 右上「⋯ › 加一台電腦」,把出現的那一行貼到那台的終端機:
```sh
anybot setup https://anybot.example.com 469615
```
不用帳號密碼,會設成開機自動執行;沒有螢幕就開一個虛擬螢幕。
## 文件
| 文件 | 內容 |
|---|---|
| [docs/install.md](docs/install.md) | 從原始碼建置和安裝(macOS、Linux、Windows)、更新、移除、常見問題 |
| [docs/multi-device.md](docs/multi-device.md) | 大腦、手腳、螢幕:怎麼架、怎麼接、連不上時看什麼 |
| [docs/architecture.md](docs/architecture.md) | 技術架構:程式分層、資料存放、安全設計、同步怎麼運作 |
| [docs/protocol.md](docs/protocol.md) | 帳號伺服器和 AnyBot 之間的介面與長連線格式 |
| [docs/release.md](docs/release.md) | 發行:打包、Gitea Actions 自動建置、runner 設定 |
| [FEATURES.md](FEATURES.md) | 所有功能的完整說明 |
| [relay/README.md](relay/README.md) | 帳號伺服器的架設細節 |
## 專案結構
```
src/ AnyBot(桌面 App、無視窗模式、anybot setup)
app/ 視窗介面(聊天、設定、電腦、大腦同步的畫面)
relay/ 帳號伺服器(獨立的小程式)
mobile/ 手機網頁(由 AnyBot 和帳號伺服器提供)
box/ Bot 自己的電腦(Docker 容器)
deploy/ 安裝與部署:mac/、linux/、server/、ci/
docs/ 技術文件
```