verbalcoding 0.2.7 → 0.2.9

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 (46) hide show
  1. package/README.md +12 -27
  2. package/app-node/cli_install.test.mjs +32 -0
  3. package/app-node/install_config.mjs +10 -0
  4. package/docs/FRESH_INSTALL.md +8 -2
  5. package/docs/assets/figures/verbalcoding-flow.svg +45 -30
  6. package/docs/i18n/CONFIGURATION.es.md +138 -49
  7. package/docs/i18n/CONFIGURATION.fr.md +138 -49
  8. package/docs/i18n/CONFIGURATION.ja.md +137 -48
  9. package/docs/i18n/CONFIGURATION.ko.md +137 -48
  10. package/docs/i18n/CONFIGURATION.ru.md +138 -49
  11. package/docs/i18n/CONFIGURATION.zh.md +137 -48
  12. package/docs/i18n/FRESH_INSTALL.es.md +115 -32
  13. package/docs/i18n/FRESH_INSTALL.fr.md +115 -32
  14. package/docs/i18n/FRESH_INSTALL.ja.md +119 -36
  15. package/docs/i18n/FRESH_INSTALL.ko.md +120 -37
  16. package/docs/i18n/FRESH_INSTALL.ru.md +115 -32
  17. package/docs/i18n/FRESH_INSTALL.zh.md +119 -36
  18. package/docs/i18n/MULTI_INSTANCE.es.md +85 -26
  19. package/docs/i18n/MULTI_INSTANCE.fr.md +85 -26
  20. package/docs/i18n/MULTI_INSTANCE.ja.md +87 -29
  21. package/docs/i18n/MULTI_INSTANCE.ko.md +87 -29
  22. package/docs/i18n/MULTI_INSTANCE.ru.md +84 -26
  23. package/docs/i18n/MULTI_INSTANCE.zh.md +87 -29
  24. package/docs/i18n/README.es.md +109 -45
  25. package/docs/i18n/README.fr.md +109 -45
  26. package/docs/i18n/README.ja.md +109 -45
  27. package/docs/i18n/README.ko.md +108 -45
  28. package/docs/i18n/README.ru.md +109 -45
  29. package/docs/i18n/README.zh.md +108 -45
  30. package/docs/i18n/RELEASE.es.md +53 -37
  31. package/docs/i18n/RELEASE.fr.md +53 -37
  32. package/docs/i18n/RELEASE.ja.md +52 -36
  33. package/docs/i18n/RELEASE.ko.md +52 -36
  34. package/docs/i18n/RELEASE.ru.md +53 -37
  35. package/docs/i18n/RELEASE.zh.md +53 -37
  36. package/docs/i18n/USAGE.es.md +91 -64
  37. package/docs/i18n/USAGE.fr.md +91 -64
  38. package/docs/i18n/USAGE.ja.md +90 -63
  39. package/docs/i18n/USAGE.ko.md +90 -63
  40. package/docs/i18n/USAGE.ru.md +91 -64
  41. package/docs/i18n/USAGE.zh.md +90 -63
  42. package/package.json +1 -1
  43. package/scripts/bootstrap_prereqs.sh +15 -3
  44. package/scripts/cli.mjs +1 -1
  45. package/scripts/doctor.mjs +173 -8
  46. package/scripts/install.mjs +2 -0
@@ -1,50 +1,64 @@
1
- # VerbalCoding 多实例
1
+ # 多实例 VerbalCoding
2
2
 
3
- VerbalCoding can run multiple independent Discord voice bridge processes. Each process loads a different `instances/<name>.env` file and uses a different Discord bot token.
3
+ VerbalCoding 可以运行多个相互独立的 Discord 语音桥接进程。每个进程仍然是现有的单实例 Node 桥接,但会加载不同的 `instances/<name>.env` 文件,并使用不同的 Discord 机器人令牌。
4
4
 
5
- Use this when each project should permanently occupy its own Discord voice channel and write to its own transcript channel/thread.
5
+ 当每个项目都应长期占用自己的 Discord 语音频道,并写入自己的转写频道/thread 时,请使用此模式。
6
6
 
7
- ## Why multiple bot tokens are required
7
+ ## 为什么需要多个机器人令牌
8
8
 
