READMESource: main@fe11b044
dsh-role-cards
DSH Web 插件:新建会话界面(hero)的组合角色卡 + 工作区卡选择器。
折叠时是一排小胶囊按钮(🎭 角色 / 📂 工作区);展开时是两行紧凑卡片(角色预设、 系统预设,然后工作区),支持悬停展开详情、滚轮切换、点击选择。
结构
src/client/ComboPanel.tsx— 组合面板组件(角色卡 + 工作区卡)src/client/index.ts— 客户端插件入口:注册两个 hero slotsrc/index.ts— host half(空 apply 占位)src/invariant.ts— invariant 伴随插件lib/— tsdown 构建产物(lib/client.js是浏览器 bundle)cordis.patch.yml— bundle patch(profile boot 挂载)tsdown.config.ts— 独立 tsdown 配置(node half + client half)
安装
在 ~/.dsh/profiles/web/package.json:
"dependencies": {
"dsh-role-cards": "link:D://projects//ds//dsh-role-cards"
}
并把 "dsh-role-cards" 加入 dsh.profile.bundles,然后重启:
pnpm dsh web
构建
pnpm install # 安装 tsdown / react 等 devDependencies
pnpm build # tsdown 产出 lib/(index.js + invariant.js + client.js)
也可以直接用 harness 仓库里的 tsdown(无需本地 node_modules):
node D:\projects\ds\deepseek-harness\node_modules\.bin\tsdown.cmd
说明
- 客户端注册
conversation.hero.agentPreset(渲染 null,顶掉官方 chip)与conversation.hero.workspace(渲染ComboPanel);不传priority,由 client-runner facade 自动分配更低优先级从而胜出。 - 角色卡显示预设
id属于ROLE_IDS(nekomode / luna / akane / rin / mei)时 使用ROLE_META的 emoji + tag;其余预设归入「系统模式 / 自定义」系统卡片。 - 「添加工作区」按钮需要
pickDirectory注入才可用(当前版本未注入,保持禁用)。
No comments yet. Be the first to write one.