rengwu/chartr

GitHub: rengwu/chartr

一款带有星图可视化任务规划能力的 Agent 多路复用器,帮助开发者以地图驱动的方式编排多个 AI 编程 agent 的工作会话。

Stars: 116 | Forks: 3

# chartr **带有工作视图的 Agent 多路复用器。** [下载 macOS 应用](https://github.com/rengwu/chartr/releases/latest/download/chartr_darwin_arm64.dmg) (Apple silicon,未签名) [下载 Linux AppImage](https://github.com/rengwu/chartr/releases/latest/download/chartr_linux_amd64.AppImage) (`amd64` 或 `arm64`) [更多平台](https://github.com/rengwu/chartr/releases) 在 chartr 中绘制一张探路地图,然后驱动它直至完成。计划会渲染为星图;从边界(frontier)中取出一个 ticket,选择一个 agent,会话打开时,地图、ticket 及其阻碍者的答案都已经处于缓冲区中。 如果没有地图,它就是一个纯粹的多路复用器:项目位于侧边栏中,而 shell 和 agent CLI 则位于标签页中。
The chartr cockpit ## 核心功能 - **无需离开即可绘制地图。** 从侧边栏启动一个规划 agent,无论它向 `.plan/maps/` 写入什么,一旦触及磁盘,就会立刻渲染为星图。 - **从边界派生(Spawn)。** 获取一个已解除阻碍的 ticket,选择一个角色和一个 agent,会话将在该 agent 自身的 TUI 中打开,并已提交完整的上下文。 - **运行任何你想要的 CLI。** 适配器只对一件事进行建模,即一个二进制程序如何接收其开场白,因此 `PATH` 中的任何内容都会被注册,并且 claude、codex、opencode、kimi、grok 和 pi 都会被自动检测到。 - **区分受阻与思考中。** 标签页状态来源于 agent 广播和绘制的内容,因此侧边栏会标记出任何正在等待你的空间。 - **磁盘上的地图即为状态。** 当 ticket 的 `## Answer` 出现时,该 ticket 即视为已解决,而 chartr 唯一的写入操作是对 ticket 文件的认领(claim)和释放(release)提交。 - **技能(Skills)即文件。** 纯粹的 `SKILL.md` 目录,你可以按仓库或按机器进行覆盖(shadow),并且你自己的可启动技能会显示在侧边栏中。 - **通过一个 TOML 配置终端。** 支持预设、21 种颜色槽位、字体、光标、内边距和快捷键。 ## 安装 从[发布页面](https://github.com/rengwu/chartr/releases)获取你所属平台的压缩包并运行: ``` chartr # http://127.0.0.1:8787 chartr -addr :9000 chartr -data-dir ~/w # session root (default: cwd) ``` 安装你自己的 agent CLI;chartr 本身不内置任何此类工具。 ### Linux 桌面应用 下载 `chartr_linux_amd64.AppImage`(或 `arm64`),赋予其可执行权限,然后运行它: ``` chmod +x chartr_linux_amd64.AppImage ./chartr_linux_amd64.AppImage ``` 无需安装,无需依赖 —— WebKitGTK 已被捆绑。它只借用必须来自你机器上的东西:GPU 驱动、你的字体配置以及你的合成器(compositor)。 在 Linux 上,也可以通过源码执行 `make appimage` 来构建。 ### macOS 首次启动 该 `.dmg` 是未签名的,因此 macOS 会拦截它一次: 1. 打开 chartr,点击 **Done**(_不要_点击 **Move to Trash**)。 2. 进入 **System Settings → Privacy & Security → Security → Open Anyway**。 或者执行 `xattr -d com.apple.quarantine /Applications/chartr.app`。 ### 从源码构建 需要 Go 1.26+,Node 22+。 ``` make build # → bin/chartr make check make test make dmg # the macOS app ``` ## 文档 - [新手入门](docs/getting-started.md) — 从全新机器到第一张星图 - [设计系统](docs/design-system.md) — token、基础组件、chrome/island 风格分割 - [架构决策记录 (ADR)](docs/adr/) — 为什么它的形态会是这样 ## 项目状态 **`v0.2.1` 已发布** — 从[发布页面](https://github.com/rengwu/chartr/releases)获取二进制文件。chartr 被用于构建 chartr 自身,但它仍处于 alpha 阶段:在 1.0 版本之前,其形态会发生变化,预计会有破坏性更新。 `v0.2.1` 中已发布: - [x] 空间、标签页、活动检测 - [x] 地图:星图、派生(spawn)、认领/释放(claim/release) - [x] 发布流水线 — 带校验和的二进制文件、macOS `.dmg`、Linux `.AppImage` - [x] 新手入门,基于全新机器撰写 - [x] **Linux 桌面应用** — 捆绑了 WebKitGTK 的 `.AppImage`,并已针对未安装 WebKit 的主机通过了渲染检查门禁。 尚未支持: - [ ] **Shift+Enter 作为字面换行符** — 解决方案接缝处及其测试已就绪,但该按键并未在实际终端中生效。属于功能损坏,而非缺失。 - [ ] **拖拽重排侧边栏** — 空间将保留在你放置的位置,并且随着与其冲突的最近时间排序(recency sort)一起,移除了 `pinned` 功能。 [规范](.plan/maps/sidebar-order/spec.md)。 - [ ] **“已完成”通知** — 工作时间超过可配置 _n_ 秒的会话,在停止时(无论成功、受阻还是消亡,即使控制台已关闭)会通知你。 [规范](.plan/maps/session-notifications/spec.md)。 未规划:托管服务、账号,或任何会回传数据(phone home)的内容。 ## 平台支持 一个**受支持**的构建产物:无 cgo 的二进制文件,可在你的浏览器中提供控制台,在任何 tag 发布前均会在三大操作系统上亮绿灯。Linux 的 `.AppImage` 会作为发布门禁进行构建和冒烟测试,因此只要受支持的二进制文件发布,它就会同步发布。macOS 的 `.dmg` 是尽力而为的额外产物:它需要 cgo 和系统 webview 库,且可能直接缺失 ([ADR 0011](docs/adr/0011-one-supported-artifact-tiered-extras.md))。 | 平台 | Binary | Desktop app | | ------------------------- | ------ | --------------------------------------- | | macOS `arm64` | ✅ | `.dmg`,[未签名](#macos-first-launch) | | macOS `amd64` | ✅ | 无(cgo 无法交叉编译) | | Linux `amd64` / `arm64` | ✅ | `.AppImage`,已捆绑 WebKitGTK | | Windows `amd64` / `arm64` | ✅ | 无 | Linux `.AppImage` 自带了所需的 WebKitGTK,因此它并不关心你的发行版自带的是 `webkit2gtk-4.1`、旧版的 `4.0`,还是两者皆无。每个 tag 构建时都会在一个**未安装 WebKit 和 GTK** 的容器中运行它,通过对窗口进行截图来证明控制台已渲染,而不是仅仅信任退出代码——并且这项检查会作为发布的门禁 ([ADR 0011](docs/adr/0011-one-supported-artifact-tiered-extras.md))。 Windows 没有打包的应用,也没有计划提供;可以在本地使用 `make webview` 构建 ([ADR 0013](docs/adr/0013-webview-shell-architecture.md))。 尽管 Windows 已被构建,并且其 ConPTY 层在每次改动时都会进行冒烟测试,但它并未被日常使用,因此 **WSL2 是最稳妥的路径**。 ## 相关项目 - [herdr](https://github.com/ogulcancelik/herdr) — 启发本项目的 agent 多路复用器,在你的终端中运行,而不是在窗口中 - [wayfinder-maps](https://github.com/rengwu/wayfinder-maps) — 我的只读地图 CLI 和查看器;星图的起点 - [mattpocock/skills](https://github.com/mattpocock/skills) — 原始的 `/wayfinder` 技能以及地图侧所驱动的方法 ## 演示 https://github.com/user-attachments/assets/60c335bb-5d9d-44c6-9798-654b1c70c626
标签:AI代理调度, EVTX分析, Python安全, SOC Prime, 任务管理, 多路复用器, 开发工具, 日志审计, 桌面应用