9
- Discord voice residency is effectively one active voice connection per bot account per guild. For simultaneous project rooms, create one Discord application/bot per project.
9
+ Discord 语音驻留实际上是每个机器人账号在每个 guild 中只能有一个活动语音连接。如果一个机器人令牌加入同一 guild 中的另一个语音频道,它就无法同时永久保持连接到先前的频道。若要同时使用多个项目房间,请为每个项目创建一个 Discord 应用/机器人。
10
10
 
11
- ## File layout
11
+ ## 文件布局
12
12
 
13
13
  ```text
14
14
  instances/
15
15
  README.md
16
16
  example.env
17
- llm-wiki.env # local only, ignored by git
18
- verbalcoding.env # local only, ignored by git
17
+ llm-wiki.env # 仅本地,git 忽略
18
+ verbalcoding.env # 仅本地,git 忽略
19
19
  .run/instances/
20
- llm-wiki.pid # runtime only, ignored by git
20
+ llm-wiki.pid # 仅运行时,git 忽略
21
21
  ```
22
22
 
23
- Real `instances/*.env` files are ignored because they may contain Discord tokens.
23
+ 真实的 `instances/*.env` 文件会被忽略,因为它们可能包含 Discord 令牌。`instances/example.env` 是已提交的模板。
24
24
 
25
- ## Instance setup wizard
25
+ ## 实例设置向导
26
+
27
+ 正常使用时,用户不应复制并手动编辑 env 文件。请运行向导:
26
28
 
27
29
  ```bash
28
30
  vc instance setup llm-wiki
31
+ # 或通过项目设置脚本:
29
32
  ./scripts/install.sh --instance llm-wiki
30
33
  ```
31
34
 
32
- The wizard asks for bot token, Discord Application/Client ID, voice channel, transcript target, workdir, project context, and isolated runtime paths. It writes `instances/<name>.env` with mode `0600` and backs up an existing file.
35
+ 向导会提示输入机器人令牌、Discord Application/Client ID、语音频道、转写目标、workdir、项目上下文和隔离的运行时路径。它会以 `0600` 模式写入 `instances/<name>.env`,在覆盖现有文件前先备份,并打印下一步 start/status 命令。
33
36
 
34
- Generate invite URLs with:
37
+ 如果你在设置期间输入 Discord Application/Client ID,摘要也会打印该机器人的邀请 URL。你可以随时用以下命令生成同一 URL:
35
38
 
36
39
  ```bash
37
40
  vc bot invite <client-id>
38
41
  vc bot invite <client-id> --guild <guild-id>
39
42
  ```
40
43
 
41
- ## Hermes profile isolation
44
+ Discord 仍然要求每个同时存在的语音房间都有一个 Developer Portal 应用/机器人,但这可以避免手动构造 OAuth URL 或权限整数。
45
+
46
+ ### Hermes profile 隔离
47
+
48
+ 每个实例都会在 `~/.hermes/profiles/<name>` 获得自己的 Hermes home,因此 memory、MEMORY.md、SOUL.md 和已学习 skills 不会在项目之间泄漏。
49
+
50
+ `vc instance setup <name>` 会自动:
42
51
 
43
- Each instance gets its own Hermes home at `~/.hermes/profiles/<name>` so memory, `MEMORY.md`, `SOUL.md`, and learned skills do not leak across projects.
52
+ - 运行 `hermes profile create <name> --clone-from default`(从当前 `~/.hermes` 带入 API keys 和模型;会话与记忆从空白开始),
53
+ - 将新 profile 的 `terminal.cwd` 设置为实例 workdir,
54
+ - 使用向导中的项目上下文答案初始化 `<profile>/SOUL.md`,
55
+ - 将 `HERMES_HOME=...` 写入 `instances/<name>.env`。
44
56
 
45
- `vc instance setup <name>` creates or reuses the profile, sets `terminal.cwd`, seeds `SOUL.md`, and writes `HERMES_HOME` into the instance env. Instance names must match `^[a-z0-9][a-z0-9_-]{0,63}$`.
57
+ `vc instance start <name>` 会自愈:如果 env 指向的 Hermes profile 目录不再存在,start 命令会在启动前重新创建它。
46
58
 
47
- ## Minimal generated instance env
59
+ 实例名称必须匹配 `^[a-z0-9][a-z0-9_-]{0,63}$`,因为 Hermes 会将该名称用作目录和配置键。
60
+
61
+ ## 最小生成实例 env
48
62
 
