做了一个把多 Agent、终端和 Diff 放进同一条任务时间线的类 Codex 开源工具: Threadlight

发布于

大家好,最近把我一直在做的 Threadlight 整理到了 1.0 ,想发出来请大家帮忙挑挑问题。

GitHub:
[https://github.com/nagisa77/threadlight](https://github.com/nagisa77/threadlight)

官网:
[https://threadlight.xyz/](https://threadlight.xyz/)

现在 AI Agent 客户端已经很多了。我不太想把 Threadlight 介绍成“另一个更强的聊天框”,它目前也不是。

我做它主要是因为,用 Coding Agent 处理稍微长一点的任务时,真正让我不放心的往往不是模型会不会写代码,而是整个过程能不能被管住:

- 任务拆给多个 Agent 后,谁在做什么?
- 命令跑到了哪一步,修改了哪些文件?
- 中途退出或进程中断后,能不能继续?
- 最后怎么检查 Diff 、运行测试和交付结果?

这些过程经常散在对话、终端、编辑器和多个 Agent 窗口里。

Threadlight 想做的事情比较明确:把规划、Agent 协作、工具调用、终端、文件、Diff 和最终交付,放进同一条可观察、可恢复的任务时间线。

下面是 Web 客户端连接到远程 Host 后的新任务界面。Web 端只是客户端,代码、模型配置和执行环境仍然留在自己的机器或服务器上。
![图一:Threadlight Web 客户端连接远程 Host](http://pic.zhso.org/2026/08/11/8bce4af3d2ef.png)

## 多 Agent 是 Runtime 行为

Threadlight 的主 Agent 可以派发、追问、等待、中断和收集子 Agent 的结果。

每个子 Agent 都有自己的连续上下文和运行状态,不是临时拼几段 Prompt 。主 Agent 可以把相互独立的研究任务并行派出去,等结果回来后继续汇总、验证或安排下一轮工作。

任务中可以同时看到 Agent 卡片、完成状态和右侧的 Agent 树:
![图二:多个 Agent 并行执行及 Agent 树](http://pic.zhso.org/2026/08/11/2db14731c2a8.png)

## Plan 模式不只是一句提示词

Threadlight 的 Plan 模式由 Runtime 管理。

它会先以只读方式研究项目,生成执行步骤和验收标准,一次推进一个步骤;完成证据不足时,不会直接把任务标记为完成。

模型输出、工具调用、命令日志、Agent 活动、文件变化和 token usage 都会保留在任务时间线中。中途关闭客户端后,任务、Agent 树和相关状态也可以继续恢复。

## 对话、Diff 、文件和终端放在一起

我希望它不只是负责“生成代码”,还要能让人方便地检查结果。

右侧可以打开源码、文件树和当前任务的 Diff ,底部可以打开多个终端。Git 项目中的新任务默认在独立 worktree 里运行,完成后可以检查改动、运行测试,再 Commit 、Push 或创建 Draft PR 。
![图三:任务结果、Diff 与终端处于同一工作区](http://pic.zhso.org/2026/08/11/d8822c0bbcfc.png)

## 一个实际案例

例如,我在一个空任务中输入:

> 从零创建 incident-replay-lab:制作可播放的电商线上事故沙盘,包含服务拓扑、实时指标、事件流、时间轴和自动复盘。完成后测试、启动并保存事故高峰截图。

Agent 会在工作区中创建项目、编写仿真逻辑、运行测试并启动页面。执行期间,右侧可以实时查看新建文件和代码 Diff:
![图四之一:Agent 创建事故回放沙盘并展示代码 Diff](http://pic.zhso.org/2026/08/11/d83e934dfbf2.png)

最后生成的是一个可以播放的事故回放页面,包含服务拓扑、实时指标、事件流和事故时间轴:
![图四之二:最终生成的事故回放沙盘](http://pic.zhso.org/2026/08/11/6889c060dd5a.png)

## 本机和远程 Host

Threadlight 目前提供两种主要使用方式:

- macOS 桌面端:本机直接运行 Runtime 。
- Host + Web:把 Host 部署在 macOS 、Linux 开发机或服务器上,再使用浏览器连接。

桌面端和 Web 端复用同一套协议与工作区。远程使用时,代码、终端、模型配置和任务数据可以继续留在目标机器上。

Threadlight 本身不提供模型服务,需要配置自己的模型 API 。

核心 Agent Loop 是 provider-neutral 的,目前支持 OpenAI 、DeepSeek 、千问、Kimi 、豆包、Gemini 、Grok 和自定义 OpenAI-compatible 服务,也支持 Skills 、Plugins 、MCP 、项目记忆和定时任务。

## 当前状态和限制

也把目前的限制说清楚:

- 代码和 Runtime 已经到 1.0 ,但 macOS 安装包仍然是未签名测试版。
- 桌面端目前只提供 Apple Silicon 版本。
- Web 端只是客户端,不是云端执行环境,需要先部署自己的 Host 。
- 自部署需要 Node.js 22+,支持 macOS 和 Linux 。
- 内置工具使用当前用户权限运行,没有提供操作系统级 sandbox 。
- 建议只用于可信工作区;需要强隔离时,请配合容器或虚拟机。

macOS 安装包:
[https://github.com/nagisa77/threadlight/releases/tag/v1.0.0](https://github.com/nagisa77/threadlight/releases/tag/v1.0.0)

Node.js 22+ 的 macOS 或 Linux 用户,也可以一键部署 Host + Web:

```bash
curl -fsSL https://threadlight.xyz/install.sh | sh
```

不喜欢直接执行 curl 脚本的话,可以先去 GitHub 查看安装脚本、Release 和完整部署文档。

项目使用 Apache-2.0 协议。安装、交互、架构或者文档方面的问题都欢迎提 Issue 。

我尤其想听听大家的真实看法:

你们在使用多 Agent 时,最希望看清楚的是任务拆分、运行过程,还是最后的结果 Review ?现在这种工作区的信息密度会不会太高?

---

原文链接:[点击查看](https://www.v2ex.com/t/1233531)

评论

暂无评论。

0.041077s