前言¶
在 DeepSeek Harness(DSH)里用技能,常见做法是手动记技能名、在输入框敲 /技能名,或到各 Agent 工具各自的技能目录里翻找。Claude Code、Codex、ZCode、Cursor、Gemini 的技能往往分散在 ~/.claude/skills、~/.cursor/skills 等路径,和 DSH 自带的 ~/.dsh/skills 并不在同一套界面里管理。对话进行中,也不容易判断「这一轮该不该用某个技能」。
下面介绍社区插件 dsh-charlotte(维护者 AlpFallen,分类:工作流)。它给 DSH 增加一个侧栏入口,把技能浏览、启用、安装、回收站与「授权后一次点击加载」收进同一套数据驱动界面,并在对话侧做宿主侧实时推荐;同时以只读方式挂载多家 Agent 的技能目录,不改动原文件。
这是什么¶
dsh-charlotte 是装在 DSH 里的技能启动器与技能库。侧栏只增加「dsh-charlotte」一个入口:首页有紧凑列表、真实功能分类、常用与收藏、右侧详情抽屉;对话输入区上方可在合适时机展示推荐卡。外部 Claude / Codex / ZCode / Cursor / Gemini 技能目录以只读 provider 挂载为 DSH 技能来源;对本地可写目录仍保留启用、安装、删除与回收站能力。
插件当前版本 0.7.3,许可证 MIT。社区目录页:skillhub.cn/plugins/AlpFallen/dsh-charlotte。DSH 生态理念是「一切皆插件」;SkillHub 等为独立社区站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
单一入口与管理页¶
作用域、拖拽安装、回收站、刷新和语言切换收在 更多 菜单。列表行内展示名称与版本、描述、可用状态、来源、收藏/置顶,以及 使用、详情;详情在右侧抽屉,含推荐理由、适用/排除场景、触发条件、权限、依赖、版本、来源路径与真实使用记录。
常用、收藏与功能分类¶
首页顶部顺序为:置顶 → 收藏 → 按真实调用频率补足(最多 4 条);无数据时不渲染该块。分类由技能自身的名称、描述与触发条件计算,包括开发工作、代码质量、项目理解、文档与知识、任务协作、设计与创作、办公文档、邮件沟通、学习教练等;零计数类不显示,不设「其他」类。
搜索、筛选与排序¶
搜索覆盖名称、描述、用途、关键词、触发条件与分类。可按分类、来源(项目级 / 用户专属 / 插件提供 / 系统内置)、状态筛选。排序支持调用频率、名称、最近使用;不提供「下载时间」排序(索引中没有该字段)。
只读挂载外部技能库¶
只读 provider 注册例如:
~/.claude/skills、~/.codex/skills、~/.zcode/skills、~/.cursor/skills、~/.gemini/skills(含~/.gemini/antigravity/skills)- 各工作区下的
.claude|.codex|.zcode|.cursor|.gemini/skills - 可通过配置
extraDirs增加自定义目录
文件留在原处;frontmatter 字段会映射到 DSH 语义,目录变更可热更新。对挂载技能的启停写在 dsh-charlotte 的覆盖表,不写回外部 SKILL.md。
本地技能:安装、启停与回收站¶
可写根包括全局 ~/.dsh/skills、共享 ~/.agents/skills、以及项目下的 <project>/.dsh/skills / .agents/skills。支持拖拽文件夹或 .zip 安装(先校验 SKILL.md 含 kebab-case name 与 description 并预览)。删除进入 ~/.dsh/charlotte/trash,可恢复或清空。
对话内实时推荐¶
宿主在 agent/pre-step 根据本轮用户原文与技能元数据做评估;客户端在本轮回答结束(running 由真变假)后,在输入框上方展示推荐卡,不打断生成,也不把「推荐」等同于「加载」。
推荐流程包括:快速排除未启用 / 用户不可调用 / 依赖缺失 → 语义匹配 → 排序 → 权限与依赖检查。寒暄、过短提示默认不推荐;卡片提供 使用 与 忽略,点 使用 与管理页相同的授权加载链路。
「加载」在 DSH 中的含义¶
DSH 没有「不产生模型回合就注入技能指令」的独立 API。支持的准备方式是官方 /技能名 composer token:点击 使用 后,宿主先校验可见性、启用状态与依赖,再把 /技能名 写入当前或新建对话的输入框并关闭启动器;不会自动发送消息、不会启动 Agent 回合。只有你发送消息后,宿主才把 token 转为技能指令;发送前删掉 token 则技能不生效。加载中再次点击可取消;失败展示宿主返回的真实原因。
插件自带技能与中文界面¶
由 DSH 插件或 bundled provider 注册的技能以只读「插件」卡片出现在同一网格,技能站只负责展示与加载,不能启停或删除。界面可中英切换;列表有一句通俗中文简介,详情展示官方描述与中文专业版概述(优先技能自带的 simple-zh / professional-zh,其次 locale/skills.zh.json 中与原文哈希匹配的条目)。
安装与启用¶
桌面应用¶
设置 → 插件 → 添加插件 → 安装第三方插件,填写:
https://github.com/AlpFallen/dsh-charlotte
该入口同样接受 npm 包名和本地目录。安装完成后重启应用,侧边栏「设置」按钮上方会出现 dsh-charlotte 入口。
说明:桌面 profile 由 Electron 应用托管,CLI 的 dsh plugin --profile desktop add 会被拒绝(profile "desktop" is managed exclusively by the Electron application)。从 GitHub 安装时仓库已包含编译好的 client/client.js,无需本地构建。
命令行(web profile)¶
dsh plugin --profile web add github:AlpFallen/dsh-charlotte
README 记载:作者在桌面 App 内置 DSH 0.2.1-rc.3(Node 24.21.0)上验证;另用 CLI 安装的 DSH 0.1.5-rc.2 做过宿主接口比对。更新的 0.2.x 未在文档中全部验证。
可选配置¶
配置写在 profile 补丁层 plugins.dsh-charlotte 下;未知键启动即报错。示例(均可选):
plugins:
dsh-charlotte:
sources:
claude: true
codex: { project: false }
zcode: true
cursor: true
gemini: true
extraDirs:
- { path: ~/my-skills, label: mine, rank: 300 }
watch: true
slugifyNames: true
synthesizeDescription: true
recommend:
enabled: true
maxItems: 3
threshold: 0.18
minIntentChars: 10
minValueScore: 0.2
cooldownMs: 45000
maxPerSession: 8
dedupeJaccard: 0.6
sameTaskJaccard: 0.55
comboRatio: 0.75
典型用法¶
- 安装并重启 DSH 后,从侧栏打开 dsh-charlotte,在首页或「全部技能」中搜索、按分类或来源筛选,打开详情抽屉审阅触发条件与权限依赖。
- 需要在本轮对话使用某技能时,点击 使用;确认输入框出现
/技能名后,补充任务描述并发送。不要期望插件替你在未发送的情况下执行技能。 - 对话进行中,若宿主判定有合适技能,回答结束后输入框上方会出现推荐卡;可 使用 或 忽略(忽略后同一任务内不再重复推同一技能,直到需求实质变化)。
- 要把 Claude / Cursor 等目录里的技能纳入列表且不改原文件,保持
sources中对应项为true;仅需部分目录时按 README 细项开关或extraDirs调整。 - 安装新技能:通过 更多 菜单进入安装面板,拖拽技能文件夹或
.zip,预览确认后写入可写根目录。
适用场景与注意¶
适合谁:长期在 DSH 里用技能、同时还在 Claude Code / Codex / ZCode / Cursor / Gemini 生态积累技能目录的开发者;希望在一个界面里浏览、启停、安装,并在对话中收到基于上下文的推荐,而不是每次手动回忆技能名。
安全与权限:插件以当前 DSH 进程权限运行;挂载与上传的技能均为第三方内容,启用前请自行审阅源码与 SKILL.md。技能「使用」授权不等于删除文件、发消息等高风险操作——这些仍由 DSH 工具权限与审批独立校验。变更类 HTTP 接口拒绝跨源请求。运行状态位于 ~/.dsh/charlotte/(如 state.json、overrides.json、trash/),不进插件仓库。
停用语义:对模型停用但用户仍可调用的技能会标记为「仅用户」,仍可使用;用户不可调用的技能不能使用。
结尾¶
dsh-charlotte 把 DSH 里的技能管理、多 Agent 技能目录只读汇总、对话侧推荐与 /name 加载链路接到一起,侧栏一个入口即可完成「发现 → 授权 → 加载 → 发送后执行」的准备步骤。安装前建议在 GitHub 阅读 README 与安全模型说明。