49
63
  ```env
50
64
  INSTANCE_NAME=my-project
@@ -62,9 +76,9 @@ AGENT_CWD=/path/to/my-project
62
76
  AGENT_PROJECT_CONTEXT=Project session: My Project
63
77
  ```
64
78
 
65
- `vc doctor` checks duplicate tokens, colliding runtime paths, missing profile directories, and `terminal.cwd` mismatches without printing secrets.
79
+ 请为每个实例提供唯一的日志/debug/会话文件值。`HERMES_HOME` 和匹配的 `~/.hermes/profiles/<name>` 目录会由 `vc instance setup` 自动创建。`vc doctor` 会检查重复令牌、冲突的运行时路径、缺失的 profile 目录,以及 profile 与实例之间的 `terminal.cwd` 不匹配——且不会打印密钥。
66
80
 
67
- ## Commands
81
+ ## 命令
68
82
 
69
83
  ```bash
70
84
  vc instance list
@@ -75,47 +89,91 @@ vc instance stop my-project
75
89
  vc instance restart my-project
76
90
  ```
77
91
 
78
- ## Example: two permanent voice rooms
92
+ `start` 会分离运行 `./run.sh instances/<name>.env`,并写入 `.run/instances/<name>.pid`。
93
+
94
+ `stop` 会发送 `SIGTERM`,最多等待 10 秒,然后回退到 `SIGKILL` 并移除 pid 文件。
95
+
96
+ ## 示例:两个长期语音房间
79
97
 
80
- 1. Create two Discord applications/bots.
81
- 2. Invite both with text and voice permissions. Use `vc bot invite <client-id>`.
82
- 3. Run setup:
98
+ 1. 创建两个 Discord 应用/机器人:
99
+ - VerbalCoding bot
100
+ - LLM-Wiki bot
101
+
102
+ 2. 使用文本和语音权限邀请两者加入服务器:
103
+ - View Channel
104
+ - Send Messages
105
+ - Send Messages in Threads
106
+ - Read Message History
107
+ - Use Application Commands
108
+ - Connect
109
+ - Speak
110
+
111
+ 创建每个 Discord 应用后,使用 `vc bot invite <client-id>` 打印带这些权限的精确邀请 URL。
112
+
113
+ 3. 为每个本地实例运行设置向导:
83
114
 
84
115
  ```bash
85
116
  vc instance setup verbalcoding
86
117
  vc instance setup llm-wiki
87
118
  ```
88
119
 
89
- 4. Check and start:
120
+ 向导会以 `0600` 模式写入被忽略的 `instances/verbalcoding.env` `instances/llm-wiki.env` 文件;它还会在替换前备份现有实例 env。每次运行还会从你的默认 Hermes home 克隆创建 `~/.hermes/profiles/<name>`,因此两个实例起始时具有相同 auth/model,但随着学习各自项目,会累积独立的记忆和 skills。
121
+
122
+ 4. 检查配置:
90
123
 
91
124
  ```bash
92
125
  vc doctor
126
+ ```
127
+
128
+ 5. 启动两者:
129
+
130
+ ```bash
93
131
  vc instance start verbalcoding
94
132
  vc instance start llm-wiki
95
133
  vc instance status
96
134
  ```
97
135
 
98
- 5. Verify logs:
136
+ 6. 验证日志:
99
137
 
100
138
  ```bash
101
139
  tail -n 50 /tmp/verbalcoding-verbalcoding.log
102
140
  tail -n 50 /tmp/verbalcoding-llm-wiki.log
103
141
  ```
104
142
 
105
- Expected:
143
+ 预期日志行:
106
144
 
107
145
  ```text
108
146
  Listening in voice channel ... / VerbalCoding
109
147
  Listening in voice channel ... / LLM-Wiki
110
148
  ```
111
149
 
112
- ## Short-term single-bot text/voice binding
150
+ 7. 停止两者:
151
+
152
+ ```bash
153
+ vc instance stop verbalcoding
154
+ vc instance stop llm-wiki
155
+ ```
156
+
157
+ ## 短期单机器人文本/语音绑定
158
+
159
+ 如果你只有一个机器人令牌,请使用项目会话语音绑定,而不是同时驻留多个频道。
113
160
 
114
- If you only have one bot token, bind a project session to a voice channel instead of simultaneous residency:
161
+ 在目标文本频道/thread 中运行:
115
162
 
