diff --git a/01_content/LICENSE b/01_content/LICENSE new file mode 100644 index 0000000..87e846d --- /dev/null +++ b/01_content/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 dsh-worktable contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/01_content/README.md b/01_content/README.md new file mode 100644 index 0000000..7eddb6f --- /dev/null +++ b/01_content/README.md @@ -0,0 +1,41 @@ +# dsh-worktable(工作台) + +> DeepSeek Harness 侧边栏的 agent 级项目容器(应用抽屉)。纯增量插件,不替换、不禁用任何官方插件。 + +## 是什么 + +- **侧边栏「工作台」区块**:收纳用户自建项目与入驻插件项目,支持改名/图标/排序/显示隐藏、项目 × 对话绑定、项目文件夹。 +- **分栏工作区引擎(自研)**:声明式布局预设(左栏/顶行/主行 + 右侧对话窗),窗格可拖拽分割、标签页模型;内置 资源管理器 / 终端 / 浏览器 / 动画 / 自定义窗口。 +- **控制室**:默认自带项目(固定首位、不可删除),项目卡片网格实时监控所有项目的状态(工作中/待你决定/已完成),零轮询零 Token。 +- **自动挂载握手**:项目内 agent 完成窗口任务后写 widget-result.json,产物自动挂进对应窗口。 + +## 技术底座 + +- Cordis 插件协议(客户端 bundle + 服务端路由 /api/worktable/*、终端 WebSocket)。 +- 界面经 slot 座位协议注入侧边栏与 shell.overlay;对话窗复用宿主会话服务(sessions.open)。 +- 状态监控为宿主会话运行时快照的事件订阅镜像;视图/项目/绑定状态存 localStorage。 +- 客户端:TypeScript + React(host externals)+ 原生 CSS;服务端:Node。 + +## 安装 + + cd 01_content + npm install + npm run build # lib/index.js + lib/client.js + node --check lib/index.js + +注册到 DSH:`dsh plugin --profile web add "link:/01_content"` + +## 构建注意事项 + +- **必须在 01_content 目录下构建**:误在仓库根跑会把 lib 写到仓库根,宿主仍加载 01_content/lib 旧 bundle(「改完不生效」假象)。 +- 客户端 bundle 保持 window.__ModuleLoader__.load 握手,react/@deepseek-ai/* 全部 external。 + +## 相关文档 + +- 项目规则:仓库根 AGENTS.md +- 需求与协议:02_process/PRD.md +- 工作日志:02_process/worklogs/ + +## License + +MIT diff --git a/01_content/dsh.plugin.json b/01_content/dsh.plugin.json index c6d5db9..eb4be8e 100644 --- a/01_content/dsh.plugin.json +++ b/01_content/dsh.plugin.json @@ -1,7 +1,7 @@ { "name": "dsh-worktable", "description": "工作台:DSH 侧边栏的 agent 级项目容器,收纳如 TravelAtlas 等自装项目", - "version": "0.1.0", + "version": "0.2.0", "entry": { "name": "dsh-worktable", "inject": [] diff --git a/01_content/package-lock.json b/01_content/package-lock.json index 82d4e23..ef0e096 100644 --- a/01_content/package-lock.json +++ b/01_content/package-lock.json @@ -1,12 +1,12 @@ { "name": "dsh-worktable", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dsh-worktable", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "devDependencies": { "esbuild": "^0.25.0", diff --git a/01_content/package.json b/01_content/package.json index 3032b6f..05d8dfd 100644 --- a/01_content/package.json +++ b/01_content/package.json @@ -1,7 +1,7 @@ { "name": "dsh-worktable", "description": "工作台 Worktable:DeepSeek Harness 侧边栏的 agent 级项目容器(应用抽屉)", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "type": "module", "main": "lib/index.js", diff --git a/02_process/PRD.md b/02_process/PRD.md index e205ba2..fd1dca4 100644 --- a/02_process/PRD.md +++ b/02_process/PRD.md @@ -164,8 +164,13 @@ ctx.slots.register({ - 排序机制:owner props 下发 order 序列,卡片以 CSS order 参与排序(渲染器 display:contents 锚点已核实,见 §5.3); - 子座位注册跟踪:apply 中 `ctx.slots.subscribe` + `entries()` 维护模块级 id 序列; - 持久化: - - `dsh.worktable.view.v1`:query/searchOpen/orderBy/dock/floatTop(旧 groupBy 忽略); - - `dsh.worktable.projects.v1`:order/lastUsed/hidden/nameOverrides/shortcuts; + - `dsh.worktable.view.v1`:query/searchOpen/orderBy/dock/floatTop/consoleTheme + (控制室主题 dark|light|system,缺省 system); + - `dsh.worktable.projects.v1`:order/lastUsed/hidden/nameOverrides/iconOverrides/ + removed/shortcuts/layouts/views/bindings/folders; + - views:入驻项目与「控制室」(wt-console)的视图覆盖(LayoutSpec); + - bindings:项目 → 绑定会话(含 wt-console 管理对话); + - folders:项目 → 项目文件夹(含 wt-console); - 卡片上报的 meta 注册表仅存内存,不持久化; - 样式:暗色优先,跟随 `--dsw-alias-*` 设计变量(与 dsh-usage / dsh-travelatlas 一致)。