它要解決的問題
寫程式的 AI 代理很會寫計畫,卻沒辦法讓計畫維持不變。請它做一個功能,你會拿到一份看似合理的任務清單,三則訊息之後就忘了一半,到了下一次執行,架構又被悄悄重新發明一遍。計畫從來沒有落腳在任何地方:它只存在於對話裡,而對話早就往前走了。
把計畫放在你們雙方都看得到的地方,這種事就不會再發生。
運作方式
AI 代理寫出計畫
用什麼形式都行:一段文字、一份任務清單、一篇設計筆記。這部分本來就做得很好。
一次呼叫,把計畫變成圖
AI 代理送出結構,由伺服器擺放每一個節點。AI 代理只宣告誰依賴誰,從不指定座標,因為要模型給出位置,得到的只會是一張沒人想看的圖。
想移動的,你自己移動
你拖曳過的節點會被固定,從此自動版面配置就不會再動它,其餘的部分則圍繞著它重新排列。
檔案跟著你走
包含關係變成目錄,依賴順序變成檔名上的編號。把這個資料夾和原始碼一起提交,你的 AI 代理每次執行都會讀到它。
AI 代理看到什麼
一個 URL 加一把金鑰,背後是二十一個工具。不必安裝任何東西,也不必和伺服器保持版本一致。一次呼叫就能開啟一份計畫,在其中畫的一切都經過同一個批次、原子化的入口,所以四十個節點會同時出現在你的畫布上,而不是一個接一個慢慢爬進來。
節點以你認得出來的識別碼來指定,所以重試的時候,第二次不會改變任何東西。
工具參考文件create_plan({ title: "Billing rework" })
apply_ops({
planId: "…",
ops: [
{ op: "upsert_node",
node: { slug: "pricing-rules", title: "Pricing rules" } },
{ op: "upsert_node",
node: { slug: "render-pdf", title: "Render PDF" } },
{ op: "upsert_edge",
edge: { from: "pricing-rules", to: "render-pdf" } }
]
})產出的是什麼
一個純 Markdown 的 zip 檔,圖的結構寫在 frontmatter 裡,另外附上一個 .canvas,在 Obsidian 中開啟時版面完整保留。這個格式的任何部分都不需要本服務就能閱讀,而且同一份計畫每次匯出的位元組都完全相同。
plan-export.zip ├── README.md ├── 01-foundation/ │ ├── 01-ledger-schema.md │ └── 02-pricing-rules.md ├── 02-invoicing/ │ └── 01-render-pdf.md ├── plan.canvas └── plan.json
目前的實際進度
預覽早期版(pre-alpha),這點值得直說。規劃、繪圖、即時協作、AI 代理介面、分享、匯出,以及工作區和帳號的管理,全都可以使用。系統從不寄送電子郵件,所以邀請就是一個由你自己轉交的連結;社群帳號登入還沒有做。請匯出你的計畫,匯出功能就是為此而設的。