116
163
  ```text
117
164
  !session attach-voice --voice "LLM-Wiki"
165
+ ```
166
+
167
+ 行为:
168
+
169
+ - 将所选语音频道绑定到当前文本频道/thread。
170
+ - 如果当前文本频道没有项目会话,则创建一个临时隔离会话。
171
+ - 语音 STT/结果/进度/最终答案文本会路由到该活动项目的转写目标。
172
+
173
+ 若要附加现有命名项目会话:
174
+
175
+ ```text
118
176
  !session voice llm-wiki --voice "LLM-Wiki"
119
177
  ```
120
178
 
121
- This routes text/STT/result/progress/final answer messages correctly, but it does not make one bot stay in two voice channels at the same time.
179
+ 这对路由很方便,但不会让一个机器人同时停留在两个语音频道中。若要同时长期驻留,请使用多个机器人令牌/进程。
@@ -1,27 +1,49 @@
1
1
  # VerbalCoding
2
2
 
3
- **Habla con tus agentes de programación CLI por voz en Discord, como una llamada.**
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 convierte un canal de voz de Discord en una superficie de control manos libres para agentes de programación. Dictas una solicitud, el agente CLI trabaja y recibes una respuesta breve por voz junto con transcripciones y eventos de progreso.
12
-
13
- ## Highlights
14
-
15
- | Feature | What it means |
3
+ <p align="center">
4
+ <strong>Habla con tus agentes de programación CLI por voz en Discord, como una llamada telefónica para trabajo de software.</strong>
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="../../README.md">English</a> ·
9
+ <a href="README.ko.md">한국어</a> ·
10
+ <a href="README.ja.md">日本語</a> ·
11
+ <a href="README.zh.md">中文</a> ·
12
+ <a href="README.es.md">Español</a> ·
13
+ <a href="README.fr.md">Français</a> ·
14
+ <a href="README.ru.md">Русский</a>
15
+ </p>
16
+
17
+ <p align="center">
18
+ <img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
19
+ <img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
20
+ <img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
21
+ <img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20Supertonic%20%7C%20SpeechSwift-0EA5E9">
22
+ <img alt="Agents" src="https://img.shields.io/badge/Agents-Hermes%20%7C%20Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20OpenCode-111827">
23
+ </p>
24
+
25
+ <p align="center">
26
+ <img src="../assets/figures/verbalcoding-flow.svg" alt="Flujo de voz a agente de VerbalCoding" width="860">
27
+ </p>
28
+
29
+ ## Por qué
30
+
31
+ VerbalCoding convierte un canal de voz de Discord en una superficie de control manos libres para agentes de programación. Di una solicitud, deja que tu agente CLI trabaje y escucha una respuesta concisa de vuelta, con transcripciones de texto, eventos de progreso y protecciones para salidas ruidosas de código o registros.
32
+
33
+ ## Puntos destacados
34
+
35
+ | Qué obtienes | Por qué se siente bien |
16
36
  |---|---|
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` STT agentchunked 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. |
37
+ | Control de agentes con voz primero | Habla con Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw o cualquier arnés CLI personalizado. |
38
+ | Bucle de voz en el dispositivo | Captura de voz de Discord transcripción local con `whisper-cli` → agentereproducción TTS por fragmentos. |
39
+ | Contexto compartido de voz y texto | Los turnos de voz y los comandos de texto `!ask` pueden reutilizar la misma sesión de agente compatible. |
40
+ | Interrupción natural y modos de sensibilidad | Interrumpe la reproducción de forma natural y cambia entre entornos normales y conservadores/ruidosos. |
41
+ | Preajustes de voz multilingües | Cambia STT, idioma de progreso y voz TTS juntos con `vc language ko/en/auto`. |
42
+ | Aislamiento de proyectos por salas | Ejecuta un bot por sala de proyecto con perfiles, sesiones, memoria y registros de Hermes aislados. |
23
43
 
24
- ## Quick Start
44
+ ## Inicio rápido
45
+
46
+ Ruta más rápida con npm:
25
47
 
26
48
  ```bash
27
49
  npm install -g verbalcoding
@@ -30,7 +52,7 @@ vc doctor
30
52
  vc start
31
53
  ```
32
54
 
33
- Run without a permanent global install:
55
+ O ejecútalo directamente sin una instalación global permanente:
34
56
 
35
57
  ```bash
36
58
  npx verbalcoding setup --yes
@@ -38,7 +60,7 @@ vc doctor
38
60
  vc start
39
61
  ```
40
62
 
41
- Contributor clone path:
63
+ Ruta de clonación de GitHub para colaboradores:
42
64
 
43
65
  ```bash
44
66
  git clone https://github.com/ca1773130n/VerbalCoding.git
@@ -48,38 +70,80 @@ vc doctor
48
70
  ./run.sh
49
71
  ```
50
72
 
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.
73
+ `vc setup --yes` inicializa los prerrequisitos locales desde el paquete npm instalado. `./scripts/install.sh --yes` hace lo mismo solo dentro de un clon de GitHub. Ambos cubren, cuando es posible, dependencias de Node/npm, `ffmpeg`, `whisper-cli`, el modelo predeterminado de whisper.cpp, el asistente local de Edge TTS en `.venv-tts` y la configuración del asistente. Admiten macOS/Homebrew y administradores de paquetes comunes de Linux (`apt`, `dnf`, `pacman`); vuelve a ejecutar con `--no-wizard` para configurar solo dependencias o con `--skip-system` si quieres instalar los paquetes del sistema por tu cuenta.
74
+
75
+ ¿Necesitas un recorrido de instalación limpia? Empieza con [Instalación limpia](FRESH_INSTALL.es.md).
76
+
77
+ ## Backends de agentes compatibles
52
78
 
53
- ## Guides
79
+ | Backend | Comando predeterminado | Soporte de sesión |
80
+ |---|---:|---|
81
+ | Hermes Agent | `hermes chat -Q -q` | Reanudación, progreso detallado, cancelación, recuperación de respuesta final |
82
+ | Claude Code | `claude -p` | Soporte de archivo de sesión CLI mediante los valores predeterminados del adaptador |
83
+ | Codex CLI | `codex exec` | Soporte de archivo de sesión CLI mediante los valores predeterminados del adaptador |
84
+ | Gemini CLI | `gemini -p` | Soporte de archivo de sesión CLI mediante los valores predeterminados del adaptador |
85
+ | OpenCode | `opencode run` | Soporte de archivo de sesión CLI mediante los valores predeterminados del adaptador |
86
+ | OpenClaw | `openclaw run` | Soporte de archivo de sesión CLI mediante los valores predeterminados del adaptador |
87
+ | Personalizado | `AGENT_COMMAND` | Usa tu propio comando no interactivo |
54
88
 
55
- | Guide | Link |
89
+ ## Aprende más
90
+
91
+ | Guía | Qué obtienes |
56
92
  |---|---|
57
- | Instalación limpia | [FRESH_INSTALL.es.md](FRESH_INSTALL.es.md) |
58
- | Guía de uso | [USAGE.es.md](USAGE.es.md) |
59
- | Configuración | [CONFIGURATION.es.md](CONFIGURATION.es.md) |
60
- | Multiinstancia | [MULTI_INSTANCE.es.md](MULTI_INSTANCE.es.md) |
61
- | Notas de versión | [RELEASE.es.md](RELEASE.es.md) |
93
+ | [Instalación limpia](FRESH_INSTALL.es.md) | Configuración desde un clon limpio, descarga del modelo y primera ejecución |
94
+ | [Guía de uso](USAGE.es.md) | Comandos CLI, comandos de Discord, modo de progreso y métricas de latencia |
95
+ | [Configuración](CONFIGURATION.es.md) | `.env`, backends de agente, MCP, backends TTS y notas operativas |
96
+ | [Multiinstancia](MULTI_INSTANCE.es.md) | Una sala de voz permanente de Discord por proyecto |
97
+ | [Notas de versión](RELEASE.es.md) | Capacidades actuales y lista de verificación previa al lanzamiento |
62
98
 
63
- ## Command map
99
+ ## Mapa mínimo de comandos
64
100
 
65
101
  ```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
