-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
背景
当前关于 A2A Task、OpenCode subtask、task tool、subagent 之间的关系,存在明显概念重叠和命名歧义,尤其在讨论 #338 / #339 时容易混淆:
A2A Task是协议层追踪对象;subtask是 OpenCode 输入 part;tasktool 是 OpenCode 内部执行子任务的工具;subagent才是真正被调起来干活的 agent。
如果没有一份明确的拓扑图和术语说明,后续继续设计 orchestration contract、workspace/worktree 绑定、授权边界时会不断重复解释,影响 issue/PR 讨论效率。
建议记录内容
建议在仓库文档或设计说明里补一份拓扑图,至少说明以下关系:
Human / Client
|
| A2A core methods / JSON-RPC extensions
v
opencode-a2a
|
| session binding / identity / directory boundary
v
OpenCode session
|
| request.parts[]
| - text
| - file
| - agent
| - subtask
v
OpenCode prompt runtime
|
| subtask -> task tool execute
v
task tool
|
| input: prompt / description / subagent_type / command
v
subagent
|
v
tool result / tool part
|
v
OpenCode stream events
|
v
opencode-a2a streaming adapter
|
v
Client sees A2A Task updates
并明确以下术语区分:
A2A Task:A2A 协议层执行单元subtask:OpenCode provider-private 输入 parttask tool:OpenCode 内部用于执行 subtask 的 toolsubagent:真正执行子任务的 agent
期望行为
- 后续讨论
#338/#339/#332/#166时,可以统一引用这份拓扑说明; - 减少“task 到底指哪个 task”的歧义;
- 为后续批量/并行 subtask、workspace 绑定、授权边界讨论提供统一语义基线。
验收标准
- 新增一份英文落库文档或 guide/design section,记录上述拓扑图与术语说明
- 文档明确说明
subtask/task tool/subagent/A2A Task的区别 - 文档明确说明 A2A 层与 OpenCode runtime 层之间的映射关系
- 在相关 issue/PR 讨论中可直接引用该文档
关联
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels