flowchart TD
A["用户进入 AnyClaw"] --> B{"用户当前入口"}
%% ----------------------------
%% 手动进入市场
%% ----------------------------
B -->|"进入市场页"| C["浏览或搜索 Agent / Skill / CLI"]
C --> D["云端市场返回候选条目"]
D --> E["本地做候选筛选"]
E --> F["查看条目详情"]
F --> G["查看版本 / 权限 / 风险 / 兼容性 / 来源"]
G --> H["发起手动安装"]
H --> I{"本地安装决策"}
I -->|"Auto"| J["自动安装到本地"]
I -->|"Ask"| K["提示用户确认安装"]
K --> L{"是否同意"}
L -->|"是"| J
L -->|"否"| C
I -->|"Block"| M["提示不可安装原因"]
M --> C
J --> N["执行安装流程"]
N --> N1["解析版本与下载信息"]
N1 --> N2["下载包"]
N2 --> N3["校验包"]
N3 --> N4["写安装回执"]
N4 --> N5["更新已安装索引"]
N2 --> NF["安装失败"]
N3 --> NF
N4 --> NF
NF --> NG["执行回滚"]
NG --> NH["恢复到未安装或已回滚状态"]
NH --> C
N5 --> O{"是否需要绑定"}
O -->|"是"| P["选择绑定目标"]
O -->|"否"| Q["保留为已安装未绑定状态"]
P --> R["绑定到主Agent / 持久子Agent / Workspace / Runtime全局"]
R --> S["刷新运行时"]
S --> T["能力生效"]
Q --> T
%% ----------------------------
%% 直接做任务
%% ----------------------------
B -->|"直接聊天 / 做任务"| U["主Agent执行任务"]
U --> V{"是否发现缺少能力"}
V -->|"否"| W["继续执行任务"]
V -->|"是"| X["向云端市场搜索候选"]
X --> Y["云端返回候选条目"]
Y --> Z["本地做候选筛选"]
Z --> AA["本地做补能决策"]
AA -->|"Auto"| AB["自动安装能力"]
AA -->|"Ask"| AC["提示用户确认补能"]
AC --> AD{"是否同意"}
AD -->|"是"| AB
AD -->|"否"| AE["跳过补能"]
AA -->|"Block"| AF["拒绝安装并返回原因"]
AB --> AG["执行安装流程"]
AG --> AG1["解析版本与下载信息"]
AG1 --> AG2["下载包"]
AG2 --> AG3["校验包"]
AG3 --> AG4["写安装回执"]
AG4 --> AG5["更新已安装索引"]
AG2 --> AX["补能安装失败"]
AG3 --> AX
AG4 --> AX
AX --> AY["执行回滚"]
AY --> AZ["返回原任务并报告失败"]
AG5 --> AH{"是否需要自动绑定"}
AH -->|"是"| AI["自动绑定到当前运行目标"]
AH -->|"否"| AJ["仅安装不绑定"]
AI --> AK["刷新运行时"]
AJ --> AK
AK --> AL["回到原任务继续执行"]
AE --> W
AF --> W
AZ --> W
AL --> W
%% ----------------------------
%% 安装完成后的持续管理
%% ----------------------------
T --> BA{"后续是否继续管理"}
BA -->|"升级"| BB["检查是否有新版本"]
BB --> BC{"是否可升级"}
BC -->|"是"| BD["执行升级流程"]
BC -->|"否"| BE["保持当前版本"]
BD --> BF["升级后保留原有绑定"]
BF --> BG["刷新运行时"]
BG --> BH["升级完成"]
BA -->|"卸载"| BI["发起卸载"]
BI --> BJ["解除绑定"]
BJ --> BK["删除本地安装内容"]
BK --> BL["写卸载回执"]
BL --> BM["刷新运行时"]
BM --> BN["卸载完成"]
BA -->|"不操作"| BO["继续正常使用"]
BH --> BO
BN --> C
flowchart TD A["用户进入 AnyClaw"] --> B{"用户当前入口"} %% ---------------------------- %% 手动进入市场 %% ---------------------------- B -->|"进入市场页"| C["浏览或搜索 Agent / Skill / CLI"] C --> D["云端市场返回候选条目"] D --> E["本地做候选筛选"] E --> F["查看条目详情"] F --> G["查看版本 / 权限 / 风险 / 兼容性 / 来源"] G --> H["发起手动安装"] H --> I{"本地安装决策"} I -->|"Auto"| J["自动安装到本地"] I -->|"Ask"| K["提示用户确认安装"] K --> L{"是否同意"} L -->|"是"| J L -->|"否"| C I -->|"Block"| M["提示不可安装原因"] M --> C J --> N["执行安装流程"] N --> N1["解析版本与下载信息"] N1 --> N2["下载包"] N2 --> N3["校验包"] N3 --> N4["写安装回执"] N4 --> N5["更新已安装索引"] N2 --> NF["安装失败"] N3 --> NF N4 --> NF NF --> NG["执行回滚"] NG --> NH["恢复到未安装或已回滚状态"] NH --> C N5 --> O{"是否需要绑定"} O -->|"是"| P["选择绑定目标"] O -->|"否"| Q["保留为已安装未绑定状态"] P --> R["绑定到主Agent / 持久子Agent / Workspace / Runtime全局"] R --> S["刷新运行时"] S --> T["能力生效"] Q --> T %% ---------------------------- %% 直接做任务 %% ---------------------------- B -->|"直接聊天 / 做任务"| U["主Agent执行任务"] U --> V{"是否发现缺少能力"} V -->|"否"| W["继续执行任务"] V -->|"是"| X["向云端市场搜索候选"] X --> Y["云端返回候选条目"] Y --> Z["本地做候选筛选"] Z --> AA["本地做补能决策"] AA -->|"Auto"| AB["自动安装能力"] AA -->|"Ask"| AC["提示用户确认补能"] AC --> AD{"是否同意"} AD -->|"是"| AB AD -->|"否"| AE["跳过补能"] AA -->|"Block"| AF["拒绝安装并返回原因"] AB --> AG["执行安装流程"] AG --> AG1["解析版本与下载信息"] AG1 --> AG2["下载包"] AG2 --> AG3["校验包"] AG3 --> AG4["写安装回执"] AG4 --> AG5["更新已安装索引"] AG2 --> AX["补能安装失败"] AG3 --> AX AG4 --> AX AX --> AY["执行回滚"] AY --> AZ["返回原任务并报告失败"] AG5 --> AH{"是否需要自动绑定"} AH -->|"是"| AI["自动绑定到当前运行目标"] AH -->|"否"| AJ["仅安装不绑定"] AI --> AK["刷新运行时"] AJ --> AK AK --> AL["回到原任务继续执行"] AE --> W AF --> W AZ --> W AL --> W %% ---------------------------- %% 安装完成后的持续管理 %% ---------------------------- T --> BA{"后续是否继续管理"} BA -->|"升级"| BB["检查是否有新版本"] BB --> BC{"是否可升级"} BC -->|"是"| BD["执行升级流程"] BC -->|"否"| BE["保持当前版本"] BD --> BF["升级后保留原有绑定"] BF --> BG["刷新运行时"] BG --> BH["升级完成"] BA -->|"卸载"| BI["发起卸载"] BI --> BJ["解除绑定"] BJ --> BK["删除本地安装内容"] BK --> BL["写卸载回执"] BL --> BM["刷新运行时"] BM --> BN["卸载完成"] BA -->|"不操作"| BO["继续正常使用"] BH --> BO BN --> C