麦克风听写清理 aipieksel/deepseek-microphone-cleanup-integration
DeepSeek 客户端录制语音并转写,再用命令行清理成稿
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/aipieksel/deepseek-microphone-cleanup-integration.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/17) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 30 处,展示前 27 条)
- 读取本地文件lib/voice.js:21
async folder(id){for(const root of await this.roots()){const file=join(root,id,'recording.json');if(await readFile(file).then(()=>true,()=>false))retu - 写入本地文件lib/voice.js:23
await mkdir(this.directory,{recursive:true,mode:0o700}); - 读取本地文件lib/voice.js:25
for(const root of await this.roots())for(const id of await readdir(root).catch(()=>[])) { - 读取本地文件lib/voice.js:27
try { const row=JSON.parse(await readFile(join(root,id,'recording.json'),'utf8')); if(row.sessionId===sessionId) rows.push(row); } catch {} - 写入本地文件lib/voice.js:34
await mkdir(dir,{recursive:true,mode:0o700}); - 写入本地文件lib/voice.js:37
await writeFile(join(dir,'audio.original'),data,{mode:0o600}); - 写入本地文件lib/voice.js:39
await writeFile(join(dir,'recording.json'),JSON.stringify(row),{mode:0o600});return row; - 写入本地文件lib/voice.js:41
async write(row) {const file=join(await this.folder(row.id),'recording.json'),temp=file+'.'+randomUUID()+'.tmp';await writeFile(temp,JSON.stringify(ro - 写入本地文件lib/voice.js:41
async write(row) {const file=join(await this.folder(row.id),'recording.json'),temp=file+'.'+randomUUID()+'.tmp';await writeFile(temp,JSON.stringify(ro - 读取本地文件lib/voice.js:42
async get(id) { if(!/^[a-f0-9-]{36}$/.test(id))throw new Error('Invalid recording');return JSON.parse(await readFile(join(await this.folder(id),'recor - 删除本地文件递归lib/voice.js:60
try {await writeFile(join(dir,'audio.webm'),Buffer.from(audio,'base64'));await runProcess((await getSettings()).ffmpeg,['-v','error','-y','-i',join(di - 读取本地文件lib/settings.js:9
const old=await readFile(join(homedir(),'Library/Application Support/VS Code Codex Pro 2/User/settings.json'),'utf8').then(JSON.parse).catch(()=>({})) - 读取本地文件lib/settings.js:10
const saved=await readFile(join(directory,'settings.json'),'utf8').then(JSON.parse).catch(()=>({})); - 读取本地文件lib/settings.js:26
if(key==='python'||key==='ffmpeg'){if(!(await stat(next[key]).catch(()=>null))?.isFile())throw Error(key+' is not an executable file');await access(ne - 读取本地文件lib/settings.js:26
if(key==='python'||key==='ffmpeg'){if(!(await stat(next[key]).catch(()=>null))?.isFile())throw Error(key+' is not an executable file');await access(ne - 读取本地文件lib/settings.js:27
else if(!(await stat(next[key]).catch(()=>null))?.isDirectory())throw Error(key+' must be an existing directory'); - 读取本地文件lib/settings.js:28
if(key==='recordingsDirectory')await access(next[key],constants.W_OK); - 写入本地文件lib/settings.js:32
await mkdir(directory,{recursive:true,mode:0o700});const file=join(directory,'settings.json'),temp=file+'.'+randomUUID();await writeFile(temp,JSON.str - 写入本地文件lib/settings.js:32
await mkdir(directory,{recursive:true,mode:0o700});const file=join(directory,'settings.json'),temp=file+'.'+randomUUID();await writeFile(temp,JSON.str - 写入本地文件lib/settings.js:32
await mkdir(directory,{recursive:true,mode:0o700});const file=join(directory,'settings.json'),temp=file+'.'+randomUUID();await writeFile(temp,JSON.str - 读取本地文件lib/mlx-whisper.cjs:9
const workerSource = fs.readFileSync(path.join(__dirname, 'mlx-whisper-worker.py')); - 写入本地文件lib/mlx-whisper.cjs:14
fs.mkdirSync(directory, { recursive: true, mode: 0o700 }); - 读取本地文件lib/mlx-whisper.cjs:15
if (fs.existsSync(file) && fs.readFileSync(file).equals(workerSource)) return file; - 写入本地文件lib/mlx-whisper.cjs:18
fs.writeFileSync(temporary, workerSource, { mode: 0o600, flag: 'wx' }); - 写入本地文件lib/mlx-whisper.cjs:19
fs.renameSync(temporary, file); - 删除本地文件lib/mlx-whisper.cjs:20
} finally { fs.rmSync(temporary, { force: true }); } - 读取本地文件lib/mlx-whisper.cjs:53
if (!fs.existsSync(python) || !fs.existsSync(path.join(model, 'weights.safetensors'))) {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
麦克风听写、MLX Whisper 转写和命令行清理,并支持保存录音恢复,适用于 DeepSeek Harness。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness 麦克风与清理集成
这个 Node 包提供 DeepSeek Harness 的 Agents Pro 听写流水线:保存音频、MLX Whisper 转写、Codex 或 Grok 命令行清理、录音恢复、短语检测,以及持久化的录音设置。启动器插件保留 Harness 原生的麦克风、扫帚、设置和投递控件。服务端工作交给这个包处理;它不替换 Harness 的原生界面。
安装与使用
把这个仓库克隆到 deepseek-codex-grok-cli-integration 和 deepseek-project-specific-harness-launcher 旁边。在启动器仓库里运行 script/install-integrations.sh。麦克风需要浏览器授权、本地 ffmpeg、装有 mlx_whisper 的 Python,以及配置好的本地语音模型。清理走同级集成里已登录的 Codex 或 Grok 命令行。
在这个目录下运行 npm install --ignore-scripts 和 npm test;npm pack --dry-run 会列出随包发布的文件。保存的音频和文本放在用户的 Agents Pro 状态目录下,永远不进这个仓库。音频保存后开始处理听写;转写失败可以从宿主界面的「已保存录音」重试。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 麦克风与清理集成 这个 Node 包提供 DeepSeek Harness 的 Agents Pro 听写流水线:保存音频、MLX Whisper 转写、Codex 或 Grok 命令行清理、录音恢复、短语检测,以及持久化的录音设置。启动器插件保留 Harness 原生的麦克风、扫帚、设置和投递控件。服务端工作交给这个包处理;它不替换 Harness 的原生界面。 安装与使用 把这个仓库克隆到 deepseek-codex-grok-cli-integration 和 deepseek-project-specific-harness-launcher 旁边。在启动器仓库里运行 script/install-integrations.sh。麦克风需要浏览器授权、本地 ffmpeg、装有 mlx_whisper 的 Python,以及配置好的本地语音模型。清理走同级集成里已登录的 Codex 或 Grok 命令行。 在这个目录下运行 npm install --ignore-scripts 和 npm test;npm pack --dry-run 会列出随包发布的文件。保存的音频和文本放在用户的 Agents Pro 状态目录下,永远不进这个仓库。音频保存后开始处理听写;转写失败可以从宿主界面的「已保存录音」重试。界面的队列和捕获光标行为仍归启动器插件管。 权利 本仓库的原创代码采用 MIT License 授权。DeepSeek Harness、Codex、Grok 和 MLX Whisper 各自保留其所有者的独立权利;它们的运行时、模型和凭据不包含在这里。这是一个独立的本地集成。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
aipieksel/deepseek-microphone-cleanup-integration
录制语音并转写,再用命令行清理成稿
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,798已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,327已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,021已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 150,724已汉化DSH
71.1