我们的目标,就是为了能用一个平台,管理所有的AI 。也就是把pc平台的AI软件的元素,要能映射到web平台,尤其是怎样发布新任务。新任务需要关联pc端,可能会有如下的一些信息变量:任务工作目录,任务的

我们的目标,就是为了能用一个平台,管理所有的AI 。也就是把pc平台的AI软件的元素,要能映射到web平台,尤其是怎样发布新任务。新任务需要关联pc端,可能会有如下的一些信息变量:任务工作目录,任务的

怎么说呢,我再说详细一点: 我们的目标,就是为了能用一个平台,管理所有的AI 。也就是把pc平台的AI软件的元素,要能映射到web平台,尤其是怎样发布新任务。新任务需要关联pc端,可能会有如下的一些信息变量:任务工作目录,任务的类型(work、code、design) 每个AI都可能不一样,都需要深入探究。 比如咱们现在做的Dumate通讯机制,通过web网页,是否能像在pc机面前那样控制Dumate! 这方面你再仔细思考,一定要做好!否则群星系统没有任何意义!

Trae做的工作


搭子桥 — 当前架构全景

核心目标

通过 Web 网页实现与 PC 端 DuMate 同等的控制能力。

已经实现的完整能力

能力实现方式状态
发现 DuMate 安装ctrl-servers.json发现内核端口
检测内核状态命名管道探测 + 日志分析
列出所有任务解析 Agent 输出文件 + 计划文件 + 内核日志
新建任务通过命名管道发送COMATE_AGENT_START_NEW_CHAT+COMATE_AGENT_NEW_MESSAGE
关联工作目录新建任务时可选workspaceId,自动从日志发现可用目录
关联任务类型work(TODOS) /code(CODE) /design(DESIGN) 三种策略
实时状态推送SSE 流推送KERNEL_SPEC_STATE_CHANGED事件
实时内容展示每 2 秒轮询 Agent 输出文件,展示 AI 生成进度
结束任务发送COMATE_AGENT_STOP到内核
查看日志搜索内核日志匹配会话 ID
复制内容完整内容复制到剪贴板

本次改进的关键点

  1. 修复了任务创建时序— 按 PC 端真实流程:创建会话 → 设置前台 → 等待初始化 → 发送消息,确保消息不会丢失

  2. 新增实时内容轮询— 因为 DuMate 内核的 AI 响应是写入文件而非管道流出的,所以通过GET /api/dumate/conversations/{id}/output每 2 秒轮询最新输出内容,前端流式展示

  3. 支持双模式查询conversation_id端点和get_conversation_output方法同时支持:

    • UUID 格式(新建任务返回的会话ID)
    • 数字格式(从任务列表选取的解析器ID)
  4. 新建任务后自动选中最新任务— 打开详情面板并启动内容轮询

当前架构图

Plain Text

Web 浏览器 (dumate.html) │ ├── REST API ←→ FastAPI 路由 ←→ DuMateBridge ←→ 命名管道 ←→ DuMate 内核 │ │ │ │ │ │ ├── 持久连接 ├── 写 Agent 输出文件 │ │ ├── 后台读取线程 ├── 写内核日志 │ │ └── 响应队列 └── 发送 ENGINE SEND │ │ │ └── SSE 流 ←── 实时推送 KERNEL_SPEC_STATE_CHANGED │ └── 内容轮询 (2s) ←── GET /api/dumate/conversations/{id}/output

可以直接在浏览器中查看

页面已打开:http://localhost:8000/ui/pages/dumate.html

你可以试试:

  1. 新建任务— 选择任务类型(工作/代码/设计)、工作目录,输入提示词
  2. 查看实时生成— 选中活跃任务,详情面板会实时显示 AI 响应内容
  3. 结束任务— 点击卡片上的停止按钮

后续可扩展方向

  • 继续对话— 向已有会话发送后续消息(add-message协议已支持)
  • 会话历史— 在详情面板中显示完整的对话(用户消息 + AI 回复)
  • 文件操作结果— 当 DuMate 创建/修改文件时,在 Web 端展示变更

又让AI参考deepseek harness

现在deepseek发布了deepseek harness,从中我们能得到什么灵感呢?

Trae做的工作

DeepSeek Harness 昨晚刚发布,今天凌晨就开源了,来得正好。我已经研究了它的架构,对群星系统来说,可借鉴的点非常多


DeepSeek Harness 能给群星什么启发?

1. 最核心的理念:"一切皆插件" → 群星应该成为"AI 的插件系统"

Harness 的 Cordis 微内核把模型、工具、技能、会话、沙箱、存储、Agent Loop、调度、UI全部做成插件,没有不可替换的"特权核心"。

对群星的启发:

目前群星集成 DuMate 的方式是写死的——dumate_bridge.py里硬编码了管道协议、任务类型、Agent 配置。如果未来要接入 Trae Work、Cursor、Windsurf 等其他 AI,每接入一个就要写一个新的xxx_bridge.py,重复造轮子。

群星应该借鉴 Cordis,设计一个统一的服务注册表,让每个 AI 适配器以插件形式注册:

Plain Text

群星内核 (微内核) ├── AI 插件: DuMateAdapter ├── AI 插件: TraeWorkAdapter ├── AI 插件: CursorAdapter ├── 工具插件: FileSystem ├── 工具插件: Shell ├── 存储插件: SessionLog └── UI 插件: WebDashboard

