feat(web): workspace dependencies — bot tab, Supermarket tab and enable-agent preflight - #1141
Draft
sheepbox8646 wants to merge 4 commits into
Draft
feat(web): workspace dependencies — bot tab, Supermarket tab and enable-agent preflight#1141sheepbox8646 wants to merge 4 commits into
sheepbox8646 wants to merge 4 commits into
Conversation
sheepbox8646
force-pushed
the
workspace-deps/04-web
branch
from
September 3, 2026 08:00
2ac2545 to
68fdeb3
Compare
sheepbox8646
force-pushed
the
workspace-deps/04-web
branch
from
September 3, 2026 09:32
68fdeb3 to
1712212
Compare
sheepbox8646
force-pushed
the
workspace-deps/04-web
branch
from
September 3, 2026 09:44
1712212 to
1232032
Compare
sheepbox8646
force-pushed
the
workspace-deps/04-web
branch
from
September 3, 2026 12:19
1232032 to
07d9d44
Compare
Adds the SDK-backed query and SSE composables for the dependency API, pure status/action/icon helpers with tests, the confirm/progress/script/rollback dialogs, and the en/zh/ja strings the dependencies tab and enable flow use. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
Adds the Dependencies tab on the bot detail page (target picker, workspace state banner, grouped rows with status badges, install/update/reinstall/ remove/rollback/script actions, streaming progress dialog with background mode and a needs-attention badge in the sidebar), gates enabling a direct agent behind a dependency preflight (install-and-enable flow, workspace not running guidance), and renders the agent_dependency_missing chat error with a link to the tab and the background install task status. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
…ies tab and icons
The bot Dependencies tab becomes a flat list of what is installed, grouped
by capability, with the version in effect, the image baseline and the
overlay badge from the new image_version/overlay fields; alignment and
required-version copy is gone. Installing lives in the Supermarket, whose
new Dependencies tab reads the bot-independent catalog endpoint and opens
an install dialog with a bot picker and an optional version input (neutral
placeholder, sent as the {version} body). The enable-agent preflight only
asks whether a copy is present. Adds Node.js, Python and uv brand icons to
@memohai/icon and records the copy rules in apps/web/AGENTS.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
Streaming install/update/reinstall/remove operations now live in a Pinia store keyed by bot and dependency; dialogs are viewers, so closing one lets the operation continue in the background and settles with a toast, reopening resumes the same log, and duplicate requests for a running operation are refused client-side. Progress, confirm and script dialogs get fixed widths, wrapped log lines and clipped key/value rows so long npm output no longer stretches them, and the bot page shows a banner with a retry when the workspace discovery step fails. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
sheepbox8646
force-pushed
the
workspace-deps/04-web
branch
from
September 3, 2026 14:18
07d9d44 to
a617f5c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更内容
栈
workspace-deps第 4 层:前端。useWorkspaceDependencies.ts(列表/catalog query,preflight/rollback/check-updates/script 封装)、useWorkspaceDependencyStream.ts(install/update/reinstall/remove 的 SSE async generator,可带version),纯函数utils/workspace-dependency.ts(状态→徽标、主按钮、菜单、排序、图标)。actions决定);名称与描述按依赖本地化;安装/更新确认框提供可选版本输入;卸载覆盖层时只陈述结果(「将移除 X,工作区回到 Y」);进度对话框实时日志;操作由跨页面的 store 持有,关闭对话框即转后台、完成后 toast、可从行内「查看进度」重开;探测失败时显示带「重试」的横幅;空态引导去 Supermarket;侧栏计数角标。enabled:true;取消或失败开关保持关;工作区未运行→引导「启动并继续/去工作区」。新建 direct agent 时enabled:false。agent_dependency_missing以专用卡片渲染(文案 + 「查看依赖」+ 后台任务状态);UI message 增加args。@memohai/icon新增 Node.js/Python/uv,按 catalogicon标识映射。截图与操作步骤
环境:第二套本地 dev 环境(真实后端与工作区容器),bot
deps-test。A. Bot 页「依赖」tab
exec sh -s、超时、注入的环境变量与脚本正文。B. Supermarket「依赖」tab → 安装到 Bot(真实安装 Node.js 覆盖层)
/settings/supermarket?tab=dependencies。C. 启用 Agent 前置检查
missing):「安装并启用」确认框;取消后开关保持关闭。not_running):引导「启动并继续/去工作区」。D. 自检
暗色、窄屏、英文。



E. 安装过程可关闭/转后台,长日志不溢出
截图存放在
workspace-deps/assets分支,不进产品代码树。验证
scripts/check-ui-contract.mjs新文件零命中;vue-tsc无新增错误;icon 生成产物与源一致。🤖 Generated with Claude Code
https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