← 返回列表
未验证
把聊天界面改造成 Excel 工作簿,消息变成单元格
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/29 · 已提供中文文档
Deepcel 工作簿 · DeepSeek Harness (dsh) 皮肤中心 v2 皮肤:Excel 风格工作簿,单元格化消息、工作表网格、工作簿标签。Small-tailqwq/dsh-deepcel 的 v2 完整移植。
综合分
28.1
GitHub 分
28.1
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Jensen-Yao/dsh-deepexcel该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
Deepcel 工作簿 · v2 皮肤
Small-tailqwq/dsh-deepcel 的 v2 skin 资产目录重写。v1 是一个 cordis 客户端插件(src/client/index.ts + CSS Modules + skin.json v1 清单);v2 按 @linxin666/dsh-client-ui-skin-center 的 skin-manifest-v2 契约重写为纯资产目录,由 skin-center 作为唯一加载器/渲染器。
目录
deepcel/
├── skin.json # v2 清单(skinManifestVersion: 2)
├── skin.css # L1 token + L2 语义样式(工作簿 chrome、工作区网格、坐标)
├── patches.css # L3 自由选择器补丁(原生面板/菜单/对话框/消息改造成单元格)
├── hooks.mjs # facets.client 逃生舱(v1 客户端 JS 移植,defineSkinHooks)
└── preview/ # light.webp / dark.webp 预览图
v1 → v2 改动要点
| v1 | v2 |
| --- | --- |
| cordis 插件 + apply(ctx) + ctx.effect | defineSkinHooks() 默认导出,apply(ctx) + ctx.onCleanup(幂等) |
| inject: ['locale', 'layout', 'sessions'] 服务注入 | 无服务注入;locale 读 document.documentElement.lang(MutationObserver 监听),侧边栏点击原生按钮,会话跟踪选中的原生会话行 |
| CSS Modules(cls('workbookChrome') 哈希类名) | 明文类名(.workbookChrome 等),加载器在 html[data-dsh-skin="deepcel"] 下强制作用域 |
| body[data-dsh-deepcel] 作用域 + :global(#root) | 全部选择器去掉 v1 前缀,由加载器重写为 html[data-dsh-skin="deepcel"] …;:global(#root) → #root |
| 亮/暗 token 写在 body[data-dsh-deepcel] / [data-ds-dark-theme] | token 写在 :root(亮)与 body[data-ds-dark-theme](暗),加载器自动克隆 root-body token |
| v1 字段 package / wiring / bodyAttr | 移除(v2 fail-closed,遗留字段仅告警) |
| --dsw-alias- 全量 remap + --deepcel- 布局变量 | 保留,新增 --dsw-alias-label-primary-foreground: #fff 满足主按钮对比度契约 |
hooks 信任模型(重要)
skin-center 的安全模型:用户目录直接放置的皮肤($DSH_HOME/skins//)默认不运行 hooks——GET /skins//hooks.mjs 返回 403,除非该皮肤通过 provenance 校验(dsh-market.provenance.json 中的 sha256 与磁盘文件字节一致,source: https://dsh-market.com)或作为 builtin 安装。
本皮肤自带 dsh-market.provenance.json(已同步全部文件哈希)。安装时必须把该文件一起放入皮肤目录,否则 hooks 被拒,工作簿 chrome(功能区、公式栏、行列坐标、工作表标签、选区)不渲染,只剩声明式外观:
- ✅ 正确安装:复制 skin.json skin.css patches.css hooks.mjs dsh-market.provenance.json preview/ 到 $DSH_HOME/skins/deepcel/ → hooks 放行(catalog 显示 channel: market,warnings 为空,hooks.mjs 返回 200)。
- ❌ 漏掉 provenance:hooks 被拒(403),无功能区/网格/坐标。
若 provenance 缺失且无法补上(例如想完全绕开市场来源),备选方案是把皮肤作为 builtin 安装进 skin-center 包:
1) 复制皮肤目录进 skin-center 内置 skins/
cp -r "/profiles/web/node_modules/@linxin666/dsh-client-ui-skin-center/skins/deepcel"
2) 把 "skins/deepcel" 追加到该包 package.json 的 files 白名单
(shippedSkinIds 据此把 deepcel 列入目录,origin=builtin → hooks 放行)
3) 重启 dsh web(shippedSet 在插件挂载时冻结,需重启才能重新读取白名单)
布局降级
v2 加载器会注入一条 viewport-lock 规则,强制 html[data-dsh-skin] body { padding: 0 !important }。因此 v1 的 body padding 方案不可用:
- 功能区的固定偏移改由 body[data-deepcel-chrome] #root { padding: … } 承载;
- 所有几何/位移规则(hero 布局、侧边栏折叠、工作簿流网格)都挂在 hooks 设置的 body[data-deepcel-chrome] 标记后,仅当 hooks 运行时才改变原生布局;
- hooks 被拒(仅声明式生效)时,页面保持原生几何,只叠加 token/补丁外观。
原生控件可用性
- 右上角原生面板开关(底部面板 / 侧栏 / 详情)保持可点:titleRow 仅 headerControls 接收点击,其余区域指针穿透给原生控件,不被工作簿 chrome 遮挡。
- 侧栏开关不隐藏(原生「展开/收起侧边栏」与状态栏 < 按钮共存),侧栏工具完整保留。
- 新会话 / 新工作区 / 设置由工作簿功能区代理,原生重复入口通过 data-deepcel-native-proxy 隐藏。
验证
- GET /api/skin-center/v2/catalog → 出现 origin: user, channel: market, id: deepcel(warnings 为空)
- GET /api/skin-center/v2/skins/deepcel/stylesheet|patches|hooks.mjs → 200
- POST /api/skin-center/v2/active {"active":"deepcel"} → 应用成功,html[data-dsh-skin="deepcel"] 生效,工作簿 chrome / 侧栏 / 面板开关全部可用
许可与商标:沿用上游 BSD-3-Clause 与 NOTICE 声明(Deepcel 独立社区项目,与 Microsoft 无隶属关系)。同作者(Jensen-Yao)的其他插件
扫码进群