102
+ vc status # current language, TTS, and bridge settings
103
+ vc language ko|en|auto # switch STT/progress/TTS language preset
104
+ vc bot invite CLIENT_ID # generate the Discord bot invite URL
105
+ vc instance setup NAME # create an isolated project voice bot
106
+ vc instance start NAME # run that bot in the background
107
+ vc doctor # redacted health check
108
+ vc start # start the default bridge
73
109
  ```
74
110
 
75
- Discord commands:
111
+ En Discord:
112
+
113
+ | Comando | Qué hace |
114
+ |---|---|
115
+ | `!join` | Se une a tu canal de voz actual. |
116
+ | `!ask <prompt>` | Envía texto al mismo backend de agente. |
117
+ | `!verbose on\|off` | Muestra/dice actualizaciones cortas de progreso. |
118
+ | `!latency` | Resume la latencia reciente de voz/STT/agente/TTS. |
119
+ | `!sensitivity normal` | Usa sensibilidad normal de interrupción para interiores. |
120
+ | `!sensitivity conservative` | Usa sensibilidad más estricta para entornos ruidosos/exteriores. |
121
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | Vincula una sesión de proyecto a una sala de voz. |
122
+
123
+ ## Requisitos
124
+
125
+ | Capa | Predeterminado |
126
+ |---|---|
127
+ | Runtime | Node.js 20+, npm; el script de instalación puede instalar vía Homebrew/apt/dnf/pacman |
128
+ | Audio | `ffmpeg`; el script de instalación puede instalarlo |
129
+ | Reconocimiento de voz | `whisper-cli` local de whisper.cpp; el script usa Homebrew en macOS o compilación local alternativa en Linux |
130
+ | TTS | CLI de Edge TTS; el script de instalación crea `.venv-tts` si hace falta |
131
+ | Discord | Token de bot, intent Message Content, permisos de voz |
132
+ | Agente | Al menos un arnés CLI autenticado, Hermes Agent por defecto |
133
+ | Enfoque de plataforma | macOS / Apple Silicon es lo más probado; el arranque de Linux es de mejor esfuerzo y está documentado |
134
+
135
+ ## Contribuir
136
+
137
+ Ejecuta las comprobaciones ligeras antes de enviar cambios:
76
138
 
77
- ```text
78
- !join !ask <prompt> !verbose on/off
79
- !latency !sensitivity normal !sensitivity conservative
80
- !session new <name> <workdir> [context] --voice <voice-channel>
139
+ ```bash
140
+ node --check app-node/main.mjs
141
+ npm test
142
+ bash -n run.sh scripts/install.sh
143
+ npm pack --dry-run
144
+ vc doctor
81
145
  ```
82
146
 
83
- ## Requirements
147
+ ## Estado
84
148
 
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.
149
+ VerbalCoding está orientado al lanzamiento público, pero aún es temprano. Video/GIF de demostración, validación más amplia en Linux, CI y una revisión de seguridad más profunda siguen pendientes.
@@ -1,27 +1,49 @@
1
1
  # VerbalCoding
2
2
 
3
- **Parlez à vos agents de code en CLI via la voix Discord, comme lors d’un appel.**
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 transforme un salon vocal Discord en interface mains libres pour agents de programmation. Vous dictez une demande, l’agent CLI travaille, puis vous recevez une réponse vocale concise avec transcription texte et événements de progression.
12
-
13
- ## Highlights
14
-
15
- | Feature | What it means |
3
+ <p align="center">
4
+ <strong>Parlez à vos agents de codage CLI via la voix Discord — comme un appel téléphonique pour le travail logiciel.</strong>
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="../../README.md">English</a> ·
9
+ <a href="README.ko.md">한국어</a> ·
10
+ <a href="README.ja.md">日本語</a> ·
11
+ <a href="README.zh.md">中文</a> ·
12
+ <a href="README.es.md">Español</a> ·
13
+ <a href="README.fr.md">Français</a> ·
14
+ <a href="README.ru.md">Русский</a>
15
+ </p>
16
+
17
+ <p align="center">
18
+ <img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
19
+ <img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
20
+ <img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
21
+ <img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20Supertonic%20%7C%20SpeechSwift-0EA5E9">
22
+ <img alt="Agents" src="https://img.shields.io/badge/Agents-Hermes%20%7C%20Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20OpenCode-111827">
23
+ </p>
24
+
25
+ <p align="center">
26
+ <img src="../assets/figures/verbalcoding-flow.svg" alt="Flux voix-vers-agent de VerbalCoding" width="860">
27
+ </p>
28
+
29
+ ## Pourquoi
30
+
31
+ VerbalCoding transforme un salon vocal Discord en surface de contrôle mains libres pour agents de codage. Énoncez une demande, laissez votre agent CLI travailler, puis écoutez une réponse concise — avec transcriptions texte, événements de progression et garde-fous pour les sorties de code/journaux bruyantes.
32
+
33
+ ## Points forts
34
+
35
+ | Ce que vous obtenez | Pourquoi c'est agréable |
16
36
  |---|---|
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` STT → agent → chunked 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. |
37
+ | Contrôle d'agent pensé pour la voix | Parlez à Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw ou à n'importe quel harnais CLI personnalisé. |
38
+ | Boucle vocale sur l'appareil | Capture vocale Discordtranscription locale `whisper-cli` → agent → lecture TTS par morceaux. |
39
+ | Contexte partagé voix + texte | Les tours vocaux et les commandes texte `!ask` peuvent réutiliser la même session d'agent prise en charge. |
40
+ | Interruption et modes de sensibilité | Interrompez naturellement la lecture et basculez entre environnements normaux et conservateurs/bruyants. |
41
+ | Préréglages vocaux multilingues | Changez ensemble la langue STT, la langue de progression et la voix TTS avec `vc language ko/en/auto`. |
42
+ | Isolation multi-salons par projet | Lancez un bot par salon de projet avec profils Hermes, sessions, mémoire et journaux isolés. |
23
43
 
24
- ## Quick Start
44
+ ## Démarrage rapide
45
+
46
+ Chemin le plus rapide avec npm :
25
47
 
26
48
  ```bash