每个插件只需要实现:

  • getCapabilities()→ 返回该 AI 支持的能力列表(创建任务、读取输出、停止生成等)
  • execute(action, params)→ 执行具体操作
  • onEvent(eventName, callback)→ 注册事件监听

这样群星从"DuMate 专属控制台"变成"所有 AI 的通用控制台"。


2. 可追溯性(Append-only Session Log)→ 群星的任务审计系统

Harness 有一条硬约束:"模型可见的,必须可被日志重建"。所有交互——系统提示词、推理过程、工具调用结果、子Agent调度——都被记录在 append-only 的会话日志中。上下文压缩不会删除原始历史,只是用替换事件改变模型此后看到的表象。

对群星的启发:

当前群星的任务记录很零散——从.output文件读内容、从内核日志 grep 关键字、从计划文件提取元数据。这些数据分散在不同位置,没有统一的追溯视图。

可以设计一个群星会话日志(Star Session Log)

  • 每条记录是 append-only 的事件流
  • 记录每次 AI 任务的完整生命周期:发起→执行→输出→结束
  • 支持回放(replay):用户能回看 AI 当时做了什么、看到了什么
  • 支持分叉(fork):基于某个历史状态重新发起任务
  • 支持恢复(resume):断连后恢复任务状态

这和群星"管理所有 AI"的定位天然契合——每个 AI 的任务都产生统一格式的事件流,群星成为所有 AI 行为的审计总闸


3. Profile/Bundle 分层配置 → 群星的"AI 模式"管理

Harness 的 Profile 是命名的插件组合——webheadlessminimal等不同 profile 加载不同插件集。配置通过分层 patch 覆盖,每个 bundle 都可以被上层覆盖。

对群星的启发:

群星可以为不同的使用场景定义AI 模式(AI Profile)

Plain Text

群星模式管理器 ├── "全栈开发模式": DuMate + TraeWork + 文件系统 + 终端 ├── "代码审查模式": DuMate(code) + Git集成 + LSP ├── "设计模式": DuMate(design) + 图片生成API ├── "极简模式": 仅 DuMate(work)

用户可以在群星 UI 中一键切换模式,不同模式自动加载/卸载对应的 AI 适配器插件。这与当前dumate.html中的任务类型选择器(work/code/design)思路一致,但扩展到更大的粒度。


4. 类型化事件系统 → 群星的 AI 事件总线

Cordis 的事件有四种派发模式:emit(观察)、waterfall(中间件,可短路)、parallel(并行)、serial(串行)。插件通过事件通信,而不是直接调用。

对群星的启发:

当前群星中,当 DuMate 有任务完成时,前端靠轮询/api/dumate/conversations/{id}/output每 2 秒查一次。可以设计一个群星事件总线

Plain Text

群星事件总线 ├── task.started → UI 更新任务列表 + 通知 ├── task.progress → UI 更新流式输出 ├── task.completed → UI 标记完成 + 触发后续动作 ├── task.failed → UI 显示错误 + 自动重试 ├── ai.connected → 侧边栏更新状态 ├── ai.disconnected → 侧边栏更新状态 + 清理资源

每个 AI 插件发布事件,其他插件订阅事件。这样添加新的 AI 时,不需要修改 UI 代码——只要发布标准事件,UI 自动响应。


5. 无特权核心 → 群星的"可替换性"

Harness 强调"There is no privileged core to patch"——所有组件都是可替换的插件。这意味着你可以用 Harness 的框架,但换上自己的模型、自己的工具、自己的 UI。

对群星的启发:

群星不应该绑定任何特定 AI。今天用 DuMate,明天可能用 Trae Work,后天可能用 DeepSeek Harness 本身。群星的核心价值是提供一个统一的管理层,而不是某个 AI 的专属外壳

每个 AI 适配器应该是可替换的——如果某个 AI 的协议变了,只需要更新对应的插件,不需要动群星内核。


6. Creator Mode → 群星的"AI 实验场"

Harness 的 Creator Mode 允许 Agent 检查当前运行时,在内存中试验插件,并组合成新的运行模式。

对群星的启发:

群星可以提供一个**"AI 排障模式"**——当某个 AI 集成异常时,可以让用户:

  • 查看当前 AI 的协议通信日志(类似dumate_bridge.py的原始管道数据)
  • 在 UI 中手动发送原始命令测试
  • 动态调整参数(如工作目录、任务类型映射)
  • 实时看到 AI 的原始响应

这相当于给群星加了一个**"开发者工具"**面板,降低调试新 AI 集成的门槛。


总结:群星可以怎么做?

Harness 理念群星对应设计预期价值
一切皆插件AI 适配器插件注册表一次设计,接入所有 AI
Append-only 日志任务事件流 + 回放/分叉/恢复完整审计,永不丢失
Profile/BundleAI 模式管理器按场景动态组合 AI 能力
类型化事件事件总线解耦 AI 与 UI
无特权核心可替换适配器不被任何 AI 绑定
Creator ModeAI 排障面板降低集成调试成本

一句话总结:DeepSeek Harness 告诉我们,Agent 框架的正确方向不是"集成更多能力",而是"设计一个让所有能力都可插拔的架构"。群星如果从一开始就做好这个底座,未来接入任何 AI 都只是写一个插件的事。