Back to marketplace

dsh-perlica-ding

UI & Experience

117BS/dsh-perlica-ding

Perlica-themed tiered sound notifications for DeepSeek Harness: distinct sounds for planning, task completion, needing response, and errors; silent for normal Q&A; customizable audio.

  • arknights
  • deepseek
  • deepseek-harness
  • dsh
  • dsh-plugin
  • endfield
  • notification
  • perlica
  • plugin
  • sound
  • task-complete
GitHub Stars
6GitHub
Views
2DSH Plugin Hub
Forks
1GitHub
Open issues
1GitHub Issues
Manifest version
0.1.0dsh-perlica-ding
Latest push
Oct 7, 2026GitHub
License
MITJavaScript
Plugin type
HostRuns in the DSH Host

Verification and compatibility

This section shows evidence collected by the catalog. Undeclared information is labeled as unknown.

Static checked
01Exact source: github · dsh-perlica-ding@0.1.002Validated: Aug 24, 202603Verified Harness: 0.1.0-rc.7
Current-version compatibility
Verified on the catalog Harness version
Declared Harness range
Not declared
Declared platforms
Not declared
Profiles
web
Build approval
Unknown
Permissions
Not declared
External services
Not declared
Telemetry
Unknown
No known risk flags found

This is not a security endorsement. Review source, permissions, and configuration before installing.

View evidence and scope

Verification covers only the named source, version, and Harness environment. It does not guarantee future compatibility.

  • github:117BS/dsh-perlica-ding#eb6b33307d1df5395160e2caa14131829bf64a75
  • The manifest and static structure passed checks; a runtime load check has not completed.

README

View source

dsh-perlica-ding · 佩丽卡终端 (Perlica Terminal)

「我们不是理想的陈述者,而是理想的践行者。」 —— 佩丽卡,终末地工业监督

Awesome DSH Plugin

佩丽卡 - 终末地工业监督

English | 简体中文

🔔 佩丽卡主题 DeepSeek Harness 分级任务提示音插件。

由终末地工业监督佩丽卡为您播报任务状态:计划出方案、任务执行完成、需要您回应、执行出错时,以终端播报的口吻播放不同提示音;普通问答保持安静。声音文件可自定义(含佩丽卡风格 TTS 语音文案),窗口在后台也能听到。

📖 关于佩丽卡

佩丽卡(Perlica),《明日方舟:终末地》登场角色,终末地工业的监督和官方发言人,杰出的协议技术专家。负责管理和推进协议源石技术的开发与应用,承担帝江号的管理工作,同时也是一名危机处理小组成员。

她果断而冷静地应对各种危机,来回奔波于文明环带各处。本插件的提示音风格即取材于她——简洁、干练、带技术官僚感的终端播报,称呼您为「管理员」。

✨ 功能

场景触发条件音效文件
🗂️ 计划出方案回合结束时仍处于计划模式plan.wav
✅ 任务完成回合结束且本回合调用过执行类工具(改文件/跑命令/子代理/工作流等)done.wav
💬 普通问答纯对话,或只用了查询类工具(读文件/搜索网页等)静音
🙋 需要你回应agent 提问 / 审批请求ask.wav
⚠️ 出错回合报错fail.wav

其他特性:

  • 只响主对话:子代理/后台任务完成时不单独响,随主回合统一收尾
  • 防抖:每档独立 2.5 秒间隔,不会连响
  • 可自定义音效:把 wav 文件放到指定目录即可,无需改代码
  • 跨平台:Windows (SoundPlayer) / macOS (afplay) / Linux (paplay/aplay)
  • 可配置:总开关、防抖间隔、音效目录

📦 安装

方法一:从 npm 安装(推荐)

dsh plugin --profile web add dsh-perlica-ding

安装后重启 dsh web profile 生效:

dsh web restart

方法二:从 GitHub 安装

dsh plugin --profile web add https://github.com/117BS/dsh-perlica-ding

方法三:本地开发安装

dsh plugin --profile web add D:\deepseek\dsh-perlica-ding

🎵 音效文件

开箱即用:佩丽卡语音已打包进插件(sounds/ 目录随包分发),安装后无需任何配置,四个场景各有专属声音:

plan.wav   — 计划出方案("作战计划已确认完毕")
done.wav   — 任务完成("任务执行完毕,所有指标正常")
ask.wav    — 需要你回应("终端上报:存在待决事项,需要操作员裁决")
fail.wav   — 出错("警告:执行异常,任务中断")(可选)

想换自己的声音:用 AI 语音合成生成 wav,放到你的工作区根目录(或配置的 soundDir),同名文件会覆盖内置声音,立即生效无需重启。查找顺序:配置目录 → 工作区 → 包内自带 → 系统回退。

要求:必须是真正的 WAV 格式(PCM)。TTS 工具如果导出 MP3,需要转码(可用 ffmpeg:ffmpeg -i input.mp3 -acodec pcm_s16le plan.wav)。

⚙️ 配置

🔊 音量调节(设置页一键试听)

打开设置就能调:进 DSH 设置 → 佩丽卡提示音,你会看到一个面板:

提示音音量
[==========|=========]  50%
[原声 100%] [适中 60%] [轻声 30%] [静音 0%]

试听音效
[计划出方案] [任务完成] [需要你回应] [出错]
  • 拖滑块或点预设档位调节音量(0 = 完全静音,100 = 原声),自动保存、立即生效
  • 点试听按钮立刻播放对应音效,用耳朵确认这个音量合不合适,不用靠猜
  • 试听走的是和真实通知完全相同的播放链路,听到的就是实际效果

推荐档位

volume效果适用场景
100原始音量环境嘈杂
60略微降低戴耳机、安静房间
30轻声提示深夜、图书馆
0完全静音临时关闭提示音

💡 实现原理:插件直接对 WAV 的 PCM 采样做振幅缩放(零依赖、跨平台),不会改动你的系统音量。缩放结果缓存在系统临时目录,同一音量只计算一次。

⚠️ 注意:如果用的是非 PCM 格式的音频(罕见),插件会自动回退到原始音量播放。

⚙️ 高级配置

音量也可以写进配置文件(作为初始值;设置页里调过的值优先)。在 profile 的 cordis.yml 或用户 patch 层中配置:

plugins:
  dsh-perlica-ding:
    enabled: true        # 总开关
    volume: 100          # 初始音量 0-100(设置页可覆盖)
    debounceMs: 2500     # 同档音效最小间隔(毫秒)
    soundDir: ""         # 自定义音效目录,留空则用当前工作区
    execTools: []        # 哪些工具算"执行任务";空数组 = 所有工具都算(旧行为)

🧪 验证

安装后随便让 agent 执行一个任务(比如让它调用一次工具),任务完成时应该听到提示音。或者先手动测试声音链路:

$p = New-Object Media.SoundPlayer 'D:\deepseek\done.wav'; $p.PlaySync()

📄 License

MIT

Comments

0
Newest first