websiteURL should be present for marketplace readiness.
Kesha Voice Kit
Local speech-to-text and text-to-speech CLI with an MCP server; it transcribes 25 languages and speaks 9, and every model runs on the machine itself rather than in a cloud service
drakulavich/kesha-voice-kit · v0.0.0 · Tools & Integrations
Trust Score
69
Security
59
Surfaces
9
What is Kesha Voice Kit?
Kesha Voice Kit is a published tools & integrations plugin for AI coding agents in the openclaw ecosystem, developed by drakulavich and distributed through the HOL AI plugin registry. Local speech-to-text and text-to-speech CLI with an MCP server; it transcribes 25 languages and speaks 9, and every model runs on the machine itself rather than in a cloud service
- Canonical slug
- drakulavich/kesha-voice-kit
- Version
- v0.0.0 · updated Oct 6, 2026
- Open data
- entity.json (JSON-LD)
Trust & Reputation
Factor Analysis
Per-metric points (0–100 each) combined via a weighted average into the overall score.
Registry Snapshot
- Canonical profile
- https://hol.org/registry/plugins/drakulavich%2Fkesha-voice-kit
- Publisher verification
- No
- Marketplace source
- Unknown
- Scanner
- Broker fallback
- Safety label
- caution
- Digest verified
- Yes
Trust & reputation
Trust & Reputation
Factor Analysis
Per-metric points (0–100 each) combined via a weighted average into the overall score.
Provenance
- Plugin root
- .
- Source repo
- https://github.com/drakulavich/kesha-voice-kit
- Source commit
- 49d8d4289b2b…
- Publisher verified
- No
- Owner verified
- @drakulavich
Continuous scanner CI detected
No action is required. This plugin receives the full trust score.
Verified badge not detected
Add the HOL verified badge to the repository README to score +2% trust. Plugin owners can open that pull request from Guard Plugins.
Security Posture
- Provider
- registry-broker-fallback
- Grade
- F · caution
- Version
- Unknown
Findings
privacyPolicyURL should be present for marketplace readiness.
termsOfServiceURL should be present for marketplace readiness.
Repository snapshot does not include a lockfile.
Script permission declarations are required for scripts/: scripts/benchmark.ts, scripts/convert-lang-id-model.py, scripts/dev-setup.sh, scripts/generate-shell-artifacts.ts, scripts/mutate.ts, scripts/release-tag.ts, scripts/smoke-test.ts
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Cisco skill scanner timed out after 60000 ms
Kesha Voice Kit — Frequently asked questions
- What is Kesha Voice Kit?
- Kesha Voice Kit is an AI plugin in the HOL registry. Local speech-to-text and text-to-speech CLI with an MCP server; it transcribes 25 languages and speaks 9, and every model runs on the machine itself rather than in a cloud service
- How do I install Kesha Voice Kit?
- Install Kesha Voice Kit in your harness: MCP — git clone https://github.com/drakulavich/kesha-voice-kit; Any agent — npx skills add drakulavich/kesha-voice-kit. Full step-by-step guidance is on the HOL plugin page.
- How do I install Kesha Voice Kit in MCP?
- To install Kesha Voice Kit in MCP, start with git clone https://github.com/drakulavich/kesha-voice-kit. The complete step-by-step install guide for MCP is on the HOL plugin page.
- Is Kesha Voice Kit free?
- Pricing for Kesha Voice Kit is published on its HOL plugin page when the maker schedules a launch.
- Who publishes Kesha Voice Kit?
- Kesha Voice Kit is published by drakulavich and listed on HOL.
- Is Kesha Voice Kit available now?
- Kesha Voice Kit availability is listed on its HOL plugin page.
Install Guidance
Install in MCP
Connect the bundled MCP server shipped in the repository .mcp.json file.
- 1
Clone the repository
shell - 2
Open the project in your MCP client
Standard MCP plugins ship a .mcp.json manifest at the repository root; MCP-compatible clients auto-discover it when the project folder is open. If this repository configures its server differently, register it from the MCP configuration the publisher documents.
- 3
Verify the server
Check the MCP server list in your client: the server declared in .mcp.json should report as connected.
Plugin Manifest
{
"id": "kesha-voice-kit",
"name": "Kesha Voice Kit",
"description": "Local speech-to-text for voice messages — 25 languages, ~19x faster than Whisper on Apple Silicon. Bundled `kesha` CLI also synthesizes Telegram-ready OGG/Opus voice notes via `kesha say --format ogg-opus`.",
"providers": [
"kesha-voice-kit"
],
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
},
"repository": "https://github.com/drakulavich/kesha-voice-kit",
"interface": {
"displayName": "Kesha Voice Kit",
"developerName": "drakulavich"
},
"skills": "./",
"holManifestOrigin": "repository",
"registryIndexVersion": 5
}Marketplace Source
- Repo URL
- https://github.com/drakulavich/kesha-voice-kit
- Marketplace path
- Unknown
- Source path
- .
- Install policy
- Unspecified
Skills
9 SKILL.md files ship with this plugin. Preview, copy, or download each one, then install them with the Skills CLI.
openspec-apply-change
.claude/skills/openspec-apply-change/SKILL.md
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks. Also use when the user says "openspec apply", "opsx apply", or "openspec implement".
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
openspec-archive-change
.claude/skills/openspec-archive-change/SKILL.md
Archive a completed OpenSpec change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete. Also use when the user says "openspec archive" or "opsx archive".
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
openspec-explore
.claude/skills/openspec-explore/SKILL.md
Enter OpenSpec explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements in a project that uses OpenSpec. Use when the user wants to think through something before or during an OpenSpec change. Also use when the user says "openspec explore" or "opsx explore".
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
openspec-propose
.claude/skills/openspec-propose/SKILL.md
Propose a new OpenSpec change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation. Also use when the user says "openspec propose" or "opsx propose".
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
openspec-sync-specs
.claude/skills/openspec-sync-specs/SKILL.md
Sync delta specs from an OpenSpec change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change. Also use when the user says "openspec sync" or "opsx sync".
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
release
.claude/skills/release/SKILL.md
Cuts a Kesha release through release.yml — a stable vX.Y.Z tag, a dispatched beta, or an alpha — and explains the release machinery. One version names the CLI and the Engine. Covers the version bump, the annotated tag, what the run publishes and in what order, how to verify from the registry, re-recording the capability pacts, and recovery. Refuses to auto-run; the maintainer invokes it explicitly.
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
tts-internals
.claude/skills/tts-internals/SKILL.md
Use when working on kesha TTS internals — voice routing and which engine serves which voice-id prefix, Kokoro/Vosk ONNX I/O shapes, the CharsiuG2P vs FluidAudio G2P split, SSML handling, multilingual behaviour (es/fr/it/pt on ONNX, hi/ja/zh on darwin-arm64), or the KESHA_* TTS environment variables. Explains why darwin-arm64 routes differently from every other build.
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
verify-pin-bump
.claude/skills/verify-pin-bump/SKILL.md
Use when a model SHA-256 mismatch surfaces (download_verified errors, manifest_tests failures, a fresh download hashing differently from the rust/src/models/manifest.rs pin, kesha install failing after an update, a KESHA_MODEL_MIRROR swap producing a different hash, or an upstream HuggingFace re-upload). Walks through the safe bump procedure — verify the upstream weights deliberately, then update the pin. Refuses to suggest commenting out verification.
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
kesha-voice-kit
SKILL.md
Local multilingual voice toolkit — speech-to-text (STT), text-to-speech (TTS), speaker diarization, and language detection, over a CLI or an MCP server. Runs entirely offline on Apple Silicon, Linux, and Windows. No API keys, no cloud. NVIDIA Parakeet TDT for STT across 25 European languages, Kokoro-82M + Vosk-TTS for TTS in 9 languages, plus macOS AVSpeechSynthesizer for ~180 system voices with zero install.
SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.
File Inventory
.claude/commands/opsx/apply.md
file
10,930 bytes
0fd00d334af5f182…
.claude/commands/opsx/archive.md
file
17,330 bytes
0c48963c41c06b12…
.claude/commands/opsx/explore.md
file
19,774 bytes
308878c7539da2b8…
.claude/commands/opsx/propose.md
file
15,958 bytes
6cb69de2ff28d549…
.claude/commands/opsx/sync.md
file
15,579 bytes
a946e1a29b7421e1…
.claude/hooks/auto-fmt-rust.sh
file
1,527 bytes
ab9e0435f266edbe…
.claude/hooks/check-new-comments.ts
file
4,710 bytes
ae1490d7b2502172…
.claude/hooks/guard-sha-bump.sh
file
3,871 bytes
21b62bb6a46587d1…
.claude/hooks/stale-root.ts
file
3,570 bytes
bcfc816084952d41…
.claude/rules/ci-and-build.md
file
2,506 bytes
e9449f3704ca6664…
.claude/rules/openclaw-plugin.md
file
392 bytes
d1eaf9a79e0c84a9…
.claude/rules/python.md
file
621 bytes
faf28819415e10ad…
.claude/rules/testing.md
file
3,640 bytes
ff86e174d0579c48…
.claude/settings.json
file
1,940 bytes
e163d37fa9be760b…
.claude/skills/openspec-apply-change/SKILL.md
skill
11,154 bytes
3c80c0da1fa88517…
.claude/skills/openspec-archive-change/SKILL.md
skill
16,583 bytes
ba809cca5c8a5a47…
.claude/skills/openspec-explore/SKILL.md
skill
22,786 bytes
3cb14a5a4f902522…
.claude/skills/openspec-propose/SKILL.md
skill
16,252 bytes
86e623eae73440e9…
.claude/skills/openspec-sync-specs/SKILL.md
skill
15,769 bytes
e8b9509f769e84b7…
.claude/skills/release/SKILL.md
skill
7,883 bytes
50fa5d9a21987b8d…
.claude/skills/tts-internals/SKILL.md
skill
10,235 bytes
dd6f86ee8a5d5fdd…
.claude/skills/verify-pin-bump/SKILL.md
skill
6,482 bytes
5d20b20d23c14a27…
.codex-plugin/plugin.json
plugin-manifest
594 bytes
6575b01b619fcd8d…
.github/actionlint.yaml
file
111 bytes
0d88b06857d6e59d…
.github/actions/install-kesha-backend/action.yml
file
3,409 bytes
cf1c7161ab1a1c90…
.github/actions/linux-packages/action.yml
file
538 bytes
b6b09249fedbaf5f…
.github/actions/prepare-npm-package/action.yml
file
2,503 bytes
699acd44f0316c79…
.github/actions/setup-bun/action.yml
file
891 bytes
055f48cc5af3687e…
.github/actions/setup-kokoro-models/action.yml
file
2,974 bytes
60d95ef8c4cf444a…
.github/actions/setup-rust/action.yml
file
2,420 bytes
1e6b30cc6ecbf06b…
.github/dependabot.yml
file
1,540 bytes
0494b5ba6c613275…
.github/ISSUE_TEMPLATE/bug_report.yml
file
2,277 bytes
d96fab5abb353cf8…
.github/ISSUE_TEMPLATE/config.yml
file
251 bytes
b86db4a2631b288b…
.github/ISSUE_TEMPLATE/install_support.yml
file
2,470 bytes
3ba301097195dc1d…
.github/ISSUE_TEMPLATE/performance.yml
file
2,709 bytes
83e344706ef881e7…
.github/pull_request_template.md
file
624 bytes
8ca257d5215e4d37…
.github/raycast/extension-schema.json
file
30,417 bytes
b069d6e4c761d399…
.github/scripts/alpha-publishable.ts
file
3,091 bytes
e3f27efed1404836…
.github/scripts/alpha-requested.sh
file
1,212 bytes
2df8845672634125…
.github/scripts/alpha-tag.sh
file
1,194 bytes
902fbb8951d1e758…
.github/scripts/assert-coreml-rejected.sh
file
398 bytes
6f453c3a95c7206c…
.github/scripts/assert-cross-os-cache.sh
file
1,805 bytes
ad6d7882bf821c0c…
.github/scripts/assert-install-warmup.ts
file
1,284 bytes
464253a47dd753dd…
.github/scripts/assert-transcript.ts
file
1,239 bytes
63c726cc4a7dbfc0…
.github/scripts/build-linux-packages.mjs
file
1,288 bytes
1f9c4e2baf3aacfc…
.github/scripts/cargo-maintenance-issue.sh
file
3,364 bytes
07a4d9e49038d8e9…
.github/scripts/changed-paths.sh
file
670 bytes
6d6820f50307077b…
.github/scripts/check-coverage.ts
file
6,095 bytes
8933a6ba0cad74db…
.github/scripts/check-engine-targets.ts
file
2,516 bytes
c495b78668f389a0…
.github/scripts/check-file-sizes.ts
file
6,638 bytes
7fdd1a29994363b8…
.github/scripts/check-model-plan-sizes.ts
file
15,728 bytes
2a936464baa49841…
.github/scripts/check-recipes.ts
file
18,094 bytes
e36f73a0f141138a…
.github/scripts/check-release-assets.ts
file
1,795 bytes
f9239437a87375a6…
.github/scripts/check-versions.ts
file
3,728 bytes
7f7ae8263e243ca3…
.github/scripts/check-workflows.ts
file
63,520 bytes
3c2d52c65c1fd0ce…
.github/scripts/coreml-regression.sh
file
754 bytes
4e20df72360a49b0…
.github/scripts/engine-pin.ts
file
4,430 bytes
fa0f73f72675c59d…
.github/scripts/engine-release-notes.d.mts
file
94 bytes
17c17c489531b403…
.github/scripts/engine-release-notes.mjs
file
2,072 bytes
0c1c25001a6a5ff4…
.github/scripts/fetch-pact-model.sh
file
1,362 bytes
fee01c9fcbb87914…
.github/scripts/generate-mini-models.py
file
5,743 bytes
11a8ce1cf0ef39c6…
.github/scripts/greptile-gate.ts
file
4,972 bytes
d72d353d1fb5abd5…
.github/scripts/install-actionlint.sh
file
1,775 bytes
61bcf3db6ea83650…
.github/scripts/install-ffmpeg.sh
file
281 bytes
209191aa72b606ad…
.github/scripts/install-kesha-backend.sh
file
582 bytes
28adf67c2b857daf…
.github/scripts/install-nfpm.sh
file
914 bytes
75aa838e7a35e1f7…
.github/scripts/junit-to-markdown.ts
file
4,968 bytes
085ec4c8058a799f…
.github/scripts/linux-package-names.mjs
file
527 bytes
e6f3e6b57259b545…
.github/scripts/mark-engine-version.ts
file
289 bytes
2d4d84f9b17a328d…
.github/scripts/newest-stable-engine.sh
file
408 bytes
a9408df0a6fbcc6b…
.github/scripts/npm-pack-verify.ts
file
2,251 bytes
6f48b77d5b7b5a74…
.github/scripts/npm-release-metadata.ts
file
2,985 bytes
1326cd2d65438641…
.github/scripts/offline.sh
file
1,476 bytes
26d75234f6ba8eea…
.github/scripts/open-post-release-pr.sh
file
364 bytes
86748231f74a378c…
.github/scripts/post-engine-release.ts
file
10,021 bytes
c1b3a5834e9a480a…
.github/scripts/post-release-guard.ts
file
3,631 bytes
48bf08f93bdf4970…
.github/scripts/prune-alpha-releases.sh
file
786 bytes
ae66b8ddfab33142…
.github/scripts/prune-alpha-releases.ts
file
1,493 bytes
53091704233b3638…
.github/scripts/publish-release.sh
file
746 bytes
43472c7ab64d6670…
.github/scripts/push-annotated-tag.sh
file
649 bytes
070ed76b60769423…
.github/scripts/push-homebrew-tap.sh
file
669 bytes
3cf5ce1f334acd99…
.github/scripts/push-post-release-branch.sh
file
534 bytes
3ff17eb886331c67…
.github/scripts/quickstart-timing.sh
file
741 bytes
61d34dd699fd88dd…
.github/scripts/raycast-lint-rejects-bad-manifest.sh
file
943 bytes
63f72b4725b07e81…
.github/scripts/raycast-lint-rejects-type-error.sh
file
805 bytes
44b408318323e4b3…
.github/scripts/raycast-lint.sh
file
679 bytes
55b2fe26de33ab9b…
.github/scripts/raycast-no-live-fetch.cjs
file
1,306 bytes
e7816a6a62ffefab…
.github/scripts/raycast-schema-drift.sh
file
1,575 bytes
5296fdd8eef9a4e6…
.github/scripts/record-capability-pacts.ts
file
8,557 bytes
480b742d3cfe2a27…
.github/scripts/record-post-release-validation.sh
file
236 bytes
ac6fc87c0c46772d…
.github/scripts/refuse-existing-followup.sh
file
242 bytes
7bb0e5f1e900379c…
.github/scripts/release-checksums.sh
file
385 bytes
53d947deba102320…
.github/scripts/release-classify.ts
file
5,097 bytes
30297d6528f4be14…
.github/scripts/release-install-smoke.sh
file
3,787 bytes
79918319d04defa7…
.github/scripts/release-manifest.mjs
file
6,761 bytes
a38a039879f47f9f…
.github/scripts/release-plan.ts
file
5,075 bytes
356a5b69a4c86714…
.github/scripts/release-tags.d.mts
file
143 bytes
34b22fd617e3f980…
.github/scripts/release-tags.mjs
file
443 bytes
1b4c267e6ed1140a…
.github/scripts/report-bun-audit.sh
file
508 bytes
c79c85dcb1ac60c0…
.github/scripts/report-capability-pact.sh
file
1,159 bytes
c02be9d3e695a8f1…