27
49
  npm install -g verbalcoding
@@ -30,7 +52,7 @@ vc doctor
30
52
  vc start
31
53
  ```
32
54
 
33
- Run without a permanent global install:
55
+ Ou exécutez directement sans installation globale permanente :
34
56
 
35
57
  ```bash
36
58
  npx verbalcoding setup --yes
@@ -38,7 +60,7 @@ vc doctor
38
60
  vc start
39
61
  ```
40
62
 
41
- Contributor clone path:
63
+ Chemin de clonage GitHub pour les contributeurs :
42
64
 
43
65
  ```bash
44
66
  git clone https://github.com/ca1773130n/VerbalCoding.git
@@ -48,38 +70,80 @@ vc doctor
48
70
  ./run.sh
49
71
  ```
50
72
 
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.
73
+ `vc setup --yes` amorce les prérequis locaux depuis le paquet npm installé. `./scripts/install.sh --yes` fait la même chose uniquement dans un clone GitHub. Les deux couvrent, quand c'est possible, les dépendances Node/npm, `ffmpeg`, `whisper-cli`, le modèle whisper.cpp par défaut, l'assistant Edge TTS local `.venv-tts` et la configuration par assistant. Ils prennent en charge macOS/Homebrew ainsi que les gestionnaires de paquets Linux courants (`apt`, `dnf`, `pacman`) ; relancez avec `--no-wizard` pour une configuration limitée aux dépendances ou `--skip-system` si vous voulez installer vous-même les paquets du système.
74
+
75
+ Besoin d'une procédure d'installation propre ? Commencez par [Installation propre](FRESH_INSTALL.fr.md).
76
+
77
+ ## Backends d'agents pris en charge
52
78
 
53
- ## Guides
79
+ | Backend | Commande par défaut | Prise en charge des sessions |
80
+ |---|---:|---|
81
+ | Hermes Agent | `hermes chat -Q -q` | Reprise, progression détaillée, annulation, récupération de la réponse finale |
82
+ | Claude Code | `claude -p` | Prise en charge du fichier de session CLI via les valeurs par défaut de l'adaptateur |
83
+ | Codex CLI | `codex exec` | Prise en charge du fichier de session CLI via les valeurs par défaut de l'adaptateur |
84
+ | Gemini CLI | `gemini -p` | Prise en charge du fichier de session CLI via les valeurs par défaut de l'adaptateur |
85
+ | OpenCode | `opencode run` | Prise en charge du fichier de session CLI via les valeurs par défaut de l'adaptateur |
86
+ | OpenClaw | `openclaw run` | Prise en charge du fichier de session CLI via les valeurs par défaut de l'adaptateur |
87
+ | Personnalisé | `AGENT_COMMAND` | Apportez votre propre commande non interactive |
54
88
 
55
- | Guide | Link |
89
+ ## En savoir plus
90
+
91
+ | Guide | Ce que vous obtenez |
56
92
  |---|---|
57
- | Installation propre | [FRESH_INSTALL.fr.md](FRESH_INSTALL.fr.md) |
58
- | Guide dutilisation | [USAGE.fr.md](USAGE.fr.md) |
59
- | Configuration | [CONFIGURATION.fr.md](CONFIGURATION.fr.md) |
60
- | Multi-instance | [MULTI_INSTANCE.fr.md](MULTI_INSTANCE.fr.md) |
61
- | Notes de version | [RELEASE.fr.md](RELEASE.fr.md) |
93
+ | [Installation propre](FRESH_INSTALL.fr.md) | Configuration depuis un clone propre, téléchargement du modèle, premier lancement |
94
+ | [Guide d'utilisation](USAGE.fr.md) | Commandes CLI, commandes Discord, mode progression, métriques de latence |
95
+ | [Configuration](CONFIGURATION.fr.md) | `.env`, backends d'agents, MCP, backends TTS, notes d'exploitation |
96
+ | [Multi-instance](MULTI_INSTANCE.fr.md) | Un salon vocal Discord permanent par projet |
97
+ | [Notes de version](RELEASE.fr.md) | Capacités actuelles et checklist de pré-version |
62
98
 
63
- ## Command map
99
+ ## Mini-carte des commandes
64
100
 
65
101
  ```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
