快速上手
安裝、登入 Codex 一次、啟動。這一頁其餘的內容都是選用的。
安裝
Windows PowerShell
irm https://raw.githubusercontent.com/treeleaves30760/all-code/main/install.ps1 | iex
macOS
curl -fsSL https://raw.githubusercontent.com/treeleaves30760/all-code/main/install.sh | sh
Linux / WSL
curl -fsSL https://raw.githubusercontent.com/treeleaves30760/all-code/main/install.sh | sh
安裝器會把 alc 放進 ~/.local/bin(Windows 是
%USERPROFILE%\.local\bin),並在做得到的時候把那個目錄加進你的 User
PATH;做不到時,就印出你該自己加入的目錄。macOS/Linux 請重開終端機,
或 source 提示的設定檔;PowerShell 會同時更新 User PATH 與目前的 session。
ALC_INSTALL_DIR 可以指定別的目錄:macOS/Linux 不會自動將自訂目錄加入
PATH,Windows 則會。支援 Windows PowerShell 5.1 與 PowerShell 7,包含
64 位元 Windows 上執行的 32 位元 PowerShell。
安裝器驗證 payload,再執行 alc 內部安裝交易。alc 仍是完整執行檔的穩定入口,
旁邊的 .alc/active.json 選定 .alc/generations/<digest>/alc(Windows 為
alc.exe)。完成首次遷移後,後續啟用只切換 manifest,不替換 Windows 鎖住的
入口。請把旁邊的 .alc 目錄與入口一起保留。
選用的 tmux 補裝
下載 alc、通過 SHA-256 驗證並完成安裝後,安裝器會用 tmux -V 檢查是否為
3.2 以上。已有相容版本就不更動;否則會透過現有系統套件管理器嘗試
安裝或升級 tmux:
- **Windows:**WinGet 的
arndawg.tmux-windows套件,限使用者範圍,不強制 CPU 架構。自動流程會接受套件/來源同意並關閉互動提示。會跳過 psmux 與非原生移植版;PATH 上第一個原生版若過舊或無法解析,仍會擋住後方新版。 - macOS:
brew install tmux,已安裝則用brew upgrade tmux;不會透過 sudo 執行 Homebrew。 - **Linux / WSL:**使用第一個找到的
apt-get、dnf、yum、pacman、zypper或apk。非 root 使用者會先用 sudo 快取憑證;只有 controlling terminal 可用且 stdout 或 stderr 是終端機時,才會在該終端機要求密碼。 套件操作使用非互動 sudo,不會讀取管線裡的腳本。pacman 不單獨更新索引, 避免 partial upgrade。
**只有 --tmux 需要 tmux,一般 alc 與普通 --share 都不需要。**缺少管理器、
權限不足、套件/架構不支援、安裝失敗,或舊 PATH 項目遮住新版時,都只會
警告並提供手動指令,不會讓 alc 安裝失敗。不會自動安裝 Homebrew/WinGet、
從原始碼編譯、移除 psmux 或修改 tmux 設定。套件操作之後會再次檢查版本,
不會直接假設安裝成功。
PowerShell 會附加新增的 User/Machine PATH 項目,保留 session 專有的路徑。
若仍找不到 tmux,請重開終端機並檢查 tmux -V 與 alc doctor。
手動備援指令(依平台選一個):
winget install --id arndawg.tmux-windows --exact
brew install tmux # macOS(已安裝則用 upgrade)
sudo apt-get update && sudo apt-get install -y tmux # Debian / Ubuntu / WSL
sudo dnf install -y tmux # Fedora / RHEL(或 yum)
sudo pacman -S --needed tmux # Arch;請保持整個系統更新
sudo zypper install tmux # openSUSE
sudo apk add --upgrade tmux # Alpine
停用自動處理
ALC_NO_TMUX_INSTALL=1 跳過自動 tmux 補裝。ALC_NO_PATH_UPDATE=1 則獨立
停用 alc 安裝器本身的 PATH 修改與 session PATH 刷新;套件管理器變更的
PATH 請重開終端機讀取。WinGet 本身仍可能修改永久 PATH。若要同時避免
補裝依賴的副作用與安裝器修改 PATH,請兩個都設:
curl -fsSL https://raw.githubusercontent.com/treeleaves30760/all-code/main/install.sh | ALC_NO_TMUX_INSTALL=1 ALC_NO_PATH_UPDATE=1 sh
$env:ALC_NO_TMUX_INSTALL = '1'
$env:ALC_NO_PATH_UPDATE = '1'
irm https://raw.githubusercontent.com/treeleaves30760/all-code/main/install.ps1 | iex
# 選用:清除覆寫,讓此 session 之後的安裝恢復預設行為。
Remove-Item Env:ALC_NO_TMUX_INSTALL, Env:ALC_NO_PATH_UPDATE
從原始碼建置需要 Rust 1.88 以上:cargo build --release --locked。Codex
橋接就編在執行檔裡,不需要額外安裝橋接元件。原始碼建置若要搭配 --tmux,
請另行安裝 tmux。
第一次執行
codex login
alc --codex claude
沒有「先設定」這一步。起始設定已編譯進執行檔,alc --codex claude
直接在記憶體裡讀它。它只需要 codex login 寫下的 auth.json,以及 PATH
上的 claude;少了哪一個,它都會直接說是哪一個:
error: Codex credentials were not found at ~/.codex/auth.json; run `codex login` and retry
error: 'claude' is not installed or not on PATH; install it first, then retry `alc claude`: cannot find binary path
Claude Code 會以 gpt-6.1-sol 搭配 low 推理強度啟動 —— 或是你自己
~/.codex/config.toml 裡指定的那一組 —— 用的是該模型在 Codex 上真正的
context window,而 /model 選單裡會列出每一個 GPT 模型。模型、推理強度
分級,以及同一個登入上的其他 agent,都在 Codex 橋接。
Antigravity CLI 也能跑在它自己的登入上:alc agy(見 Antigravity
CLI),而 alc --codex agy 會替它加上 Codex 的
模型。那個 Google 登入也能透過同一個橋接給其他每個 agent 使用:alc --agy claude
(見 Antigravity)。
其他 provider
alc config # keys and per-agent defaults
alc claude # each agent on its configured default
alc --openrouter codex
alc --deepseek pi
alc --ollama claude
alc --llamacpp claude
alc -p local-vllm opencode
--provider(-p)接受 profile 名稱;當某個 kind 只有一個 profile
時,也可以直接寫 kind。--anthropic、--openai、--openrouter、--codex、
--ollama、--vllm、--llamacpp、--deepseek、--moonshot、--zai、
--minimax、--groq、--xai、--google、--agy 則是捷徑。金鑰可以存在本機,也可以從環境變數
讀取;環境變數優先。各個 kind 講的是什麼協定見 Provider
相容性,檔案放在哪裡見設定。
參數傳遞
除了 Claude 專用、屬於 alc 的 --model、--effort、--context、--save
之外,agent 名稱後面的參數都會原封不動傳給 agent:
alc --codex codex exec "review this repository"
alc --openrouter claude --print "summarize the diff"
alc claude -- --model sonnet # `--` hands even those names to Claude
alc 自己的旗標 —— --metrics、--runtime、--share、--no-share、--bind-lan、
--name、--permission、--tmux、-t —— 要寫在 agent 名稱前面。寫在後面,alc
會直接停下來,而不是把它們交給 agent —— 除非你在 agent 名稱後面緊接著寫上
--,那就表示你指的是 agent 自己的旗標:
error: `--share` is alc's own flag but it came after the agent's arguments, where it would be passed to claude instead; put it before the agent name, or put the agent's own flags after `--`, as in `alc claude -- <args>`
預覽與檢查
alc --codex --dry-run claude # the resolved command, secrets redacted; says when a launch would be refused
alc doctor # binaries, credentials, compatibility, defaults, bridge, remote state
alc doctor 只要發現問題就會以非零狀態碼結束,並逐項說明該怎麼修。在終端機上
它會開啟互動式檢視,Summary 排在最前面;--plain 則印出文字報告(見互動式
檢視)。錯誤訊息本身收在疑難排解。
更新
alc update --check
alc update
alc update --download-only "$HOME/alc-bundle"
alc update --from "$HOME/alc-bundle" --offline
alc update --rollback previous --offline
alc update 會選擇符合這台機器作業系統與 CPU 的發行包,核對公開 SHA-256 與
包內執行檔版本,發布不可變世代,再原子啟用。完整執行檔的穩定入口讀取旁邊的
.alc/active.json,將新呼叫轉到 .alc/generations/<digest>/alc[.exe]。
執行中的世代不會跟著新的 active 選擇走;helper 與 daemon 使用雜湊釘住的
執行檔路徑。
既有前景/背景/共享 session 與舊 host 不會被重啟或 drain。新啟動使用自己
世代的 hub/橋接。Runtime 檔放在 <config>/run/g/<shortid> 命名空間,legacy
保留 <config>/run。真實 provider 設定、憑證、共享政策與用量帳本仍共用。
舊世代保留,不自動回收;不要刪掉仍被 session 或 helper 使用的世代。
| 選項 | 作用 |
|---|---|
--check | 在線上檢查,不套用。 |
--force | 即使目前版本相同,也重新安裝選定發行包。 |
--download-only BUNDLE_DIR | 保存已驗證 bundle,不套用;最新版本已安裝時也一樣會下載。 |
--from BUNDLE_DIR --offline | 驗證並套用完整本機 bundle,不查 GitHub、不連網;啟用前有界核對中繼資料、壓縮檔檢查碼、平台與包內執行檔版本。 |
--rollback previous 或 --rollback <digest> | 啟用保留的世代,不回復設定、憑證或用量紀錄;可以加 --offline。 |
Download-only 永遠不啟用,目標須為新建或空目錄;各 bundle 各自保存。
Bundle 或驗證失敗不切換 active 世代。回滾仍保留其他
世代,不重啟 host。Self-update 只改 alc:alc --codex update 仍是 alc 自我
更新,不是更新 Codex CLI。不更新 agent、tmux 或 PATH。外部套件更新與共用
驗證憑證輪替不在此保證內;舊 host 與外部 Codex 不使用新版 alc 的更新鎖。
管理舊 owner
alc sessions 彙整 legacy 與各世代 owner,每個 owner 各有瀏覽器 URL。
attach、kill、rename 會跨 owner 找到真正擁有者;ID 前綴有歧義就拒絕。
--runtime <id|legacy> 是全域的 owner 選取參數:
alc sessions
alc attach 7QK2
alc --runtime legacy bridge stop
alc --runtime legacy hub stop --drain
多個 owner 執行中時,hub stop 與 bridge stop 要明確指定 runtime。停止橋接
可能中斷長請求,hub drain 會結束該 owner 的 session;兩者都不是零中斷,
也不是更新步驟。各 owner 的頁面只列自己的 session,不是瀏覽器的合併檢視。
從舊 alc 首次遷移
舊 2.0.0 updater,尤其 Windows 的退出後 finalizer,無法被下載的 2.0.1 payload 追溯修復。請用 2.0.1 以上的安裝器建立穩定入口。Unix 的首次操作可以原子替換舊入口; Windows 若鎖住入口,新交易會以錯誤結束,保留驗證過的 payload 供重試,不啟用、 不殺使用者行程,也不排程新的 finalizer。後續切換 manifest 不覆寫入口。
等舊行程自然結束後重試,或用不同的 ALC_INSTALL_DIR 並排安裝,明確呼叫該路徑。
待處理不等於完成;不要只為了更新而停止執行中的工作。
解除安裝
等使用保留世代的 session/helper 都結束,再刪除 alc 與旁邊的 .alc 安裝
目錄。設定目錄的位置由 alc config path 告訴你;刪掉它的同時,也會刪掉本機
儲存的 API key。