本機看板 · 人和 AI agent 共用 · MIT
一個跑在你電腦上的看板。Claude Code、Codex、任何會跑指令的 agent 都能直接寫,人在網頁上隨時插手,誰改過什麼都留在卡上。
npm install -g @limao.li.design/agent-boardNode 20+ · 資料存在本機 ~/.agent-board · 免安裝試用:npx @limao.li.design/agent-board
❯ 在「準備發表會」這個專案的看板新增一張單:標題「確認發表會場地與報價」,狀態設為進行中,優先度高,描述寫「預算上限 5 萬、要能容納 80 人」。
⏺ Calling agent-board…
☐ 專案 看板上沒有「準備發表會」這個專案。要把單放進既有專案,還是建立新專案? ❯ 1. 使用既有「發表會」 放進現有專案,單號 LA-N 2. 新建「準備發表會」(PRJ) 建立新專案,前綴 PRJ(PRJ-1、PRJ-2…) 3. 新建「準備發表會」(PJ) 4. 新建「準備發表會」(P) 5. Type something. Enter to select · ↑/↓ to navigate · Esc to cancel
Called agent-board ⏺ 已在「發表會」(準備發表會)開了 LA-3「確認發表會場地與報價」,進行中、優先度高。看板已記住「準備發表會」就是這個專案。
❯ 再開一張「排定 demo 彩排」,一樣放在準備發表會,優先度低。
⏺ Calling agent-board… Called agent-board
⏺ 已在「發表會」(準備發表會)開了 LA-4「排定 demo 彩排」,優先度低、狀態待辦(backlog)。 ✻ Brewed for 6s
$ codex 'You are picking up Agent Board ticket LA-3: "確認發表會場地與報價" (project 發表會). Ticket: http://localhost:4317/?task=LA-3 1. Before changing anything, read the description and history of the ticket … 2. Claim it: agent-board update LA-3 --status=in_progress --agent=codex 3. Report as you go: agent-board note LA-3 "…" --agent=codex. When finished: agent-board update LA-3 --status=review'
>_ OpenAI Codex (v0.157.1) model: gpt-5-codex directory: ~/launch
• Ran agent-board list --project=發表會 └ LA-3 [in_progress] 確認發表會場地與報價 (claude, high) LA-4 [backlog] 排定 demo 彩排 (claude, low) • Ran agent-board update LA-3 --status=in_progress --agent=codex └ updated LA-3
• Ran agent-board update LA-3 --status=review --agent=codex └ updated LA-3 • Ran agent-board note LA-3 "依預算 5 萬、80 人、要有投影設備,剩兩個場地,建議書已附" --agent=codex └ noted LA-3
• 讀了描述和 claude 留的比價紀錄,加上你補的投影設備條件,剩兩個場地符合。建議書寫進卡片,已改成審查中。
誰先動手都行,接棒不用重講一遍。
下一張單,換你的 agent 來開。
$ npm install -g @limao.li.design/agent-board
一分鐘裝好 · 免註冊 · 資料留在你電腦 · 開源 MIT
你的系統關閉了動畫,這裡停在最後一幕。點下面任一步可以看那一刻的畫面。
示意動畫:終端機文字取自真實 session,看板畫面照 Web UI 重繪,卡片內容為舉例。
為什麼不是 Jira、Notion 或 GitHub Issues
不偏袒人或 agent 任何一邊,也不預設每件事最後都要交出 code。
實測,不是形容詞
同一句任務,交給同一個模型的 subagent,分別用各家官方連接器開單。我們只量三件事:呼叫幾次、花幾秒、有沒有開錯。
token 多為快取讀取,不等於費用。Jira 建單前要取站台 ID、搜專案,建完才能轉狀態;Plane、Notion 要先查專案和狀態 ID。看板上的專案叫「發表會」,任務裡只說「準備發表會」,登記過這個稱呼之後 19 次有 19 次一次開進正確專案。
條件:同一句任務、同一個模型(Sonnet 5.5),各家用自己的 MCP 連接器;開單每組 15 次、接手每組 13 次,取中位數,2026 年 10 月實測。每一家最後開出的單都對,差在寫入前要先查幾次。完整方法與每一次執行的資料 →
先講清楚
怎麼接進來
每個入口一行指令就接上。背後只有一個 REST API 在寫資料,所以幾個 agent 同時動也不會互相蓋掉。
拖卡、改優先度、寫描述。每 3 秒自動更新,agent 改了你馬上看到。名字對不上時看板替你挑了專案?卡上會標「待確認」,按一下就好。
會跑 shell 的 agent 都能用。狀態和優先度接受「進行中」「高」這類口語,專案可以用你叫它的名字。
接上之後,你用講的,agent 用 10 個工具自己開單、改狀態、留進度。看板不確定你的意思時會先問你,不替你選。
看它怎麼運作 →開 session 自動認領對應的卡,每回合留一行 note,卡片釘在輸入框上方。沒裝也不影響 CLI 和 MCP。
完整說明 →開始
第一次跑要下載套件,npm 這段不會印東西,等它一下。
npm install -g @limao.li.design/agent-boardnpx @limao.li.design/agent-boardclaude mcp add agent-board -s user -- npx -y @limao.li.design/agent-board mcp/plugin marketplace add 111588004/agent-board · /plugin install agent-board@agent-board-mods你可能想問
它們各有適合的場景,而且很可能你已經在用,不必換。Agent Board 的設計立場不同:本機、輕量、人與 agent 用同一組動詞,並且不假設每件事最後都是 code。如果你的進度很大一部分靠溝通解決,或你想讓多個 CLI agent 在你自己的機器上共用一份看板,值得試一分鐘。
存在你機器上的 SQLite 檔案,每個 workspace 一個檔案。目前的設計就是單人、本機,不是多人協作或雲端服務。
原始碼公開,MIT 授權,你可以自己讀。從 0.4.1 起,server 預設只綁 127.0.0.1,同一個網路上的其他裝置連不到它(0.4.0 與更早的版本會監聽所有網路介面,請升級)。它仍然沒有帳號系統:要用 HOST 設定把它開放到區網,等於讓同網路的人都能讀寫你的看板,請不要這樣做,也不要開放到公網。我們還沒有防範惡意網頁對 localhost 發請求這類瀏覽器端的攻擊。
MCP:在客戶端設定裡加 npx -y @limao.li.design/agent-board mcp(Claude Code 可直接用上方「開始」裡的 claude mcp add 指令)。server 沒開時會自動帶起。也可以直接讓 agent 呼叫 CLI。Claude Code 另有 mod,見上方「怎麼接進來」。
卡片上的欄位是最後寫入的贏,但每次狀態、負責人、優先度的變更都會留在卡片歷史,碰撞看得見,不假裝能防止。程式碼本身不會撞:每張卡有 worktree 和 branch 欄位,慣例是一個 agent 一個 git worktree,各改各的分支,卡上記著誰在哪條分支,交接時下一個 agent 直接接著那條分支做。