7.4 KiB
AnyBot
跑在你自己電腦上的 AI 助理。
會聊天,也會做事:整理檔案、跑指令、看網頁、操作螢幕、到點自己排。
中文 · English
模型用你自己的金鑰:xAI、OpenAI、Claude、Gemini、OpenRouter、OpenCode Go、家裡的 Ollama,或任何講 OpenAI 那套介面的服務。聊天記錄、檔案、密碼留在你的機器上,不會先存進別人的帳號伺服器。左邊每一行都是一個 Bot:研究、寫作、管電腦,可以各用各的模型。
30 秒裝好
打開終端機,貼一行。
# macOS、Linux(不限 Ubuntu:apt、dnf、yum、pacman、zypper、apk、xbps 都認得)
curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh
# Windows 10/11(x64、arm64)
irm https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.ps1 | iex
它會自己裝好需要的東西、問你要裝哪一種,然後做第一次設定。第一次編譯 5–15 分鐘,之後更新 1–2 分鐘;裝在你的使用者資料夾,不需要系統管理員。
裝好打開 AnyBot(Mac 第一次要對圖示按右鍵 › 打開),「設定 › 模型」貼上 API 金鑰,建一個 Bot 就能開始聊。沒有金鑰可以選 Ollama,在你自己的電腦上跑。
帳號伺服器 + 大腦(任何有 Docker 的 Linux,2 GB 以上;只問網址、帳號、密碼,HTTPS 它自己處理):
curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh -s -- server
無頭手腳(給 Bot 操控的電腦,沒螢幕也行)。網址和配對碼在 AnyBot 按「加一台電腦」就會看到:
curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh \
| sh -s -- hands https://你的網址 482913
# Windows 手腳
$env:ANYBOT_MODE='hands'
$env:ANYBOT_PAIR_URL='https://你的網址'
$env:ANYBOT_PAIR_CODE='482913'
irm https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.ps1 | iex
給代理程式跑、不要出現問句:sh install.sh --print 先問這台適合什麼,再用環境變數,見 install/AGENT.md。
它會先問你,再動手
你說「在我的電腦上做」,它不會默默執行。畫面上出現要做的事,你按允許才繼續。付款、寄出、刪除這類動作,每次都會再問一次,即使你關掉了別的詢問。
- 整理檔案、跑指令 — 做之前先問。也可以只讓它用「它自己的電腦」,一個跟你隔開的小桌面。
- 看網頁、填表 — 用它自己的瀏覽器。密碼和卡號由程式直接填,不會先念給模型聽。
- 操作你正在用的畫面 — 看截圖上的按鈕再點。點不到,或是要你登入時,把畫面交給你。
- 到點自己做 — 「每個工作日早上 9 點整理三則新聞」變成例行任務。
- 手機隨時插手 — 瀏覽器打開你的網址、登入,就是同一個聊天。
一台想,幾台被用
一台負責想和記(大腦),其他電腦負責被操作(手腳),手機只是一個視窗。它們都連到你自己的帳號伺服器,所以家裡的電腦不用開連接埠、也不用固定 IP。
你在手機上說話 你在筆電上說話 沒螢幕的電腦也行
\ | /
└──────── 帳號伺服器(只負責把大家接起來)────────┘
|
大腦:Bot、聊天、記憶、例行任務在這裡
|
手腳:大腦叫它看畫面、點擊、讀檔、開瀏覽器
| 角色 | 你要做的 |
|---|---|
| 大腦 | 架一次伺服器,或先用一台常開的 Mac |
| 螢幕 | 裝桌面 App,登入同一個帳號 |
| 手腳 | 按「加一台電腦」,把那一行貼過去 |
| 手機 | 瀏覽器打開你的網址,加入主畫面 |
沒有伺服器也可以先拿一台 Mac 當大腦,見 docs/multi-device.md 的做法 B。
一句話進去之後
flowchart TD
you[你:桌面 App 或手機]
relay[帳號伺服器<br/>只轉送,不保存聊天]
brain[大腦上的 AnyBot]
model[你選的模型]
ask[要動電腦?先問你]
box[Bot 自己的電腦<br/>Docker 裡的小桌面]
hands[某一台手腳<br/>你的 Mac、Linux 或 Windows]
you --> relay --> brain
brain --> model
brain --> ask
ask --> box
ask --> hands
- 你在桌面或手機送出訊息。手機不自己想,它看的是大腦上的同一份聊天。
- 大腦把這句話、這個 Bot 的指示、它能用的工具,交給你選的模型。
- 模型只要回答就直接寫回來;要讀檔、開網頁、點畫面,就提出一個動作。
- 這個動作先過 AnyBot 自己的規則,不讓模型決定能不能做。
- 你允許之後,動作在你指定的那台電腦上做:隔離桌面、你正在用的這台,或一台配對過的手腳。
- 結果回到聊天。手機、筆電看到同一份,因為都在看大腦。
三支程式就夠了,沒有資料庫伺服器:anybot(桌面、背景 anybot --serve、終端機設定 anybot setup 都這一支)、anybot-relay(帳號伺服器,電腦主動連過去)、手機網頁(一個檔案,做在程式裡)。實作細節在 docs/architecture.md。
文件
| 你想… | 看 |
|---|---|
| 手機、大腦、手腳、連不上 | docs/multi-device.md |
| 某個平台裝失敗、要自己編譯 | docs/install.md |
| 程式怎麼分層 | docs/architecture.md |
| 帳號伺服器的介面 | docs/protocol.md |
| 信任邊界、金鑰放哪 | SECURITY.md |
| 功能一條條清單 | FEATURES.md |
| 打包、自動建置 | docs/release.md |
| 改這份 README(不跑版的寫法) | docs/readme-style.md |
英文摘要在 docs/en/。
一起改
git clone https://code.30cm.net/daniel.w/AnyBot.git
cd AnyBot
make deps && make && make install
make run 直接打開,make test 跑測試,make help 看全部。
授權
Apache-2.0,見 LICENSE。