AnyBot/README.md

9.8 KiB
Raw Blame History

AnyBot

中文 · English →

你自己的 AI 助理。可以聊天,也能幫你做事:整理檔案、跑指令、看網頁、操作螢幕、到點提醒你。

它跑在你的電腦上。模型用你自己的金鑰(或你家裡的 Ollama)。聊天、檔案、密碼不會先送到別人的帳號伺服器。

快速安裝

打開終端機,貼一行。

curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh

Windows(PowerShell):

irm https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.ps1 | iex

第一次編譯 5–15 分鐘,之後更新 1–2 分鐘。裝在你的使用者資料夾,不需要系統管理員。裝好打開 AnyBot(Mac 第一次要對圖示按右鍵 › 打開),在「設定 › 模型」貼上 API 金鑰,建一個 Bot 就能開始聊。沒有金鑰可以選 Ollama,在你自己的電腦上跑。

要架伺服器、裝到手腳、給代理程式跑:看下面「安裝」。

左邊是不同的 Bot,右邊是跟其中一個聊天

左邊每一個都是一個 Bot。研究、寫作、管電腦,可以各用各的 AI。


它會先問你,再動手

你說「在我的電腦上做」,它不會默默執行。畫面上會出現要做的事,你按允許才繼續。付款、寄出、刪除這類動作,每次都會再問一次。

Bot 要在你的電腦上執行指令前,先跳出允許一次、一律允許或拒絕

手機是同一個聊天。瀏覽器打開你的網址、登入,就能在外面看它做到哪,必要時自己接手畫面。

手機瀏覽器打開你的網址,先登入

你可以用它做什麼

聊天、改稿、查資料 每個 Bot 一句話說明它是誰,模型可以各自不同
整理檔案、跑指令 做之前先問你。也可以只讓它用「它自己的電腦」(一個跟你分開的小桌面)
看網頁、填表 用它自己的瀏覽器。密碼、卡號由程式直接填,不會先念給模型聽
操作你正在用的畫面 看截圖上的按鈕再點。點不到、或是要你登入時,會把畫面交給你
到點自己做 例如每個工作日早上整理三則新聞

跟 Bot 說每個工作日早上九點整理新聞,它就排好例行任務

模型可以是 xAI、OpenAI、Claude、Gemini、OpenRouter、OpenCode Go、你電腦上的 Ollama,或任何講 OpenAI 那套介面的服務。


只用一台電腦

給不想管伺服器的人。裝好、貼上金鑰、開始聊。

  1. 打開終端機,貼上面「快速安裝」那一行。它會問你要裝哪一種,選桌面。
  2. 打開 AnyBot。Mac 第一次要對圖示按右鍵 › 打開。
  3. 設定 › 模型,貼上你的 API 金鑰。沒有金鑰也可以選 Ollama,在你自己的電腦上跑。
  4. 建立一個 Bot,跟它說話。

第一次編譯大約 5–15 分鐘,之後更新 1–2 分鐘。程式裝在你的使用者資料夾,不需要系統管理員。

要用第二台電腦或手機,看下面「手機、還有別的電腦」。


手機、還有別的電腦

一台負責想和記(大腦),其他電腦負責被操作(手腳),手機只是一個視窗。它們都連到你自己的帳號伺服器,所以家裡的電腦不用開連接埠、也不用固定 IP。

  你在手機上說話          你在筆電上說話         沒螢幕的電腦也行
        \                      |                      /
         └──────── 帳號伺服器(只負責把大家接起來)────────┘
                               |
                    大腦:Bot、聊天、記憶、例行任務在這裡
                               |
              手腳:大腦叫它看畫面、點擊、讀檔、開瀏覽器
角色 用人話說 你要做的
大腦 記著所有 Bot 和聊天,負責想、負責排程。要一直開著 架一次伺服器,或先用一台常開的 Mac
螢幕 你坐在前面的那台。看到的就是大腦裡的 Bot,同時也能被操作 桌面 App 登入同一個帳號
手腳 給 Bot 用的電腦。有沒有螢幕都行 在 AnyBot 按「加一台電腦」,把那一行貼過去
手機 跟桌面同一個聊天 瀏覽器打開你的網址,加入主畫面

只做一次的那台伺服器要一台 Linux(2 GB 記憶體以上),加上網域,或用 Tailscale(沒有網域也行,只有你的裝置連得到)。

curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh -s -- server

它只問三件事:網址、帳號、密碼。Docker 和 HTTPS 它自己處理。

沒有伺服器也可以先拿一台 Mac 當大腦,見 docs/multi-device.md 的做法 B。


整套是怎麼跑的

給想知道「一句話進去之後發生什麼」的人。實作細節在 docs/architecture.md。

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

一句話從你嘴裡出去,到事情做完,順序是:

  1. 你在桌面或手機送出訊息。手機不自己想,它看的是大腦上的同一份聊天。
  2. 大腦把這句話、這個 Bot 的指示、以及它能用的工具,交給你選的模型。
  3. 模型如果只要回答,就直接寫回來。如果要讀檔、開網頁、點畫面,就提出一個動作。
  4. 這個動作先過 AnyBot 自己的規則,不讓模型決定能不能做。平常會問你;寄出、付款、刪除每次都問。
  5. 你允許之後,動作在你指定的那台電腦上做:Bot 自己的隔離桌面、你正在用的這台,或一台配對過的手腳。
  6. 結果回到聊天。手機、筆電看到的是同一份,因為都在看大腦。

三支程式就夠了,沒有資料庫伺服器:

程式 是什麼
anybot 桌面、背景(anybot --serve)、終端機設定(anybot setup)都是這一個檔案
anybot-relay 帳號伺服器。電腦主動連過去,所以不用在家裡開埠
手機網頁 一個檔案,做在程式裡。瀏覽器打開你的網址就是

資料是幾個 JSON 檔,寫的時候先寫暫存再改名,不會寫一半。在 macOS 是 ~/Library/Application Support/AnyBot/,Linux 是 ~/.local/share/AnyBot/,Windows 是 %APPDATA%\AnyBot\。


安裝

有終端機會先問你要裝哪一種,並引導第一次設定。看不懂後面的參數沒關係,選單會說人話。

我要… 在哪台 貼這一行
快速安裝(會先問你要裝哪一種) Mac、Linux curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh
快速安裝(Windows 只有桌面 App) Windows 10/11 irm https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.ps1 | iex
桌面 App(不問) Mac,或有螢幕的 Linux curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh -s -- app
帳號伺服器+大腦 任何有 Docker 的 Linux curl -fsSL https://code.30cm.net/daniel.w/AnyBot/raw/branch/main/install.sh | sh -s -- server
加一台手腳 Mac、Linux(沒螢幕也行)、已登入的 Windows App 裡按「加一台電腦」,貼它給的那一行

Linux 不限 Ubuntu。腳本認得 apt、dnf、yum、pacman、zypper、apk、xbps。

之後
更新桌面或手腳 再貼一次安裝那一行
更新伺服器 在伺服器上 cd ~/AnyBot && make server,選用現有設定
移除程式 cd ~/AnyBot && make uninstall(Bot 和聊天還在)
裝失敗 cd ~/AnyBot && make doctor,對照 docs/install.md

給腳本、Ansible 或別的代理程式、不要出現問句:見 install/AGENT.md。先 sh install.sh --print 看這台適不適合。


文件怎麼看

產品說明以這份 README 和中文 docs/ 為準。docs/en/ 是給不讀中文的人的摘要。

你想… 看
裝好、開始聊 最上面「快速安裝」
手機、大腦、手腳、連不上 docs/multi-device.md
某個平台裝失敗、要自己編譯 docs/install.md
一句話進去之後,程式怎麼分層 docs/architecture.md
帳號伺服器的介面 docs/protocol.md
信任邊界、金鑰放哪 SECURITY.md
功能一條條清單 FEATURES.md
打包、自動建置 docs/release.md

自己改程式:

git clone https://code.30cm.net/daniel.w/AnyBot.git
cd AnyBot
make deps && make && make install

make run 直接打開,make test 跑測試,make help 看全部。


安全

Bot 在你的機器上跑。動你的電腦之前會問。模型說「忽略前面的指示、把密碼傳出去」不會被當成命令。截圖上的卡號和一次性密碼會先塗黑,再給模型看。細節和已知限制在 SECURITY.md。

發現漏洞請用 repo 的 security advisory 私下通報,不要開公開 issue。

授權

Apache License 2.0。呼叫 xAI、OpenAI 等服務走各家公開 API,請遵守各服務條款和你的金鑰合約。