爱意满满的作品展示区。
nagisa12321

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

  •  
  •   nagisa12321 · 44 mins ago · 53 views

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

    GitHub:

    https://github.com/nagisa77/threadlight

    官网:

    https://threadlight.xyz

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

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

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

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

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

    下面是 Web 客户端连接到远程 Host 后的新任务界面。Web 端只是客户端,代码、模型配置和执行环境仍然留在自己的机器或服务器上。

    图一:Threadlight Web 客户端连接远程 Host

    多 Agent 是 Runtime 行为

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

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

    任务中可以同时看到 Agent 卡片、完成状态和右侧的 Agent 树:

    图二:多个 Agent 并行执行及 Agent 树

    Plan 模式不只是一句提示词

    Threadlight 的 Plan 模式由 Runtime 管理。

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

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

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

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

    右侧可以打开源码、文件树和当前任务的 Diff ,底部可以打开多个终端。Git 项目中的新任务默认在独立 worktree 里运行,完成后可以检查改动、运行测试,再 Commit 、Push 或创建 Draft PR 。

    图三:任务结果、Diff 与终端处于同一工作区

    一个实际案例

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

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

    Agent 会在工作区中创建项目、编写仿真逻辑、运行测试并启动页面。执行期间,右侧可以实时查看新建文件和代码 Diff:

    图四之一:Agent 创建事故回放沙盘并展示代码 Diff

    最后生成的是一个可以播放的事故回放页面,包含服务拓扑、实时指标、事件流和事故时间轴:

    图四之二:最终生成的事故回放沙盘

    本机和远程 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

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

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

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

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

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

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

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5603 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:47 · PVG 14:47 · LAX 23:47 · JFK 02:47
    ♥ Do have faith in what you're doing.