docs(architecture): fix critical accuracy errors, stale refs, paths

Accuracy fixes:
- app-orchestration.md: remove non-existent constructor params
- models-and-config.md: remove wrong multiAgent field from SettingsSnapshot
- runtime-contracts.md: add missing multiAgent/collaborationMode/routingHint fields

Stale multi-agent refs:
- unified-routing-architecture.md: agent/multi-agent → agent (含 bridge 转发)
- bridge-runtime-routing-map.md: multi-agent tasks → multi-agent forwarding tasks
- cross-repo-task-state-workflow.md: remove multi-agent orchestration from mermaid
- runtime-contracts.md, feature-surfaces.md: 多 agent → agent

Organization:
- Move cloud-session-service and stage4-helper to archive/
- Fix 22 xworkmate/ → xworkmate-app/ paths in archive doc
- Fix XWorkmate.svc.plus repo name in simple-theme-default.md
- Update README.md index and public-api/README.md coverage stats (132/590)
This commit is contained in:
Cowork 3P 2026-06-04 06:53:38 +00:00
parent 74b9d1814d
commit 7573780956
13 changed files with 47 additions and 37 deletions

View File

@ -18,7 +18,6 @@
- [任务线程 Session Key 隔离2026-03-29](./task-thread-session-key-isolation-20260329.md)
- [Task Dialog Provider 选择主线](./task-dialog-provider-selection-mainline.md)
- [跨仓库任务状态工作流](./cross-repo-task-state-workflow.md)
- [Cloud Session Service 多设备架构2026-03-30](./cloud-session-service-multi-device-architecture-2026-03-30.md)
## 设置与配置
@ -28,7 +27,6 @@
## 工程实践
- [Stage4 Helper 归属映射2026-03-28](./stage4-helper-ownership-20260328.md)
- [No-part 文件组织 ADR](./refactor-style-no-part-adr.md)
- [Simple Theme 默认值记录](./simple-theme-default.md)
@ -46,6 +44,12 @@
已过时的文档移至 [archive/](./archive/)。
已归档的文档:
- [Cloud Session Service 多设备架构2026-03-30](./archive/cloud-session-service-multi-device-architecture-2026-03-30.md) — 未实现的目标架构
- [Stage4 Helper 归属映射2026-03-28](./archive/stage4-helper-ownership-20260328.md) — 一次性调研快照
- [Assistant Thread Working Directory Flow](./archive/assistant-thread-working-directory-flow.md) — workspaceRef/workspaceRefKind/cwd 旧版流转
---
维护约定:与当前主线不匹配的文档应及时更新或移至 archive。新增架构文档应在此 README 中注册。

View File

