UI Interaction Demo · winBrain Creator OS
基于真实前端代码(workbench-ui.js chatPickerHTML)的可交互演示:before / after 同屏对比
选择一个项目、专家或员工,AI 会带着对应的目标、职责与协作关系进入对话。
+ 工作对象与补充材料都在这里
选择一个项目、专家或员工,AI 会带着对应的目标、职责与协作关系进入对话。
+ 工作对象都在这里
| 位置 | 现在(代码实证) | 删除后 |
|---|---|---|
workbench-ui.js chatPickerHTML 根视图 |
「工作对象」分区 + 分割线 + 「补充材料」分区(2 个登记按钮) | 只剩「工作对象」3 个入口,分割线与补充材料分区移除 |
workbench-ui.js chatEntryHTML 提示文案 |
工作对象与补充材料都在这里 |
改为 工作对象都在这里 |
workbench-ui.js action 映射 |
"chat-picker-resource": runtimeOnly |
整行移除 |
workbench-api-adapter.js action 绑定 |
view.ACT["chat-picker-resource"] → openResourceDialog()
|
绑定移除;openResourceDialog / saveResource 成为死代码 |
workbench-api-adapter.js 资源对话框 |
#wb-resource-dialog(登记资源弹窗) | HTML + 样式移除(若不再有任何入口) |
workbench-api-adapter.js 资源列表 UI |
资源 tab 展示已登记资源 | 看产品决策:可保留(查看历史登记)或一并移除 |
后端 registerResource API |
POST /api/v1/resources + ResourceUseCases | 建议保留:CreatorOptions.datasets 仍合并资源供新建专家选数据集 |
capabilities.ts 能力声明 |
resources: { kinds: ["database","document","file"] }
|
若彻底移除则删;若保留后端则保留 |
1. chatPickerHTML 根视图(frontend/src/adapters/browser/workbench-ui.js:4562-4573)
return ``; ${chatPickerSearchHTML()}${isEntry ? "选择工作对象" : "开始新的业务对话"}...工作对象${["project","expert","employee"].map(...).join("")}补充材料
2. 入口提示(workbench-ui.js:4519)
<p class="chat-entry-hint">${icon("plus")}工作对象与补充材料都在这里</p>
3. action 绑定(workbench-api-adapter.js:833-836 + workbench-ui.js:6118)
view.ACT["chat-picker-resource"] = (target) => openResourceDialog(target.dataset.id === "file" ? "file" : "document"); "chat-picker-resource": runtimeOnly,
4. 后端仍被 Creator 使用(src/application/workbench.ts:116-122)
const resources = this.operationStore().loadResources();
const datasets = [...DATASETS.map(...), ...resources.map(({id,name,description}) => ({id,name,description}))];