102
+ vc status # paramètres actuels de langue, TTS et passerelle
103
+ vc language ko|en|auto # changer le préréglage langue STT/progression/TTS
104
+ vc bot invite CLIENT_ID # générer l'URL d'invitation du bot Discord
105
+ vc instance setup NAME # créer un bot vocal de projet isolé
106
+ vc instance start NAME # exécuter ce bot en arrière-plan
107
+ vc doctor # contrôle de santé expurgé
108
+ vc start # démarrer la passerelle par défaut
73
109
  ```
74
110
 
75
- Discord commands:
111
+ Dans Discord :
112
+
113
+ | Commande | Effet |
114
+ |---|---|
115
+ | `!join` | Rejoint votre salon vocal actuel. |
116
+ | `!ask <prompt>` | Envoie du texte au même backend d'agent. |
117
+ | `!verbose on\|off` | Affiche/énonce de courtes mises à jour de progression. |
118
+ | `!latency` | Résume la latence récente voix/STT/agent/TTS. |
119
+ | `!sensitivity normal` | Utilise la sensibilité d'interruption normale en intérieur. |
120
+ | `!sensitivity conservative` | Utilise une sensibilité plus stricte pour les environnements bruyants/extérieurs. |
121
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | Lie une session de projet à un salon vocal. |
122
+
123
+ ## Exigences
124
+
125
+ | Couche | Valeur par défaut |
126
+ |---|---|
127
+ | Runtime | Node.js 20+, npm ; le script d'installation peut l'installer via Homebrew/apt/dnf/pacman |
128
+ | Audio | `ffmpeg` ; le script d'installation peut l'installer |
129
+ | Reconnaissance vocale | `whisper-cli` local depuis whisper.cpp ; le script d'installation utilise Homebrew sur macOS ou un fallback de build Linux local |
130
+ | TTS | CLI Edge TTS ; le script d'installation crée `.venv-tts` si nécessaire |
131
+ | Discord | Jeton de bot, intent Message Content, permissions vocales |
132
+ | Agent | Au moins un harnais CLI authentifié, Hermes Agent par défaut |
133
+ | Plateforme privilégiée | macOS / Apple Silicon le plus testé ; l'amorçage Linux est documenté et fourni au mieux |
134
+
135
+ ## Contribution
136
+
137
+ Exécutez les contrôles légers avant d'envoyer des changements :
76
138
 
77
- ```text
78
- !join !ask <prompt> !verbose on/off
79
- !latency !sensitivity normal !sensitivity conservative
80
- !session new <name> <workdir> [context] --voice <voice-channel>
139
+ ```bash
140
+ node --check app-node/main.mjs
141
+ npm test
142
+ bash -n run.sh scripts/install.sh
143
+ npm pack --dry-run
144
+ vc doctor
81
145
  ```
82
146
 
83
- ## Requirements
147
+ ## Statut
84
148
 
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.
149
+ VerbalCoding vise une publication publique mais reste jeune. Vidéo/GIF de démonstration, validation Linux plus large, CI et revue de sécurité plus approfondie restent à faire.