01 · 一个项目一个
一个项目一个 Agora,图跟着代码走
在项目里敲 agora,就在当前目录建好 .agora/,起本项目专属的本地服务。画布是标准 .excalidraw 文件,评论是键排序的 JSON:跟代码一起提交、克隆、切分支,git diff 可读。
会话记录、运行状态和分享记录默认不提交。删掉的画布和会话进回收站,30 天内可恢复。

一个项目一个 Agora
每个项目自带一个 Agora:在项目的架构图上和你自己的 coding agent 讨论设计,再一键回到终端接着写代码。
uv tool install git+https://github.com/arvakme/agora然后在任何项目目录里: cd my-service && agora
宣传片 · 40 秒
agent 一站一站画出架构图,它的小人从一个节点走到下一个节点;放大节点,就进到它的子图里。
怎么工作
你在面板或终端里跟 agent 说话,它照常写自己的原生会话日志;本项目的 agora 服务跟随日志,把每一轮推到浏览器里的画布上。
在面板或终端里都行。它照常写自己的原生会话日志,和没有 Agora 时一模一样。
本项目的 agora 服务每 0.4 秒跟随一次,面板和终端两边的轮次都收得到。
改动经 HTTP + SSE 推到页面。agent 用 agora canvas apply 改图时,页面先校验 schema、引用和新鲜度再执行,结果写回 .agora/,每批修改都能撤销。
127.0.0.1,一个项目一个端口。只有分享时才经 Cloudflare Tunnel 开一个只读的访客入口。都能在画布上看到小人、进度指针和逐站画图,都能在面板发消息、在终端接着同一个会话。两处差别来自 CLI 本身:Grok、Cursor、Devin 的 -p 模式一轮开始后不接收输入;Pi 和 Devin 没有原生子代理。
核心能力
01 · 一个项目一个
在项目里敲 agora,就在当前目录建好 .agora/,起本项目专属的本地服务。画布是标准 .excalidraw 文件,评论是键排序的 JSON:跟代码一起提交、克隆、切分支,git diff 可读。
会话记录、运行状态和分享记录默认不提交。删掉的画布和会话进回收站,30 天内可恢复。

02 · 逐站画图
agent 改图时,它的小人走到每一站,新加的元素等它走到才淡入,不是整张图一下冒出来;你看得清它在搭什么。
03 · 子图
任何节点都能装一张子图:总架构 › 后端 › 订单服务。⌘ / Ctrl + 滚轮放大节点就进到子图,缩小就回到上一层;面包屑和 ⌘↑ 也行。
04 · 进度指针
给节点关联代码路径(glob),可以手动设,也可以让 agent 按目录结构批量关联。agent 改哪个文件,它的小人就走到这个文件所属的节点:两个节点有箭头相连就沿箭头滑过去,否则跳过去。不属于任何节点的文件列在「图外 · 改了 N 个文件」里;终端里的改动同样驱动它。
回放一轮,图上标出小人走过的路线、按先后编号的站点和每个节点上改了几个文件(+N)。
几个会话各有一个指针;两个 agent 改到同一个文件时,Agora 会提示可能冲突。
05 · 轨迹与回放
会话有「对话 / 轨迹」两种视图:每轮的模型、强度、输入 / 输出 / 缓存 tokens、耗时、花费排在时间轴上;每次工具调用都能展开看完整输入、输出、改到的文件和起止时间。
架构图本身也能回放:从第一笔到现在,小人走到它画的地方,可以播放、暂停、倍速、拖进度条。


每个会话开始时选 agent、模型和强度,选定后不变。画布上的评论可以直接交给 agent,答复贴回评论线程。绑定会话时自动为它安装 agora skill。

「在终端打开」用同一个原生会话起交互式 CLI(claude --resume、codex resume、pi --session-id),跑在本项目专属的 tmux 里,用 Ghostty、Kitty 或 Terminal.app 打开。终端里发生的事都出现在面板上;面板发的消息排队,等终端空下来再送进去。


开始用
不需要留着仓库。安装时会构建前端,所以需要 Node 和 npm。
uv tool install git+https://github.com/arvakme/agoracd ~/code/my-serviceagora# 初始化 .agora/,起本项目服务并打开浏览器agora status# 在跑就打印地址、端口、pidagora down# 停掉服务和本项目的 tmuxagora share create --for 1d# 开一个一天有效的只读地址pi、claude、codex、grok、cursor-agent 或 devincf 和你自己的 Cloudflare 域名agora canvas apply 返回退出码 3。tmux attach 命令。agora-canvas,命令名是 agora。