Bundle
dsh-plugin-canvas
无限画布插件仓库:把第三方插件拖入画布脱离全局、组装成组合、开启后重新加入全局响应。Infinite-canvas plugin warehouse: compose third-party plugins into activatable workflows.
- Source
- kkaporn
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# dsh-plugin-canvas 无限画布插件仓库:把第三方插件拖入画布脱离全局、组装成组合、开启后重新加入全局响应。 ## 核心模型 | 动作 | 结果 | |---|---| | 装完(不动) | 插件在**本体库**,全局响应 | | 拖入画布 | 插件**脱离全局**,进入画布(休眠) | | 开启组合 | 组合内插件**进入全局响应** | | 关闭组合 | 组合内插件**退出全局** | 常驻插件(如 ponytail、cost-meter)**不拖进画布**就永远全局。 ## 安全保证 - **本体硬隔离**:`@deepseek-ai/*` 永不显示、永不操作。 - **只动一个开关**:启停 100% 委托宿主 `pluginManager.setBundleEnabled` / `setPluginEnabled`,不改插件代码/配置/依赖/数据。 - **不写配置文件**:只写 `~/.dsh/plugin-canvas/state.json`,不写任何 YAML / package.json。 - **重复 entry id 阻断**:保存组合前检查,撞 id 会导致启动崩溃,直接拒绝。 ## 安装 从 GitHub 安装: ```bash dsh plugin add github:kkaporn/dsh-session-composer ``` 或从本地目录安装: ```bash dsh plugin add /path/to/dsh-plugin-canvas ``` ## 开发 零运行时依赖(纯 `node:` 内置模块)。自检无需框架: ```bash node test-index.mjs # 宿主半纯函数自检 node test-client.mjs # 客户端结构自检 ``` ## 架构 - **宿主半**(`lib/index.js`):5 个 HTTP 路由(`/state` `/drag` `/activate` `/save` `/delete`),启停全部委托宿主 `pluginManager`,只写 `~/.dsh/plugin-canvas/state.json`。 - **客户端**(`lib/client.js`):入口图标注册 `conversation.composer.dock`,手写无限画布(节点拖拽 + pan/zoom + 连线 + 拖入),无 React Flow 依赖。 ## 许可 MIT
Install
dsh plugin --profile web add github:kkaporn/dsh-session-composer
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-canvas from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.