@ -5,7 +5,7 @@
> 已过时:本文记录的是 `workspaceRef / workspaceRefKind / cwd fallback` 主导时期的线程目录流转。
>
> 当前实现请优先参考:
> [docs/architecture/task-control-plane-unification.md](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/docs/architecture/task-control-plane-unification.md)
> [docs/architecture/task-control-plane-unification.md](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/docs/architecture/task-control-plane-unification.md)
>
> 新文档已经把 TaskThread 的主流程图和状态图重画为基于 `workspaceBinding / executionBinding / lifecycleState` 的 Mermaid 版本。
@ -71,8 +71,8 @@ flowchart LR
- 变量:`currentSessionKey`
- 作用:决定当前操作命中了哪个任务线程
- 关键位置:
- [runtime_controllers_gateway.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/runtime/runtime_controllers_gateway.dart:96)
- [app_controller_desktop_thread_actions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_actions.dart:208)
- [runtime_controllers_gateway.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/runtime/runtime_controllers_gateway.dart:96)
- [app_controller_desktop_thread_actions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_actions.dart:208)
如果 `currentSessionKey` 没切对,后续 `workspaceRef`、`cwd`、右栏路径都会跟着取错。
@ -81,7 +81,7 @@ flowchart LR
- 变量:`settings.workspacePath`
- 作用:线程默认目录的根目录
- 关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:571)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:571)
默认线程目录由它派生:
@ -89,15 +89,15 @@ flowchart LR
关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:560)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:576)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:560)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:576)
### 3. 线程自己的目录绑定
- 变量:`assistantThreadRecordsInternal[sessionKey].workspaceRef`
- 作用:线程级工作目录的真实绑定值
- 关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:121)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:121)
读取优先级:
@ -112,7 +112,7 @@ flowchart LR
- `remotePath`
- `objectStore`
- 关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:133)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:133)
它决定 `workspaceRef` 后续如何参与 cwd 解析。
@ -125,8 +125,8 @@ flowchart LR
关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:560)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:565)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:560)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:565)
### 2. 线程目录名
@ -135,7 +135,7 @@ flowchart LR
关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:581)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:581)
## 线程初始化时的写入
@ -146,7 +146,7 @@ flowchart LR
关键位置:
- [app_controller_desktop_workspace_execution.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_workspace_execution.dart:261)
- [app_controller_desktop_workspace_execution.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_workspace_execution.dart:261)
这意味着:
@ -161,7 +161,7 @@ flowchart LR
关键位置:
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_runtime_coordination_impl.dart:183)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_runtime_coordination_impl.dart:183)
### 2. 参与变量
@ -181,9 +181,9 @@ flowchart LR
关键位置:
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_runtime_coordination_impl.dart:151)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_runtime_coordination_impl.dart:160)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_runtime_coordination_impl.dart:183)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_runtime_coordination_impl.dart:151)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_runtime_coordination_impl.dart:160)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_runtime_coordination_impl.dart:183)
## provider 对 cwd 的影响
@ -193,7 +193,7 @@ flowchart LR
关键位置:
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_runtime_coordination_impl.dart:206)
- [app_controller_desktop_runtime_coordination_impl.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_runtime_coordination_impl.dart:206)
规则简述:
@ -239,7 +239,7 @@ Single Agent 运行后可能返回:
关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:709)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:709)
### 2. 它什么时候会改目录
@ -253,8 +253,8 @@ Single Agent 运行后可能返回:
关键位置:
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:649)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/app/app_controller_desktop_thread_sessions.dart:709)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:649)
- [app_controller_desktop_thread_sessions.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/app/app_controller_desktop_thread_sessions.dart:709)
### 3. 典型迁移触发
@ -272,11 +272,11 @@ Single Agent 运行后可能返回:
传入位置:
- [assistant_page_state_closure.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/features/assistant/assistant_page_state_closure.dart:317)
- [assistant_page_state_closure.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/features/assistant/assistant_page_state_closure.dart:317)
渲染位置:
- [assistant_artifact_sidebar.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate/lib/widgets/assistant_artifact_sidebar.dart)
- [assistant_artifact_sidebar.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/widgets/assistant_artifact_sidebar.dart)
因此右栏显示“未设置”或显示某个路径,本质上反映的是当前线程记录里到底有没有有效 `workspaceRef`

View File

@ -35,7 +35,7 @@ flowchart TD
## Routing Rules
- App runtime control-plane requests, agent tasks, multi-agent tasks, OpenClaw gateway tasks, `session.cancel`, and `session.close` use `https://xworkmate-bridge.svc.plus/acp/rpc`.
- App runtime control-plane requests, agent tasks, multi-agent forwarding tasks, OpenClaw gateway tasks, `session.cancel`, and `session.close` use `https://xworkmate-bridge.svc.plus/acp/rpc`.
- OpenClaw gateway `session.start` and follow-up `session.message` are identified by routing metadata, not by a separate public path.
- Provider and gateway selection are passed as request params, including `provider`, `routing`, and `requestedExecutionTarget`.
- Bridge-owned internal routing is opaque to the App; it is not represented as public provider paths.

View File

@ -137,11 +137,9 @@ flowchart TD
ORCH --> PROVIDER{"provider compat"}
PROVIDER -->|single-agent| SA["codex / opencode / gemini / hermes"]
PROVIDER -->|gateway| OCG["OpenClaw runtime"]
PROVIDER -->|multi-agent via /acp/rpc| MA["multi-agent orchestration"]
SA --> NORM["normalized result"]
OCG --> NORM
MA --> NORM
NORM --> OUT["success / status / turnId / output / artifacts / resolved*"]
```

View File

@ -58,7 +58,7 @@ Last Updated: 2026-04-14
## Coverage Summary
当前生成清单覆盖 `129` 个源码文件、`603` 个公开符号。
当前生成清单覆盖 `132` 个源码文件、`590` 个公开符号。
| Scope | Files | Public Symbols | Detailed Design Entries | Notes |
| --- | ---: | ---: | ---: | --- |

View File

@ -17,7 +17,7 @@
| `lib/app/app_controller_desktop_navigation.dart` | 页面切换、settings/detail 导航、语言/主题切换 |
| `lib/app/app_controller_desktop_settings.dart` | settings draft、保存、落盘与本地状态清理 |
| `lib/app/app_controller_desktop_settings_runtime.dart` | settings 与 runtime 之间的副作用桥接 |
| `lib/app/app_controller_desktop_thread_sessions.dart` | 会话/线程、artifact、agent 协作入口 |
| `lib/app/app_controller_desktop_thread_sessions.dart` | 会话/线程、artifact、agent 协作入口 |
| `lib/app/app_controller_desktop_workspace_execution.dart` | 执行目标、provider、thread context 主链 |
| `lib/app/app_controller_desktop_runtime_coordination_impl.dart` | runtime 能力刷新与任务重算函数 |
| `lib/app/workspace_page_registry.dart` | destination 到 page builder 的唯一映射 |
@ -41,10 +41,8 @@
| `initialBridgeProviderCatalog` | `List<SingleAgentProvider>?` | No | empty | 初始单 agent provider catalog |
| `initialGatewayProviderCatalog` | `List<SingleAgentProvider>?` | No | empty | 初始 gateway provider catalog |
| `initialAvailableExecutionTargets` | `List<AssistantExecutionTarget>?` | No | empty | 初始可见执行目标 |
| `skillDirectoryAccessService` | `SkillDirectoryAccessService?` | No | platform factory | 技能目录授权能力 |
| `accountClientFactory` | `AccountRuntimeClient Function(String)?` | No | default impl | account runtime client 构造 |
| `environmentOverride` | `Map<String, String>?` | No | `null` | 测试/运行时环境覆盖 |
| `singleAgentSharedSkillScanRootOverrides` | `List<String>?` | No | `null` | 共享 skill 扫描根覆写 |
| `goTaskServiceClient` | `GoTaskServiceClient?` | No | `DesktopGoTaskService` | 外部 ACP / gateway 任务入口 |
### Returns

View File

@ -120,7 +120,7 @@
### Main Call Chain
- `AppShell` / `WorkspacePageSpec` -> `AssistantPage`
- 页面内部通过 `AppControllerDesktopWorkspaceExecution`、`AppControllerDesktopThreadSessions` 发起执行、切换 provider、加载 artifact、agent 协作
- 页面内部通过 `AppControllerDesktopWorkspaceExecution`、`AppControllerDesktopThreadSessions` 发起执行、切换 provider、加载 artifact、agent 协作
### Notes

View File

@ -24,7 +24,7 @@
| execution/provider fields | `defaultModel`、`defaultProvider`、`assistantExecutionTarget`、`assistantPermissionLevel` |
| connection fields | `gatewayProfiles`、`webSessionPersistence` |
| integration fields | `ollamaLocal`、`ollamaCloud`、`vault`、`aiGateway` |
| multi-agent fields | `multiAgent`、`authorizedSkillDirectories` |
| skill/permission fields | `authorizedSkillDirectories` |
| account fields | `accountBaseUrl`、`accountUsername`、`accountWorkspace`、`accountWorkspaceFollowed` |
| desktop/server fields | `acpBridgeServerModeConfig`、`linuxDesktop` |

View File

@ -44,6 +44,7 @@
| Param | Type | Required | Meaning |
| --- | --- | --- | --- |
| `singleAgent` | `bool` | Yes | 是否支持单 agent |
| `multiAgent` | `bool` | Yes | 是否支持多 agent 协作 |
| `availableExecutionTargets` | `List<AssistantExecutionTarget>` | Yes | 当前 bridge 允许的执行目标 |
| `providerCatalog` | `List<SingleAgentProvider>` | Yes | agent 侧 provider catalog |
| `gatewayProviderCatalog` | `List<SingleAgentProvider>` | Yes | gateway 侧 provider catalog |
@ -61,7 +62,7 @@
- Source: `lib/runtime/gateway_acp_client.dart`
- Type: `class`
- Responsibility:
XWorkmate 对 ACP JSON-RPC 的 app-side client负责 endpoint 解析、auth header 注入、capability 拉取、agent 事件流转发。
XWorkmate 对 ACP JSON-RPC 的 app-side client负责 endpoint 解析、auth header 注入、capability 拉取、agent 事件流转发。
### Constructor Parameters
@ -94,6 +95,12 @@
- Responsibility:
表示 Go task service 视角下的外部 ACP 能力镜像,主要用于任务路由与执行目标可见性判断。
### Constructor Parameters
| Param | Type | Required | Meaning |
| --- | --- | --- | --- |
| `multiAgent` | `bool` | Yes | 是否支持多 agent 协作 |
## `ExternalCodeAgentAcpRoutingResolution`
- Source: `lib/runtime/go_task_service_client.dart`
@ -166,6 +173,9 @@
| `provider` | `SingleAgentProvider` | No | 当前 provider |
| `remoteWorkingDirectoryHint` | `String` | No | 远端工作目录 hint |
| `resumeSession` | `bool` | No | 是否续跑 |
| `multiAgent` | `bool` | No | 是否多 agent 协作 |
| `collaborationMode` | `GoTaskServiceCollaborationMode` | No | 协作模式 |
| `routingHint` | `String` | No | 路由提示 |
### Returns

View File

@ -34,5 +34,5 @@ This document records the default `simple` theme token set for `XWorkmate.svc.pl
## Source Of Truth
- theme tokens live in [lib/theme/app_theme.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/XWorkmate.svc.plus/lib/theme/app_theme.dart)
- theme tokens live in [lib/theme/app_theme.dart](/Users/shenlan/workspaces/cloud-neutral-toolkit/xworkmate-app/lib/theme/app_theme.dart)
- token family name: `simple`

View File

@ -2,7 +2,7 @@
## 1. 架构概览 (Unified Routing Architecture)
当前系统采用 `xworkmate-bridge.svc.plus` 作为统一入口。App 侧通过 managed bridge ACP 主入口 `/acp/rpc` 处理能力发现、路由解析、agent / multi-agent 任务、OpenClaw gateway 任务和会话控制。Provider runtime 与 gateway runtime 地址仍由 bridge 后端内部拥有,不暴露为 App-facing public mapping。
当前系统采用 `xworkmate-bridge.svc.plus` 作为统一入口。App 侧通过 managed bridge ACP 主入口 `/acp/rpc` 处理能力发现、路由解析、agent 任务(含 bridge 多 agent 转发)、OpenClaw gateway 任务和会话控制。Provider runtime 与 gateway runtime 地址仍由 bridge 后端内部拥有,不暴露为 App-facing public mapping。
```mermaid
graph TD
@ -39,7 +39,7 @@ graph TD
| Bridge-owned mapping | App 侧行为 | 备注 |
| :--- | :--- | :--- |
| `/acp/rpc` | 直接调用 | 能力发现、路由解析、agent / multi-agent 任务、OpenClaw gateway 任务、cancel、close |
| `/acp/rpc` | 直接调用 | 能力发现、路由解析、agent 任务(含 bridge 多 agent 转发)、OpenClaw gateway 任务、cancel、close |
| provider runtime | 不直连 | Bridge 后端内部解析 provider |
| gateway runtime | 不直连 | Bridge 后端内部解析 gateway provider |