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.
- package/README.md +12 -27
- package/app-node/cli_install.test.mjs +32 -0
- package/app-node/install_config.mjs +10 -0
- package/docs/FRESH_INSTALL.md +8 -2
- package/docs/assets/figures/verbalcoding-flow.svg +45 -30
- package/docs/i18n/CONFIGURATION.es.md +138 -49
- package/docs/i18n/CONFIGURATION.fr.md +138 -49
- package/docs/i18n/CONFIGURATION.ja.md +137 -48
- package/docs/i18n/CONFIGURATION.ko.md +137 -48
- package/docs/i18n/CONFIGURATION.ru.md +138 -49
- package/docs/i18n/CONFIGURATION.zh.md +137 -48
- package/docs/i18n/FRESH_INSTALL.es.md +115 -32
- package/docs/i18n/FRESH_INSTALL.fr.md +115 -32
- package/docs/i18n/FRESH_INSTALL.ja.md +119 -36
- package/docs/i18n/FRESH_INSTALL.ko.md +120 -37
- package/docs/i18n/FRESH_INSTALL.ru.md +115 -32
- package/docs/i18n/FRESH_INSTALL.zh.md +119 -36
- package/docs/i18n/MULTI_INSTANCE.es.md +85 -26
- package/docs/i18n/MULTI_INSTANCE.fr.md +85 -26
- package/docs/i18n/MULTI_INSTANCE.ja.md +87 -29
- package/docs/i18n/MULTI_INSTANCE.ko.md +87 -29
- package/docs/i18n/MULTI_INSTANCE.ru.md +84 -26
- package/docs/i18n/MULTI_INSTANCE.zh.md +87 -29
- package/docs/i18n/README.es.md +109 -45
- package/docs/i18n/README.fr.md +109 -45
- package/docs/i18n/README.ja.md +109 -45
- package/docs/i18n/README.ko.md +108 -45
- package/docs/i18n/README.ru.md +109 -45
- package/docs/i18n/README.zh.md +108 -45
- package/docs/i18n/RELEASE.es.md +53 -37
- package/docs/i18n/RELEASE.fr.md +53 -37
- package/docs/i18n/RELEASE.ja.md +52 -36
- package/docs/i18n/RELEASE.ko.md +52 -36
- package/docs/i18n/RELEASE.ru.md +53 -37
- package/docs/i18n/RELEASE.zh.md +53 -37
- package/docs/i18n/USAGE.es.md +91 -64
- package/docs/i18n/USAGE.fr.md +91 -64
- package/docs/i18n/USAGE.ja.md +90 -63
- package/docs/i18n/USAGE.ko.md +90 -63
- package/docs/i18n/USAGE.ru.md +91 -64
- package/docs/i18n/USAGE.zh.md +90 -63
- package/package.json +1 -1
- package/scripts/bootstrap_prereqs.sh +15 -3
- package/scripts/cli.mjs +1 -1
- package/scripts/doctor.mjs +173 -8
- package/scripts/install.mjs +2 -0
package/docs/i18n/README.zh.md
CHANGED
|
@@ -1,27 +1,48 @@
|
|
|
1
1
|
# VerbalCoding
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
36
|
+
| 语音优先的代理控制 | 可以与 Hermes Agent、Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw 或任何自定义 CLI 驱动对话。 |
|
|
37
|
+
| 本机语音闭环 | Discord 语音采集 → 本地 `whisper-cli` 转写 → 代理 → 分块 TTS 播放。 |
|
|
38
|
+
| 共享语音 + 文本上下文 | 语音轮次和 `!ask` 文本命令可以复用同一个受支持的代理会话。 |
|
|
39
|
+
| 插话和灵敏度模式 | 可以自然打断播放,并在普通环境与保守/嘈杂环境之间切换。 |
|
|
40
|
+
| 多语言语音预设 | 使用 `vc language ko/en/auto` 同时切换 STT、进度语言和 TTS 声音。 |
|
|
41
|
+
| 多房间项目隔离 | 每个项目房间运行一个机器人,并隔离 Hermes 配置、会话、记忆和日志。 |
|
|
23
42
|
|
|
24
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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`
|
|
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
|
-
|
|
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
|
-
|
|
88
|
+
## 了解更多
|
|
89
|
+
|
|
90
|
+
| 指南 | 你能获得什么 |
|
|
56
91
|
|---|---|
|
|
57
|
-
| 全新安装
|
|
58
|
-
| 使用指南
|
|
59
|
-
| 配置
|
|
60
|
-
| 多实例
|
|
61
|
-
|
|
|
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
|
-
##
|
|
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
|
|
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
|
-
```
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
##
|
|
146
|
+
## 状态
|
|
84
147
|
|
|
85
|
-
|
|
148
|
+
VerbalCoding 面向公开发布,但仍处于早期阶段。演示视频/GIF、更广泛的 Linux 验证、CI,以及更深入的安全审查仍在 TODO 中。
|
package/docs/i18n/RELEASE.es.md
CHANGED
|
@@ -1,58 +1,74 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Notas de versión de VerbalCoding
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Candidato de lanzamiento actual
|
|
4
4
|
|
|
5
|
-
VerbalCoding
|
|
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
|
-
|
|
7
|
+
### Incluido
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- Edge TTS
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
+
Antes del lanzamiento público, considera añadir:
|
|
57
69
|
|
|
58
|
-
|
|
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.
|
package/docs/i18n/RELEASE.fr.md
CHANGED
|
@@ -1,58 +1,74 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Notes de version de VerbalCoding
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Candidat de version actuel
|
|
4
4
|
|
|
5
|
-
VerbalCoding
|
|
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
|
-
|
|
7
|
+
### Inclus
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- Edge TTS
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
+
Avant la publication publique, envisagez d'ajouter :
|
|
57
69
|
|
|
58
|
-
|
|
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.
|
package/docs/i18n/RELEASE.ja.md
CHANGED
|
@@ -1,58 +1,74 @@
|
|
|
1
1
|
# VerbalCoding リリースノート
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 現在のリリース候補
|
|
4
4
|
|
|
5
|
-
VerbalCoding
|
|
5
|
+
VerbalCoding は、CLI ベースのコーディングエージェントを音声で操作するための Discord 音声ブリッジです。公開リリースを意識しており、最も検証されている経路は macOS / Apple Silicon です。一般的なパッケージマネージャー向けに、Linux のベストエフォートなブートストラップもサポートしています。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
### 含まれるもの
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- Edge TTS
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
+
公開リリース前に、次の追加を検討してください:
|
|
57
69
|
|
|
58
|
-
|
|
70
|
+
- GitHub Actions CI。
|
|
71
|
+
- デモ動画 / GIF。
|
|
72
|
+
- Discord ボットセットアップのスクリーンショット。
|
|
73
|
+
- スクリプトレベルのチェックを超えた、実ディストリビューション上でのより広範な Linux 検証。
|
|
74
|
+
- すべてのログパスのセキュリティレビュー。
|