feat(canvas): 画布工作区 - 整合侧栏与风格预设并修复提示词回填

选择性整合 #547,保留主分支节点与工具条设计。新增默认折叠的节点、资产、任务和历史面板,风格与预设保留在节点内,移除重复入口。

补齐工具权限、提示词解析、资源引用保护及数据库迁移,修复提示词清空和连续编辑后的生成配置同步。

验证:前端全量 1925 项测试、构建、类型检查及 lint 通过;后端 go test ./... 通过。真实模型、PostgreSQL 实库与登录态页面验收仍待进行。

Refs #547

Co-authored-by: bensharp <bensharp@qq.com>
This commit is contained in:
ddCat
2026-09-20 16:40:08 +08:00
parent 0ea9f7d94b
commit 9148ceab66
66 changed files with 6127 additions and 97 deletions

View File

@@ -133,3 +133,11 @@ HTTP 请求 -> handler -> service(稳定导入面 / 别名)-> app(组合
- HTTP 参数与响应只在 handler 处理,业务规则进入 service。
- 页面保留流程协调;可独立理解和测试的算法进入同业务域的 `lib`。
- 新增功能时只更新本页的主要入口,不增加逐文件清单。
## 画布工具链路
- `backend/internal/handler/tools.go`:登录态工具列表、详情、收藏、创建与删除。
- `internal/service` 别名 → `internal/app/tools_bridge.go`(资源归属校验)→ `internal/tools`(可见性策略、输入合同、token 展开和内置种子)→ `internal/repository/tools.go`。
- 任务入队 `internal/app/task_creation.go` 与生成执行 `internal/app/provider.go` 共用严格 token 解析。
- 前端 `canvas-tool-presentation.ts` 共享轻量展示配置,`canvas-resource-references.ts` 统一 token;节点提示词与工具面板共用同一持久状态,不复制到 metadata 风格字段。
- `canvas-workspace-panel.tsx` 提供常驻左侧菜单,按需挂载节点、资产、工具、任务和历史面板;资产面板复用素材分页服务与画布插入合同;主分支项目章节侧栏与工作区互斥。