75 lines
3.9 KiB
Markdown
75 lines
3.9 KiB
Markdown
# 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/ 技術文件
|
||
```
|