verbalcoding 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +12 -27
  2. package/app-node/cli_install.test.mjs +15 -0
  3. package/docs/FRESH_INSTALL.md +8 -2
  4. package/docs/assets/figures/verbalcoding-flow.svg +45 -30
  5. package/docs/i18n/CONFIGURATION.es.md +138 -49
  6. package/docs/i18n/CONFIGURATION.fr.md +138 -49
  7. package/docs/i18n/CONFIGURATION.ja.md +137 -48
  8. package/docs/i18n/CONFIGURATION.ko.md +137 -48
  9. package/docs/i18n/CONFIGURATION.ru.md +138 -49
  10. package/docs/i18n/CONFIGURATION.zh.md +137 -48
  11. package/docs/i18n/FRESH_INSTALL.es.md +115 -32
  12. package/docs/i18n/FRESH_INSTALL.fr.md +115 -32
  13. package/docs/i18n/FRESH_INSTALL.ja.md +119 -36
  14. package/docs/i18n/FRESH_INSTALL.ko.md +120 -37
  15. package/docs/i18n/FRESH_INSTALL.ru.md +115 -32
  16. package/docs/i18n/FRESH_INSTALL.zh.md +119 -36
  17. package/docs/i18n/MULTI_INSTANCE.es.md +85 -26
  18. package/docs/i18n/MULTI_INSTANCE.fr.md +85 -26
  19. package/docs/i18n/MULTI_INSTANCE.ja.md +87 -29
  20. package/docs/i18n/MULTI_INSTANCE.ko.md +87 -29
  21. package/docs/i18n/MULTI_INSTANCE.ru.md +84 -26
  22. package/docs/i18n/MULTI_INSTANCE.zh.md +87 -29
  23. package/docs/i18n/README.es.md +109 -45
  24. package/docs/i18n/README.fr.md +109 -45
  25. package/docs/i18n/README.ja.md +109 -45
  26. package/docs/i18n/README.ko.md +108 -45
  27. package/docs/i18n/README.ru.md +109 -45
  28. package/docs/i18n/README.zh.md +108 -45
  29. package/docs/i18n/RELEASE.es.md +53 -37
  30. package/docs/i18n/RELEASE.fr.md +53 -37
  31. package/docs/i18n/RELEASE.ja.md +52 -36
  32. package/docs/i18n/RELEASE.ko.md +52 -36
  33. package/docs/i18n/RELEASE.ru.md +53 -37
  34. package/docs/i18n/RELEASE.zh.md +53 -37
  35. package/docs/i18n/USAGE.es.md +91 -64
  36. package/docs/i18n/USAGE.fr.md +91 -64
  37. package/docs/i18n/USAGE.ja.md +90 -63
  38. package/docs/i18n/USAGE.ko.md +90 -63
  39. package/docs/i18n/USAGE.ru.md +91 -64
  40. package/docs/i18n/USAGE.zh.md +90 -63
  41. package/package.json +1 -1
  42. package/scripts/bootstrap_prereqs.sh +15 -3
  43. package/scripts/cli.mjs +1 -1
  44. package/scripts/doctor.mjs +114 -8
@@ -1,27 +1,48 @@
1
1
  # VerbalCoding
2
2
 
