跳转到内容

Spark 功能地图

按「想完成什么」来分组,比按 slash 命令数量更容易理解 Spark。命令和 agent 工具只是能力内部的控制入口,不是产品功能分类。

使用入口 用途 状态所有者
spark CLI 安装、分发、脚本、诊断和打开其他表面 只负责分发
TUI 描述工作、引导单个会话、查看本地投影 终端展示
Daemon 前端断开后仍保持会话和任务运行 执行真相
Cockpit 在浏览器监督工作空间和对话 Web 展示与协调
ACP 把兼容编辑器接入 daemon 会话 只负责适配
Updater 安装、升级、回滚和报告构建版本 已安装版本

公开产品只有 @zendev-lab/spark。源码 workspace package 是实现边界,不是单独 支持的产品。详情见界面与所有权CLI 参考

贡献者只需按家族理解源码拓扑:

源码家族 职责
apps/spark-clispark-tuispark-daemonspark-cockpit 可执行分发器与交互/运行时 host
packages/spark-extensionspark-daemon-client 产品组合根与共享 daemon client 边界
能力与运行时 packages/spark-* 文件、Web、任务、产物、记忆、工作流、模式、Role、Session 等可复用行为
spark-protocolspark-corespark-runtimespark-systemspark-tui 跨表面契约与低依赖基础层
packages/spark-cockpit-* Cockpit 私有的数据库、协调与本地化实现

贡献者可查看 docs/specs/package-architecture.md 的依赖规则,以及 architecture/packages.json 的完整 owner/stability 清单。普通用户不必记住各个 workspace package。

Daemon 拥有持久会话、排队和运行中的工作、事件流、恢复、workspace 绑定、 channel listener 与自主续跑。前台运行、后台提交、TUI prompt 和 Cockpit 消息最终都进入同一个执行所有者。

spark doctorspark daemon status --json 检查健康状态;前台、后台、 attach、resume 和取消操作见运行与会话

  • TUI 适合本地快速对话、Plan/Implement、引导当前运行、 选择模型和查看当前会话。
  • Cockpit 适合工作空间概览、对话、收件箱、产品产物、 资源和跨 daemon 监督。
  • 已经知道具体操作并需要脚本结果时,使用 CLI。

TUI 的 /inspect 只查看当前会话;spark cockpit 打开独立的浏览器控制面。

Spark 提供文件、搜索、shell/script、任务、产物、询问、记忆与上下文、模型、 角色、会话、workflow 和持久驱动工具。用户通常只需描述目标;agent 会选择工具, 并在策略要求时请求确认。

完整且区分 profile 的清单见 Agent 工具参考

普通项目工作遵循:

Project → Task plan → claim 或 assign → Run → Artifact → Review

/plan 创建可验证工作,但不实施;/implement 持续处理 ready task,直到完成、 阻塞、验证失败或需要决策。Goal、Loop、Repro 和 Workflow 为需要持续或重复的 工作提供 daemon 所有的续跑能力。/automate 只是这些已有模式的选择器。

先读规划并实现一个修改,需要长期工作时再读 长期自动推进

Spark 区分可复用 Role、持久 Session、只读 Side Thread 和消息平台 Channel。 飞书、如流(Infoflow)和 QQ Bot 对话会绑定到 daemon session,不会产生第二个 执行所有者。Session 可以发送 request 或 notification,并通过 Inbox 接收完成摘要。

详情见协作与渠道Side Threads

  • Provider、模型选择和推理强度属于共享运行时控制。
  • Memory、受限 context provider、产品 Artifact 和内部 Evidence 以不同可见性保存结果。
  • Saved workflow 扩展可重复流程;Fusion 和 Graft 需要显式启用。
  • 托管更新、备份、访问 key、workspace 注册、诊断和恢复支持更复杂的运行场景。

修改运行时存储前先看配置与路径; 界面与 daemon 状态不一致时看故障排查