🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

对话口吻切换 meomeo-dev/dsh-voice

DeepSeek Harness
meomeo-dev74 天前有提交已提供中文文档扫描:含敏感能力

随时切换 AI 说话风格,内置名人角色口吻

26.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add meomeo-dev/dsh-voice
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/2) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 16 处,展示前 16 条)
  • 读取本地文件
    bin/dsh-voice.mjs:15
    for (const entry of readdirSync(dir)) {
  • 读取本地文件
    bin/dsh-voice.mjs:18
    if (statSync(path).isFile()) out.push(path)
  • 读取本地文件
    bin/dsh-voice.mjs:33
    parseVoiceFileData(readFileSync(path, 'utf8'), path)
  • 读取本地文件
    bin/dsh-voice.mjs:53
    const text = readFileSync(path, 'utf8')
  • 写入本地文件
    bin/dsh-voice.mjs:56
    writeFileSync(path, serializeVoice(data))
  • 读取本地文件
    src/index.ts:176
    const skill = parseSkillMarkdown(readFileSync(CREATE_VOICE_SKILL_PATH, 'utf8'))
  • 读取本地文件
    src/selection.ts:96
    mtimeMs = statSync(path).mtimeMs
  • 读取本地文件
    src/selection.ts:101
    const selection = existsSync(path)
  • 读取本地文件
    src/selection.ts:102
    ? parseSelection(readFileSync(path, 'utf8'), path)
  • 写入本地文件
    src/selection.ts:114
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    src/selection.ts:120
    writeFileSync(tmp, `${stringifyYaml(doc)}\n`)
  • 写入本地文件
    src/selection.ts:121
    renameSync(tmp, path)
  • 读取本地文件
    src/voice-registry.ts:46
    if (existsSync(join(current, '.git'))) return current
  • 读取本地文件
    src/voice-registry.ts:85
    if (!existsSync(dir)) return result
  • 读取本地文件
    src/voice-registry.ts:86
    for (const entry of readdirSync(dir, { withFileTypes: true })) {
  • 读取本地文件
    src/voice-registry.ts:90
    const voice = parseVoiceFile(readFileSync(path, 'utf8'), path)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-skill@deepseek-ai/dsh-system-prompt@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 切换AI说话风格
  • 内置名人角色口吻

DeepSeek Harness 的对话语气切换器插件包,自带「令」语气和一个创建语气的元技能。网站:https://dsh-voice.vercel.app

README

由 DeepSeek 最新模型翻译生成
dsh-voice charlie-munger steve-jobs sun-wukong DeepSeek Harness 的「对话口吻」切换插件(bundle)。用户可随时 /voice 切换口吻,立即生效并持久化。口吻是 .voice.yaml 文件,可从内置/用户/项目三层目录发现;附带 create-voice 元技能与 dsh-voice check 校验工具。预置十六个口吻:default、十个已故名人双语口吻(科技圈/金融投资圈)、三个角色原型(孙悟空/帅哥/美女)与两个抽象风格预设(friendly-rigorous、strict-code-reviewer)。 官网:dsh-voice.vercel.app 用法 安装到某个 profile: dsh plugin --profile web add @meomeo-dev/dsh-voice dsh --profile web 会话内切换: /voice # 查看当前口吻与可用列表 /voice list # 同上 /voice sun-wukong # 切换到「孙悟空」的口吻 Web GUI 里也有 voice 入口:
展开完整文档(README 剩余 1 节)
dsh-voice

charlie-munger
steve-jobs
sun-wukong

DeepSeek Harness 的「对话口吻」切换插件(bundle)。用户可随时 /voice 切换口吻,立即生效并持久化。口吻是 .voice.yaml 文件,可从内置/用户/项目三层目录发现;附带 create-voice 元技能与 dsh-voice check 校验工具。预置十六个口吻:default、十个已故名人双语口吻(科技圈/金融投资圈)、三个角色原型(孙悟空/帅哥/美女)与两个抽象风格预设(friendly-rigorous、strict-code-reviewer)。

官网:dsh-voice.vercel.app

用法

安装到某个 profile:

dsh plugin --profile web add @meomeo-dev/dsh-voice
dsh --profile web

会话内切换:

/voice # 查看当前口吻与可用列表 /voice list # 同上 /voice sun-wukong # 切换到「孙悟空」的口吻

Web GUI 里也有 voice 入口:

- 会话标题栏 🎙️ → 「设置会话Voice」:三级配置(当前会话 / 当前工作区 / 用户默认),选择即时持久化到 ~/.dsh/voice/selection.yaml。
- 新建会话 hero 屏 🎙️ → 「设置会话Voice」:「新建会话」级选择暂存,空白会话成为当前时透传为新 session 的 session 级 voice(镜像 agent 预设的「暂存→应用」范式)。

详见 docs/voice-settings-web-ui.md。

安装与 prepare 说明

三种安装方式对「是否需要本地构建」的处理不同:

| 方式 | 命令 | 是否构建 |
| npm 发布包(推荐) | dsh plugin --profile web add @meomeo-dev/dsh-voice | 否,发布 tarball 已含 lib/ |
| gh/git 源码 | dsh plugin --profile web add github:meomeo-dev/dsh-voice#v0.3.1 | 是,拉源码后跑 prepare 编译 |

prepare 脚本(tsc -p tsconfig.json)的存在原因:git 安装拉的是源码而非构建产物,必须靠 prepare 把 src/ 编译成 lib/,否则插件无法加载。npm 发布包则不需要——lib/ 已在打包时构建好并随 tarball 分发。

pnpm ≥10 出于供应链安全,对 git 依赖默认拒绝执行 prepare,直到你在该 profile 的 pnpm-workspace.yaml 里显式放行。首次 add github:... 会失败并打印确切的 key,照做即可:

allowBuilds:
dsh-voice@https://codeload.github.com/meomeo-dev/dsh-voice/tar.gz/: true

该放行等于「授权该包在安装时执行任意代码」,请只对你信任的包、并 pin 到具体 tag(#v0.2.1)而非裸分支。若不想让用户做这一步,请用 npm 发布包(推荐)或 tarball 分发——二者不含源码、不触发 allowBuilds。

自带口吻

| id | label | 说明 |
| default | Default | 中性、直接 |
| steve-jobs | Steve Jobs | 苹果联合创始人,极简、笃定、爱用最高级与「One more thing」,双语 |
| alan-turing | Alan Turing | 计算机科学之父,精确、逻辑严密、谦逊内敛,双语 |
| ada-lovelace | Ada Lovelace | 史上第一位程序员,诗意与数学严谨交织、远见卓识,双语 |
| grace-hopper | Grace Hopper | 海军少将、COBOL 先驱,直爽务实、行动派、不惧权威,双语 |
| richard-feynman | Richard Feynman | 诺贝尔物理学奖得主,直率幽默、爱讲故事、反权威,双语 |
| nikola-tesla | Nikola Tesla | 发明家,远见卓识、天才的孤独、谈能量频率振动,双语 |
| charlie-munger | Charlie Munger | 伯克希尔副主席,直率犀利、逆向思维、多学科思维模型,双语 |
| benjamin-graham | Benjamin Graham | 价值投资之父,理性保守、安全边际、市场先生,双语 |
| john-bogle | John C. Bogle | 指数基金之父,朴素务实、低成本长期持有、复利,双语 |
| jesse-livermore | Jesse Livermore | 传奇交易员,冷静克制、纪律严明、顺应趋势,双语 |
| sun-wukong | 孙悟空 (Sun Wukong) | 《西游记》原著(公共版权)齐天大圣·美猴王·孙行者,桀骜不驯又忠心护师,古白话口吻,称用户为「师父」 |
| handsome-guy | 帅哥 (Handsome Guy) | 原创通用原型,约 25 岁温柔绅士型帅哥,低沉温和、简洁得体、克制不油腻 |
| pretty-girl | 美女 (Pretty Girl) | 原创通用原型,约 25 岁知性优雅型美女,柔和从容、条理清晰、优雅有分寸 |
| friendly-rigorous | 严谨友善助手 | 严谨但友善的通用助手口吻,结论有据、温和纠偏、共情克制(抽象风格,非特定角色) |
| strict-code-reviewer | 严格评审 (Strict Code Reviewer) | 把每段代码都当 PR 来审:格式、命名、结构、顺序一丝不苟(抽象代码风格,非特定角色) |

voice 文件与目录

一个口吻是一个 .voice.yaml 文件,最终 prompt 由 Handlebars 模板从结构化字段拼接而成:

version: 2
id: sun-wukong # kebab-case,须与文件名一致 label: 孙悟空 (Sun Wukong) description: 齐天大圣·美猴王·孙行者,古白话口吻 identity: # 身份背景(对象) role: 齐天大圣·美猴王·孙行者 background: 《西游记》原著中的孙悟空,保唐僧西天取经……
address: 师父 # 角色对用户的称呼 style: | # 说话方式(字符串)
- 自称「老孙」「俺老孙」,古白话韵味……
examples: # 场景示例(数组,每个 3–5 条对话)
- name: 初见 · 五行山下拜师 turns:
- speaker: 师父 text: 你是何方神圣?

template 字段可用自定义 Handlebars 模板覆盖默认拼接;voice.schema.yaml 是格式的 JSON Schema 表达。

插件从以下目录发现(同名时后者覆盖前者):

内置(包内 voices/) /.agents/voice /.dsh/voice

新建口吻时,写入 ~/.dsh/voice/(dsh 配置目录)或 /.dsh/voice/;非 dsh 环境用 ~/.agents/voice/ 或 /.agents/voice/。

create-voice 元技能

模型或用户可调用 create-voice 技能,按「搜集角色 → 分析说话方式 → 写口吻文本 → 落盘校验」的流程新建口吻文件。也可直接参考 skill/create-voice/SKILL.md。

在会话中直接发指令即可创建新 voice,三种模板(均为「特定角色」,锚定权威素材与真实台词):

/create-voice 中的 # 游戏角色 /create-voice 中的 # 动漫角色 /create-voice 中的 # 文学作品角色

其中 为占位符,按需替换。

创建时技能会先搜集该角色的权威档案与真实台词(以官方/原著为准),再从台词归纳说话方式,落盘为 *.voice.yaml。

校验与迁移工具

dsh-voice check [dir...] # 校验 voice 文件形状 dsh-voice migrate [dir...] # 把旧版本 voice 文件原地迁移到当前版本(写回)

发布到 npm

发布由 GitHub Actions 自动完成(.github/workflows/release.yml),触发条件是「发布一个 GitHub Release」。首次使用需要一次性配置:

1. 在 npm 注册并拥有 @meomeo-dev 这个 scope(同名用户或 org)。
2. 在 npm 生成一个 Automation / publish token,复制它。
3. 在 GitHub repo 的 Settings → Secrets and variables → Actions → New repository secret 添加名为 NPM_TOKEN 的 secret,值为上一步的 token。

之后每次:GitHub 上点 "Draft a new release" → 填 tag(如 v0.2.1)→ Publish release,workflow 会自动 install → build → 安全审计(pnpm audit) → test → npm publish。发布前有任何一步失败(尤其安全审计)都会阻断发布。

发布成功后可安装:

dsh plugin --profile web add @meomeo-dev/dsh-voice

同一个 GitHub Release 也会触发官网的 Vercel Production 部署。首次启用需要在 GitHub 仓库的 Settings → Secrets and variables → Actions 中配置 VERCEL_TOKEN、VERCEL_ORG_ID 和 VERCEL_PROJECT_ID。当前官网使用 vercel.json 的 pnpm site:build 构建命令,输出目录为 website/dist。

开发

pnpm install
pnpm test # vitest 单测
pnpm build # tsc 输出 lib/
pnpm schema:gen # 重新生成 voice.schema.yaml

本地联调:

dsh plugin --profile web add .
dsh --profile web --dump-config
dsh --profile web

设计

详见 docs/design.md。
预览分享卡片长什么样 ↓meomeo-dev/dsh-voice
分享 · DeepSeek Harness Hub
meomeo-dev/dsh-voice

随时切换 AI 说话风格,内置名人角色口吻

这是你的仓库?认领条目

回到顶部