3
- **通过 Discord 语音像打电话一样控制 CLI 编程代理。**
4
-
5
- [English](../../README.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [中文](README.zh.md) · [Español](README.es.md) · [Français](README.fr.md) · [Русский](README.ru.md)
6
-
7
- ![VerbalCoding voice-to-agent flow](../assets/figures/verbalcoding-flow.svg)
8
-
9
- ## Why
10
-
11
- VerbalCoding Discord 语音频道变成编程代理的免手控制界面。说出需求,让 CLI 代理工作,然后收到简洁的语音回复、文本转录和进度事件。
12
-
13
- ## Highlights
14
-
15
- | Feature | What it means |
3
+ <p align="center">
4
+ <strong>通过 Discord 语音与 CLI 编码代理对话——就像给软件工作打一通电话。</strong>
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="README.ko.md">한국어</a> ·
9
+ <a href="README.ja.md">日本語</a> ·
10
+ <a href="README.zh.md">中文</a> ·
11
+ <a href="README.es.md">Español</a> ·
12
+ <a href="README.fr.md">Français</a> ·
13
+ <a href="README.ru.md">Русский</a>
14
+ </p>
15
+
16
+ <p align="center">
17
+ <img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
18
+ <img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
19
+ <img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
20
+ <img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20Supertonic%20%7C%20SpeechSwift-0EA5E9">
21
+ <img alt="Agents" src="https://img.shields.io/badge/Agents-Hermes%20%7C%20Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20OpenCode-111827">
22
+ </p>
23
+
24
+ <p align="center">
25
+ <img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding 语音到代理流程" width="860">
26
+ </p>
27
+
28
+ ## 为什么需要它
29
+
30
+ VerbalCoding 会把 Discord 语音频道变成编码代理的免手动控制面板。说出请求,让你的 CLI 代理执行工作,然后听到简洁的语音回复——同时保留文本转写、进度事件,以及针对嘈杂代码/日志输出的保护机制。
31
+
32
+ ## 亮点
33
+
34
+ | 你能获得什么 | 为什么体验很好 |
16
35
  |---|---|
17
- | Voice-first agent control | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, or a custom CLI harness. |
18
- | Local-first speech loop | Discord voice capture → `whisper.cpp` STTagentchunked TTS playback. |
19
- | Shared voice + text context | Voice turns and `!ask` text commands can reuse the same supported agent session. |
20
- | Barge-in and sensitivity modes | Interrupt playback naturally and switch between normal and conservative/noisy modes. |
21
- | Multilingual voice presets | `vc language ko/en/auto` changes STT, progress language, and TTS voice together. |
22
- | Multi-room project isolation | Run one bot per project room with isolated Hermes profiles, sessions, memory, and logs. |
36
+ | 语音优先的代理控制 | 可以与 Hermes AgentClaude CodeCodexGemini CLIOpenCodeOpenClaw 或任何自定义 CLI 驱动对话。 |
37
+ | 本机语音闭环 | Discord 语音采集本地 `whisper-cli` 转写代理分块 TTS 播放。 |
38
+ | 共享语音 + 文本上下文 | 语音轮次和 `!ask` 文本命令可以复用同一个受支持的代理会话。 |
39
+ | 插话和灵敏度模式 | 可以自然打断播放,并在普通环境与保守/嘈杂环境之间切换。 |
40
+ | 多语言语音预设 | 使用 `vc language ko/en/auto` 同时切换 STT、进度语言和 TTS 声音。 |
41
+ | 多房间项目隔离 | 每个项目房间运行一个机器人,并隔离 Hermes 配置、会话、记忆和日志。 |
23
42
 
24
- ## Quick Start
43
+ ## 快速开始
44
+
45
+ 使用 npm 的最快路径:
25
46
 
26
47
  ```bash
27
48
  npm install -g verbalcoding
@@ -30,7 +51,7 @@ vc doctor
30
51
  vc start
31
52
  ```
32
53
 
33
- Run without a permanent global install:
54
+ 或者无需永久全局安装,直接运行:
34
55
 
35
56
  ```bash
36
57
  npx verbalcoding setup --yes
@@ -38,7 +59,7 @@ vc doctor
38
59
  vc start
39
60
  ```
40
61
 
41
- Contributor clone path:
62
+ 贡献者的 GitHub 克隆路径:
42
63
 
43
64
  ```bash
44
65
  git clone https://github.com/ca1773130n/VerbalCoding.git
@@ -48,38 +69,80 @@ vc doctor
48
69
  ./run.sh
49
70
  ```
50
71
 
51
- `vc setup --yes` and `./scripts/install.sh --yes` bootstrap npm dependencies, `ffmpeg`, `whisper-cli`, the default whisper.cpp model, a local Edge TTS helper, and the short `vc` command where possible.
72
+ `vc setup --yes` 会通过 npm 包内置的安装器引导安装本地前置依赖。`./scripts/install.sh --yes` 只在 GitHub 克隆目录中执行同样的流程。两者都会在可行时处理 Node/npm 依赖、`ffmpeg`、`whisper-cli`、默认 whisper.cpp 模型、本地 `.venv-tts` Edge TTS 辅助环境以及设置向导配置。它们支持 macOS/Homebrew 以及常见 Linux 包管理器(`apt`、`dnf`、`pacman`);如只想安装依赖而不运行向导,可用 `--no-wizard` 重新运行;如果想自行安装 OS 软件包,可用 `--skip-system`。
73
+
74
+ 需要干净安装演练?从[全新安装](FRESH_INSTALL.zh.md)开始。
75
+
76
+ ## 支持的代理后端
52
77
 
53
- ## Guides
78
+ | 后端 | 默认命令 | 会话支持 |
79
+ |---|---:|---|
80
+ | Hermes Agent | `hermes chat -Q -q` | 恢复、详细进度、取消、最终答案恢复 |
81
+ | Claude Code | `claude -p` | 通过适配器默认值支持 CLI 会话文件 |
82
+ | Codex CLI | `codex exec` | 通过适配器默认值支持 CLI 会话文件 |
83
+ | Gemini CLI | `gemini -p` | 通过适配器默认值支持 CLI 会话文件 |
84
+ | OpenCode | `opencode run` | 通过适配器默认值支持 CLI 会话文件 |
85
+ | OpenClaw | `openclaw run` | 通过适配器默认值支持 CLI 会话文件 |
86
+ | Custom | `AGENT_COMMAND` | 自带非交互式命令 |
54
87
 
55
- | Guide | Link |
88
+ ## 了解更多
89
+
90
+ | 指南 | 你能获得什么 |
56
91
  |---|---|
57
- | 全新安装 | [FRESH_INSTALL.zh.md](FRESH_INSTALL.zh.md) |
58
- | 使用指南 | [USAGE.zh.md](USAGE.zh.md) |
59
- | 配置 | [CONFIGURATION.zh.md](CONFIGURATION.zh.md) |
60
- | 多实例 | [MULTI_INSTANCE.zh.md](MULTI_INSTANCE.zh.md) |
61
- | 发布说明 | [RELEASE.zh.md](RELEASE.zh.md) |
92
+ | [全新安装](FRESH_INSTALL.zh.md) | 干净克隆设置、模型下载、首次运行 |
93
+ | [使用指南](USAGE.zh.md) | CLI 命令、Discord 命令、进度模式、延迟指标 |
94
+ | [配置](CONFIGURATION.zh.md) | `.env`、代理后端、MCP、TTS 后端、运维说明 |
95
+ | [多实例](MULTI_INSTANCE.zh.md) | 每个项目一个长期 Discord 语音房间 |
96
+ | [发行说明](RELEASE.zh.md) | 当前能力和预发布检查清单 |
62
97
 
63
- ## Command map
98
+ ## 精简命令地图
64
99
 
65
100
  ```bash
66
- vc status
67
- vc language ko|en|auto
68
- vc bot invite CLIENT_ID
69
- vc instance setup NAME
70
- vc instance start NAME
71
- vc doctor
72
- vc start
101
+ vc status # 当前语言、TTS 和桥接设置
102
+ vc language ko|en|auto # 切换 STT/进度/TTS 语言预设
103
+ vc bot invite CLIENT_ID # 生成 Discord 机器人邀请 URL
104
+ vc instance setup NAME # 创建隔离的项目语音机器人
105
+ vc instance start NAME # 在后台运行该机器人
106
+ vc doctor # 脱敏健康检查
107
+ vc start # 启动默认桥接
73
108
  ```
74
109
 
75
- Discord commands:
110
+ Discord 中:
111
+
112
+ | 命令 | 作用 |
113
+ |---|---|
114
+ | `!join` | 加入你当前的语音频道。 |
115
+ | `!ask <prompt>` | 将文本发送给同一个代理后端。 |
116
+ | `!verbose on\|off` | 显示/朗读简短进度更新。 |
117
+ | `!latency` | 汇总最近的语音/STT/代理/TTS 延迟。 |
118
+ | `!sensitivity normal` | 使用普通室内插话灵敏度。 |
119
+ | `!sensitivity conservative` | 使用更严格的嘈杂/户外灵敏度。 |
120
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | 将项目会话绑定到语音房间。 |
121
+
122
+ ## 要求
123
+
124
+ | 层 | 默认值 |
125
+ |---|---|
126
+ | 运行时 | Node.js 20+、npm;安装脚本可通过 Homebrew/apt/dnf/pacman 安装 |
127
+ | 音频 | `ffmpeg`;安装脚本可安装它 |
128
+ | 语音识别 | 来自 whisper.cpp 的本地 `whisper-cli`;安装脚本在 macOS 使用 Homebrew,在 Linux 使用本地构建回退 |
129
+ | TTS | Edge TTS CLI;安装脚本会在需要时创建 `.venv-tts` |
130
+ | Discord | 机器人令牌、Message Content intent、语音权限 |
131
+ | 代理 | 至少一个已认证的 CLI 驱动,默认是 Hermes Agent |
132
+ | 平台重点 | macOS / Apple Silicon 测试最多;Linux 引导为尽力支持并已文档化 |
133
+
134
+ ## 贡献
135
+
136
+ 提交更改前运行轻量检查:
76
137
 
77
- ```text
78
- !join !ask <prompt> !verbose on/off
79
- !latency !sensitivity normal !sensitivity conservative
80
- !session new <name> <workdir> [context] --voice <voice-channel>
138
+ ```bash
139
+ node --check app-node/main.mjs
140
+ npm test
141
+ bash -n run.sh scripts/install.sh
142
+ npm pack --dry-run
143
+ vc doctor
81
144
  ```
82
145
 
83
- ## Requirements
146
+ ## 状态
84
147
 
85
- Node.js 20+, npm, `ffmpeg`, `whisper.cpp` / `whisper-cli`, Edge TTS CLI, a Discord bot token with Message Content intent and voice permissions, and at least one authenticated CLI agent backend.
148
+ VerbalCoding 面向公开发布,但仍处于早期阶段。演示视频/GIF、更广泛的 Linux 验证、CI,以及更深入的安全审查仍在 TODO 中。
@@ -1,58 +1,74 @@
1
- # VerbalCoding Notas de versión
1
+ # Notas de versión de VerbalCoding
2
2
 
3
- ## Current release candidate
3
+ ## Candidato de lanzamiento actual
4
4
 
5
- VerbalCoding is a Discord voice bridge for controlling CLI-based coding agents by voice. macOS / Apple Silicon is the most tested path; Linux bootstrap is best-effort for common package managers.
5
+ VerbalCoding es un puente de voz de Discord para controlar por voz agentes de programación basados en CLI. Está orientado al lanzamiento público, con macOS / Apple Silicon como la ruta más probada y soporte de arranque de mejor esfuerzo en Linux para administradores de paquetes comunes.
6
6
 
7
- ## Included
7
+ ### Incluido
8
8
 
9
- - Discord voice receive via Node `@discordjs/voice`.
10
- - Local Korean STT via `whisper.cpp` + Metal.
11
- - Edge TTS playback with Korean default voice.
12
- - Generic CLI harness adapter layer: Hermes Agent, Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw, or custom command.
13
- - Shared voice/text session support for Hermes backend.
14
- - Long-answer TTS chunking and responsive barge-in.
15
- - Diff/code/log guardrails so large technical output is not read aloud.
16
- - Normal and conservative sensitivity modes.
17
- - Setup wizard, `.env.example`, `vc doctor`, `./scripts/install.sh --yes`, and npm install path.
18
- - `npm install -g verbalcoding`, `vc setup --yes`, and `vc start`.
19
- - Verbose progress mode, JSONL latency metrics, and `!latency` / `!metrics`.
20
- - `UTTERANCE_IDLE_MS=4500` for long spoken instructions with natural pauses.
21
- - Multi-instance Hermes profile isolation via `vc instance setup <name>` and `HERMES_HOME`.
9
+ - Recepción de voz de Discord mediante Node `@discordjs/voice`.
10
+ - STT local en coreano mediante `whisper.cpp` + Metal.
11
+ - Reproducción Edge TTS con voz coreana predeterminada.
12
+ - Capa genérica de adaptador para arneses CLI:
13
+ - Hermes Agent
14
+ - Claude Code
15
+ - Codex CLI
16
+ - Gemini CLI
17
+ - OpenCode
18
+ - OpenClaw
19
+ - comando personalizado
20
+ - Soporte de sesión compartida de voz/texto para el backend Hermes.
21
+ - Fragmentación TTS de respuestas largas e interrupción receptiva.
22
+ - Protecciones para diff/código/registros para que las salidas técnicas grandes no se lean en voz alta.
23
+ - Modos de sensibilidad normal y conservador para uso en interiores frente a uso ruidoso/exterior.
24
+ - Asistente de configuración, `.env.example`, comprobador de prerrequisitos `vc doctor` y arranque `./scripts/install.sh --yes` para paquetes del SO, dependencias npm, asistente de Edge TTS y el modelo predeterminado de whisper.cpp.
25
+ - Ruta de instalación del paquete npm: `npm install -g verbalcoding`, `vc setup --yes` y `vc start`.
26
+ - Modo opcional de progreso detallado para actualizaciones intermedias solo de texto durante trabajos largos del agente.
27
+ - Métricas de latencia JSONL siempre activas más resumen `!latency` / `!metrics` para optimización del pipeline.
28
+ - Espera de inactividad de emisión más paciente (`UTTERANCE_IDLE_MS=4500`) para que las instrucciones habladas largas con pausas naturales no se dividan en un prompt parcial más habla durante procesamiento ignorada.
29
+ - Aislamiento de perfiles Hermes multiinstancia: `vc instance setup <name>` clona automáticamente un perfil Hermes a `~/.hermes/profiles/<name>` con el workdir de la instancia, inicializa SOUL.md y escribe `HERMES_HOME` en el env de la instancia para mantener separadas la memoria y las skills por proyecto; `vc instance start` autorepara un perfil faltante, y `vc doctor` comprueba la presencia del directorio de perfil y la consistencia de `terminal.cwd`.
22
30
 
23
- ## Pre-release checklist
31
+ ### Lista de verificación previa al lanzamiento
32
+
33
+ Ejecuta desde la raíz del repositorio:
24
34
 
25
35
  ```bash
26
36
  ./scripts/install.sh --yes --no-wizard
27
- ./scripts/docker_ubuntu_smoke.sh
37
+ ./scripts/docker_ubuntu_smoke.sh # requires Docker; validates ubuntu:24.04 clean install
28
38
  node --check app-node/main.mjs app-node/agent_adapters.mjs app-node/install_config.mjs scripts/install.mjs
29
39
  npm test
30
- PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest tests/ -q || [ $? -eq 5 ]
40
+ PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest tests/ -q || [ $? -eq 5 ] # ok when no Python tests exist
31
41
  bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh scripts/docker_ubuntu_smoke.sh
32
42
  npm pack --dry-run
33
43
  vc doctor
34
44
  git diff --check
35
45
  ```
36
46
 
37
- Manual smoke test:
47
+ Prueba manual rápida:
48
+
49
+ 1. Inicia el puente con `vc start` o `./run.sh`.
50
+ 2. Verifica que el registro contenga `Logged in as <bot-name>`.
51
+ 3. Verifica que el registro contenga `Listening in voice channel ... / 일반` o el canal predeterminado configurado.
52
+ 4. En Discord, ejecuta `!ping`.
53
+ 5. En voz de Discord, di una solicitud corta en coreano.
54
+ 6. Verifica transcripción STT, respuesta del agente, reproducción TTS y comportamiento de interrupción.
38
55
 
39
- 1. Start the bridge with `vc start` or `./run.sh`.
40
- 2. Verify `Logged in as <bot-name>`.
41
- 3. Verify `Listening in voice channel ...`.
42
- 4. In Discord, run `!ping`.
43
- 5. Say a short Korean request in voice.
44
- 6. Verify STT transcript, agent response, TTS playback, and barge-in.
56
+ ### Requisitos conocidos
45
57
 
46
- ## Known requirements
58
+ - macOS con Homebrew, o Linux con `apt`, `dnf` o `pacman` para arranque de mejor esfuerzo.
59
+ - `ffmpeg`; el instalador intenta instalarlo.
60
+ - `whisper-cli`; el instalador usa Homebrew en macOS o una compilación local alternativa de `vendor/whisper.cpp` en Linux.
61
+ - Modelo predeterminado en `models/ggml-small-q5_1.bin`; el instalador lo descarga salvo que se use `--skip-model`.
62
+ - CLI de Edge TTS en `PATH` o `.venv-tts/bin/edge-tts` local; el instalador crea el asistente local cuando hace falta.
63
+ - Token de bot de Discord en `.env`, `instances/<name>.env`, `~/.zshrc` o env de runtime.
64
+ - Arnés CLI seleccionado instalado y autenticado.
47
65
 
48
- - macOS with Homebrew, or Linux with `apt`, `dnf`, or `pacman`.
49
- - `ffmpeg`.
50
- - `whisper-cli`.
51
- - `models/ggml-small-q5_1.bin`.
52
- - Edge TTS CLI or `.venv-tts/bin/edge-tts`.
53
- - Discord bot token in `.env`, `instances/<name>.env`, `~/.zshrc`, or runtime env.
54
- - Selected CLI harness installed and authenticated.
66
+ ### Aún no listo para lanzamiento público
55
67
 
56
- ## Not for public release yet
68
+ Antes del lanzamiento público, considera añadir:
57
69
 
58
- Consider adding GitHub Actions CI, demo video/GIF, Discord bot setup screenshots, broader real Linux validation, and security review of logging paths.
70
+ - CI de GitHub Actions.
71
+ - Video / GIF de demostración.
72
+ - Capturas de pantalla de configuración de bot de Discord.
73
+ - Validación más amplia en distribuciones Linux reales más allá de comprobaciones a nivel de script.
74
+ - Revisión de seguridad de todas las rutas de registro.
@@ -1,58 +1,74 @@
1
- # VerbalCoding Notes de version
1
+ # Notes de version de VerbalCoding
2
2
 
3
- ## Current release candidate
3
+ ## Candidat de version actuel
4
4
 
5
- VerbalCoding is a Discord voice bridge for controlling CLI-based coding agents by voice. macOS / Apple Silicon is the most tested path; Linux bootstrap is best-effort for common package managers.
5
+ VerbalCoding est une passerelle vocale Discord pour contrôler par la voix des agents de codage basés sur CLI. Il vise une publication publique, avec macOS / Apple Silicon comme chemin le plus testé et une prise en charge d'amorçage Linux au mieux pour les gestionnaires de paquets courants.
6
6
 
7
- ## Included
7
+ ### Inclus
8
8
 
9
- - Discord voice receive via Node `@discordjs/voice`.
10
- - Local Korean STT via `whisper.cpp` + Metal.
11
- - Edge TTS playback with Korean default voice.
12
- - Generic CLI harness adapter layer: Hermes Agent, Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw, or custom command.
13
- - Shared voice/text session support for Hermes backend.
14
- - Long-answer TTS chunking and responsive barge-in.
15
- - Diff/code/log guardrails so large technical output is not read aloud.
16
- - Normal and conservative sensitivity modes.
17
- - Setup wizard, `.env.example`, `vc doctor`, `./scripts/install.sh --yes`, and npm install path.
18
- - `npm install -g verbalcoding`, `vc setup --yes`, and `vc start`.
19
- - Verbose progress mode, JSONL latency metrics, and `!latency` / `!metrics`.
20
- - `UTTERANCE_IDLE_MS=4500` for long spoken instructions with natural pauses.
21
- - Multi-instance Hermes profile isolation via `vc instance setup <name>` and `HERMES_HOME`.
9
+ - Réception vocale Discord via Node `@discordjs/voice`.
10
+ - STT coréen local via `whisper.cpp` + Metal.
11
+ - Lecture Edge TTS avec voix coréenne par défaut.
12
+ - Couche générique d'adaptateur de harnais CLI :
13
+ - Hermes Agent
14
+ - Claude Code
15
+ - Codex CLI
16
+ - Gemini CLI
17
+ - OpenCode
18
+ - OpenClaw
19
+ - commande personnalisée
20
+ - Prise en charge de session voix/texte partagée pour le backend Hermes.
21
+ - Découpage TTS des longues réponses et interruption réactive.
22
+ - Garde-fous diff/code/journaux pour que les grandes sorties techniques ne soient pas lues à voix haute.
23
+ - Modes de sensibilité normal et conservateur pour usage intérieur vs bruyant/extérieur.
24
+ - Assistant de configuration, `.env.example`, vérificateur de prérequis `vc doctor` et amorçage `./scripts/install.sh --yes` pour les paquets OS, les dépendances npm, l'assistant Edge TTS et le modèle whisper.cpp par défaut.
25
+ - Chemin d'installation par paquet npm : `npm install -g verbalcoding`, `vc setup --yes` et `vc start`.
26
+ - Mode de progression détaillée facultatif pour les mises à jour textuelles d'étapes intermédiaires pendant les longs travaux d'agent.
27
+ - Métriques de latence JSONL toujours actives plus résumé `!latency` / `!metrics` pour l'optimisation du pipeline.
28
+ - Attente d'inactivité d'énonciation plus patiente (`UTTERANCE_IDLE_MS=4500`) afin que les longues instructions parlées avec pauses naturelles ne soient pas coupées en prompt partiel plus parole ignorée pendant le traitement.
29
+ - Isolation multi-instance des profils Hermes : `vc instance setup <name>` clone automatiquement un profil Hermes vers `~/.hermes/profiles/<name>` avec le workdir de l'instance, initialise SOUL.md et écrit `HERMES_HOME` dans l'env de l'instance afin que la mémoire et les skills par projet restent séparés ; `vc instance start` répare automatiquement un profil manquant, et `vc doctor` vérifie la présence du répertoire de profil et la cohérence de `terminal.cwd`.
22
30
 
23
- ## Pre-release checklist
31
+ ### Checklist de pré-version
32
+
33
+ Exécutez depuis la racine du dépôt :
24
34
 
25
35
  ```bash
26
36
  ./scripts/install.sh --yes --no-wizard
27
- ./scripts/docker_ubuntu_smoke.sh
37
+ ./scripts/docker_ubuntu_smoke.sh # requires Docker; validates ubuntu:24.04 clean install
28
38
  node --check app-node/main.mjs app-node/agent_adapters.mjs app-node/install_config.mjs scripts/install.mjs
29
39
  npm test
30
- PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest tests/ -q || [ $? -eq 5 ]
40
+ PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest tests/ -q || [ $? -eq 5 ] # ok when no Python tests exist
31
41
  bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh scripts/docker_ubuntu_smoke.sh
32
42
  npm pack --dry-run
33
43
  vc doctor
34
44
  git diff --check
35
45
  ```
36
46
 
37
- Manual smoke test:
47
+ Smoke test manuel :
48
+
49
+ 1. Démarrez la passerelle avec `vc start` ou `./run.sh`.
50
+ 2. Vérifiez que le journal contient `Logged in as <bot-name>`.
51
+ 3. Vérifiez que le journal contient `Listening in voice channel ... / 일반` ou le salon par défaut configuré.
52
+ 4. Dans Discord, exécutez `!ping`.
53
+ 5. Dans la voix Discord, dites une courte demande en coréen.
54
+ 6. Vérifiez la transcription STT, la réponse de l'agent, la lecture TTS et le comportement d'interruption.
38
55
 
39
- 1. Start the bridge with `vc start` or `./run.sh`.
40
- 2. Verify `Logged in as <bot-name>`.
41
- 3. Verify `Listening in voice channel ...`.
42
- 4. In Discord, run `!ping`.
43
- 5. Say a short Korean request in voice.
44
- 6. Verify STT transcript, agent response, TTS playback, and barge-in.
56
+ ### Exigences connues
45
57
 
46
- ## Known requirements
58
+ - macOS avec Homebrew, ou Linux avec `apt`, `dnf` ou `pacman` pour l'amorçage au mieux.
59
+ - `ffmpeg` ; l'installateur tente de l'installer.
60
+ - `whisper-cli` ; l'installateur utilise Homebrew sur macOS ou un fallback de build local `vendor/whisper.cpp` sur Linux.
61
+ - Modèle par défaut à `models/ggml-small-q5_1.bin` ; l'installateur le télécharge sauf si `--skip-model` est utilisé.
62
+ - CLI Edge TTS dans `PATH` ou `.venv-tts/bin/edge-tts` local ; l'installateur crée l'assistant local si nécessaire.
63
+ - Jeton de bot Discord dans `.env`, `instances/<name>.env`, `~/.zshrc` ou l'env d'exécution.
64
+ - Harnais CLI sélectionné installé et authentifié.
47
65
 
48
- - macOS with Homebrew, or Linux with `apt`, `dnf`, or `pacman`.
49
- - `ffmpeg`.
50
- - `whisper-cli`.
51
- - `models/ggml-small-q5_1.bin`.
52
- - Edge TTS CLI or `.venv-tts/bin/edge-tts`.
53
- - Discord bot token in `.env`, `instances/<name>.env`, `~/.zshrc`, or runtime env.
54
- - Selected CLI harness installed and authenticated.
66
+ ### Pas encore prêt pour la publication publique
55
67
 
56
- ## Not for public release yet
68
+ Avant la publication publique, envisagez d'ajouter :
57
69
 
58
- Consider adding GitHub Actions CI, demo video/GIF, Discord bot setup screenshots, broader real Linux validation, and security review of logging paths.
70
+ - CI GitHub Actions.
71
+ - Vidéo / GIF de démonstration.
72
+ - Captures d'écran de configuration du bot Discord.
73
+ - Validation Linux plus large sur de vraies distributions au-delà des contrôles au niveau des scripts.
74
+ - Revue de sécurité de tous les chemins de journalisation.
@@ -1,58 +1,74 @@
1
1
  # VerbalCoding リリースノート
2
2
 
3
- ## Current release candidate
3
+ ## 現在のリリース候補
4
4
 
5
- VerbalCoding is a Discord voice bridge for controlling CLI-based coding agents by voice. macOS / Apple Silicon is the most tested path; Linux bootstrap is best-effort for common package managers.
5
+ VerbalCoding は、CLI ベースのコーディングエージェントを音声で操作するための Discord 音声ブリッジです。公開リリースを意識しており、最も検証されている経路は macOS / Apple Silicon です。一般的なパッケージマネージャー向けに、Linux のベストエフォートなブートストラップもサポートしています。
6
6
 
7
- ## Included
7
+ ### 含まれるもの
8
8
 
9
- - Discord voice receive via Node `@discordjs/voice`.
10
- - Local Korean STT via `whisper.cpp` + Metal.
11
- - Edge TTS playback with Korean default voice.
12
- - Generic CLI harness adapter layer: Hermes Agent, Claude Code, Codex CLI, Gemini CLI, OpenCode, OpenClaw, or custom command.
13
- - Shared voice/text session support for Hermes backend.
14
- - Long-answer TTS chunking and responsive barge-in.
15
- - Diff/code/log guardrails so large technical output is not read aloud.
16
- - Normal and conservative sensitivity modes.
17
- - Setup wizard, `.env.example`, `vc doctor`, `./scripts/install.sh --yes`, and npm install path.
18
- - `npm install -g verbalcoding`, `vc setup --yes`, and `vc start`.
19
- - Verbose progress mode, JSONL latency metrics, and `!latency` / `!metrics`.
20
- - `UTTERANCE_IDLE_MS=4500` for long spoken instructions with natural pauses.
21
- - Multi-instance Hermes profile isolation via `vc instance setup <name>` and `HERMES_HOME`.
9
+ - Node `@discordjs/voice` による Discord 音声受信。
10
+ - `whisper.cpp` + Metal によるローカル韓国語 STT。
11
+ - 韓国語デフォルト音声による Edge TTS 再生。
12
+ - 汎用 CLI ハーネスアダプターレイヤー:
13
+ - Hermes Agent
14
+ - Claude Code
15
+ - Codex CLI
16
+ - Gemini CLI
17
+ - OpenCode
18
+ - OpenClaw
19
+ - カスタムコマンド
20
+ - Hermes バックエンド向けの共有音声/テキストセッション対応。
21
+ - 長い回答の TTS 分割と応答性の高い割り込み発話。
22
+ - 大きな技術出力を読み上げないための diff/code/log ガードレール。
23
+ - 屋内利用と騒音/屋外利用向けの通常および保守的な感度モード。
24
+ - セットアップウィザード、`.env.example`、`vc doctor` 前提条件チェッカー、OS パッケージ、npm 依存関係、Edge TTS ヘルパー、デフォルト whisper.cpp モデルをブートストラップする `./scripts/install.sh --yes`。
25
+ - npm パッケージのインストール手順: `npm install -g verbalcoding`、`vc setup --yes`、`vc start`。
26
+ - 長いエージェント作業中に、テキストのみの中間ステップ更新を出す任意の詳細進捗モード。
27
+ - パイプライン最適化のための常時オン JSONL レイテンシ指標と、`!latency` / `!metrics` 要約。
28
+ - より余裕のある発話アイドル待ち(`UTTERANCE_IDLE_MS=4500`)。自然な間を含む長い音声指示が、部分プロンプトと無視される処理中発話に分割されないようにします。
29
+ - マルチインスタンス Hermes プロファイル分離: `vc instance setup <name>` は、インスタンス作業ディレクトリ付きで Hermes プロファイルを `~/.hermes/profiles/<name>` に自動複製し、SOUL.md を初期化し、インスタンス env に `HERMES_HOME` を書き込みます。これによりプロジェクトごとのメモリとスキルを分離できます。`vc instance start` は欠落したプロファイルを自己修復し、`vc doctor` はプロファイルディレクトリの存在と `terminal.cwd` の整合性を確認します。
22
30
 
23
- ## Pre-release checklist
31
+ ### プレリリースチェックリスト
32
+
33
+ リポジトリルートから実行してください:
24
34
 
25
35
  ```bash
26
36
  ./scripts/install.sh --yes --no-wizard
27
- ./scripts/docker_ubuntu_smoke.sh
37
+ ./scripts/docker_ubuntu_smoke.sh # Docker が必要。ubuntu:24.04 のクリーンインストールを検証
28
38
  node --check app-node/main.mjs app-node/agent_adapters.mjs app-node/install_config.mjs scripts/install.mjs
29
39
  npm test
30
- PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest tests/ -q || [ $? -eq 5 ]
40
+ PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest tests/ -q || [ $? -eq 5 ] # Python テストが存在しない場合は OK
31
41
  bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh scripts/docker_ubuntu_smoke.sh
32
42
  npm pack --dry-run
33
43
  vc doctor
34
44
  git diff --check
35
45
  ```
36
46
 
37
- Manual smoke test:
47
+ 手動スモークテスト:
48
+
49
+ 1. `vc start` または `./run.sh` でブリッジを起動します。
50
+ 2. ログに `Logged in as <bot-name>` が含まれることを確認します。
51
+ 3. ログに `Listening in voice channel ... / 일반` または設定済みのデフォルトチャンネルが含まれることを確認します。
52
+ 4. Discord で `!ping` を実行します。
53
+ 5. Discord 音声で短い韓国語リクエストを話します。
54
+ 6. STT 文字起こし、エージェント応答、TTS 再生、割り込み発話の動作を確認します。
38
55
 
39
- 1. Start the bridge with `vc start` or `./run.sh`.
40
- 2. Verify `Logged in as <bot-name>`.
41
- 3. Verify `Listening in voice channel ...`.
42
- 4. In Discord, run `!ping`.
43
- 5. Say a short Korean request in voice.
44
- 6. Verify STT transcript, agent response, TTS playback, and barge-in.
56
+ ### 既知の要件
45
57
 
46
- ## Known requirements
58
+ - ベストエフォートのブートストラップには、Homebrew 付き macOS、または `apt`、`dnf`、`pacman` 付き Linux が必要です。
59
+ - `ffmpeg`。インストーラーはこれのインストールを試みます。
60
+ - `whisper-cli`。インストーラーは macOS では Homebrew、Linux ではローカル `vendor/whisper.cpp` ビルドのフォールバックを使います。
61
+ - `models/ggml-small-q5_1.bin` にあるデフォルトモデル。`--skip-model` を使わない限り、インストーラーがダウンロードします。
62
+ - `PATH` 上の Edge TTS CLI、またはローカル `.venv-tts/bin/edge-tts`。必要な場合、インストーラーがローカルヘルパーを作成します。
63
+ - `.env`、`instances/<name>.env`、`~/.zshrc`、または実行時 env 内の Discord ボットトークン。
64
+ - 選択した CLI ハーネスがインストール済みで認証済みであること。
47
65
 
48
- - macOS with Homebrew, or Linux with `apt`, `dnf`, or `pacman`.
49
- - `ffmpeg`.
50
- - `whisper-cli`.
51
- - `models/ggml-small-q5_1.bin`.
52
- - Edge TTS CLI or `.venv-tts/bin/edge-tts`.
53
- - Discord bot token in `.env`, `instances/<name>.env`, `~/.zshrc`, or runtime env.
54
- - Selected CLI harness installed and authenticated.
66
+ ### まだ公開リリース向けではないもの
55
67
 
56
- ## Not for public release yet
68
+ 公開リリース前に、次の追加を検討してください:
57
69
 
58
- Consider adding GitHub Actions CI, demo video/GIF, Discord bot setup screenshots, broader real Linux validation, and security review of logging paths.
70
+ - GitHub Actions CI
71
+ - デモ動画 / GIF。
72
+ - Discord ボットセットアップのスクリーンショット。
73
+ - スクリプトレベルのチェックを超えた、実ディストリビューション上でのより広範な Linux 検証。
74
+ - すべてのログパスのセキュリティレビュー。