verbalcoding 0.2.10 โ 0.2.12
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/.env.example +27 -1
- package/README.es.md +132 -0
- package/README.fr.md +132 -0
- package/README.ja.md +132 -0
- package/README.ko.md +132 -0
- package/README.md +116 -74
- package/README.ru.md +132 -0
- package/README.zh.md +131 -0
- package/app-node/agent_adapters.mjs +37 -5
- package/app-node/agent_adapters.test.mjs +13 -1
- package/app-node/agent_detect.mjs +73 -0
- package/app-node/agent_detect.test.mjs +77 -0
- package/app-node/cli_install.test.mjs +5 -0
- package/app-node/install_config.mjs +5 -0
- package/app-node/main.mjs +339 -4
- package/app-node/notify.mjs +73 -0
- package/app-node/notify.test.mjs +68 -0
- package/app-node/plan_mode.mjs +174 -0
- package/app-node/plan_mode.test.mjs +153 -0
- package/app-node/smart_progress.mjs +94 -0
- package/app-node/smart_progress.test.mjs +66 -0
- package/app-node/stream_sentencer.mjs +61 -0
- package/app-node/stream_sentencer.test.mjs +64 -0
- package/app-node/streaming_tts_queue.mjs +48 -0
- package/app-node/streaming_tts_queue.test.mjs +58 -0
- package/app-node/text_routing.mjs +20 -0
- package/app-node/text_routing.test.mjs +23 -1
- package/docs/CONFIGURATION.md +69 -96
- package/docs/FRESH_INSTALL.md +105 -63
- package/docs/HERMES_VOICE.md +65 -0
- package/docs/MULTI_INSTANCE.md +16 -0
- package/docs/README.md +49 -0
- package/docs/RELEASE.md +42 -19
- package/docs/ROADMAP.md +38 -0
- package/docs/TROUBLESHOOTING.md +126 -0
- package/docs/USAGE.md +72 -40
- package/docs/assets/figures/verbalcoding-flow.svg +1 -1
- package/docs/i18n/CONFIGURATION.es.md +25 -0
- package/docs/i18n/CONFIGURATION.fr.md +25 -0
- package/docs/i18n/CONFIGURATION.ja.md +25 -0
- package/docs/i18n/CONFIGURATION.ko.md +25 -0
- package/docs/i18n/CONFIGURATION.ru.md +25 -0
- package/docs/i18n/CONFIGURATION.zh.md +25 -0
- package/docs/i18n/FRESH_INSTALL.es.md +27 -2
- package/docs/i18n/FRESH_INSTALL.fr.md +27 -2
- package/docs/i18n/FRESH_INSTALL.ja.md +27 -2
- package/docs/i18n/FRESH_INSTALL.ko.md +27 -2
- package/docs/i18n/FRESH_INSTALL.ru.md +27 -2
- package/docs/i18n/FRESH_INSTALL.zh.md +27 -2
- package/docs/i18n/HERMES_VOICE.es.md +46 -0
- package/docs/i18n/HERMES_VOICE.fr.md +46 -0
- package/docs/i18n/HERMES_VOICE.ja.md +46 -0
- package/docs/i18n/HERMES_VOICE.ko.md +65 -0
- package/docs/i18n/HERMES_VOICE.ru.md +46 -0
- package/docs/i18n/HERMES_VOICE.zh.md +46 -0
- package/docs/i18n/MULTI_INSTANCE.es.md +25 -0
- package/docs/i18n/MULTI_INSTANCE.fr.md +25 -0
- package/docs/i18n/MULTI_INSTANCE.ja.md +25 -0
- package/docs/i18n/MULTI_INSTANCE.ko.md +25 -0
- package/docs/i18n/MULTI_INSTANCE.ru.md +25 -0
- package/docs/i18n/MULTI_INSTANCE.zh.md +25 -0
- package/docs/i18n/README.es.md +20 -134
- package/docs/i18n/README.fr.md +20 -134
- package/docs/i18n/README.ja.md +20 -134
- package/docs/i18n/README.ko.md +20 -133
- package/docs/i18n/README.ru.md +20 -134
- package/docs/i18n/README.zh.md +20 -133
- package/docs/i18n/RELEASE.es.md +26 -1
- package/docs/i18n/RELEASE.fr.md +26 -1
- package/docs/i18n/RELEASE.ja.md +26 -1
- package/docs/i18n/RELEASE.ko.md +26 -1
- package/docs/i18n/RELEASE.ru.md +26 -1
- package/docs/i18n/RELEASE.zh.md +26 -1
- package/docs/i18n/TROUBLESHOOTING.es.md +39 -0
- package/docs/i18n/TROUBLESHOOTING.fr.md +39 -0
- package/docs/i18n/TROUBLESHOOTING.ja.md +39 -0
- package/docs/i18n/TROUBLESHOOTING.ko.md +39 -0
- package/docs/i18n/TROUBLESHOOTING.ru.md +39 -0
- package/docs/i18n/TROUBLESHOOTING.zh.md +39 -0
- package/docs/i18n/USAGE.es.md +25 -0
- package/docs/i18n/USAGE.fr.md +25 -0
- package/docs/i18n/USAGE.ja.md +25 -0
- package/docs/i18n/USAGE.ko.md +25 -0
- package/docs/i18n/USAGE.ru.md +25 -0
- package/docs/i18n/USAGE.zh.md +25 -0
- package/docs/superpowers/plans/2026-05-13-phase1-streaming-pipeline.md +122 -0
- package/docs/superpowers/plans/2026-05-13-phase10-push-notifications.md +152 -0
- package/docs/superpowers/plans/2026-05-13-phase2-agent-adapters.md +242 -0
- package/docs/superpowers/plans/2026-05-13-phase6-smart-progress.md +172 -0
- package/docs/superpowers/plans/2026-05-13-phase7-voice-plan-mode.md +108 -0
- package/package.json +2 -1
- package/scripts/cli.mjs +7 -4
- package/scripts/doctor.mjs +11 -0
- package/scripts/install.mjs +44 -1
package/.env.example
CHANGED
|
@@ -1,17 +1,43 @@
|
|
|
1
1
|
# Copy to .env and fill local values. Do not commit .env.
|
|
2
|
+
# Preferred setup commands:
|
|
3
|
+
# vc setup token
|
|
4
|
+
# vc setup channels "General,Team Voice"
|
|
2
5
|
|
|
3
6
|
DISCORD_BOT_TOKEN=""
|
|
7
|
+
DISCORD_CLIENT_ID=""
|
|
4
8
|
DISCORD_ALLOWED_USERS=""
|
|
5
9
|
AUTO_JOIN_VOICE_CHANNELS="์ผ๋ฐ,General,general"
|
|
6
10
|
TRANSCRIPT_CHANNEL_ID=""
|
|
7
11
|
|
|
8
|
-
# Agent harness: hermes, claude-code, claude, codex, gemini, opencode, openclaw, custom
|
|
12
|
+
# Agent harness: hermes, claude-code, claude, codex, gemini, opencode, openclaw, aider, cursor, custom
|
|
13
|
+
# `vc setup` auto-detects which agents are installed and lets you pick.
|
|
9
14
|
AGENT_BACKEND="hermes"
|
|
10
15
|
# AGENT_LABEL="My Harness"
|
|
11
16
|
# AGENT_COMMAND="my-harness run --non-interactive"
|
|
17
|
+
# AIDER_COMMAND="aider --no-pretty --yes-always --message"
|
|
18
|
+
# CURSOR_COMMAND="cursor-agent --print --prompt"
|
|
12
19
|
AGENT_TASK_TIMEOUT_MS="0"
|
|
13
20
|
AGENT_CHAT_TIMEOUT_MS="45000"
|
|
14
21
|
AGENT_VERBOSE_PROGRESS="0" # default off; toggle in Discord with !verbose on/off
|
|
22
|
+
|
|
23
|
+
# Streaming TTS pipeline: enables sentence-by-sentence playback while the agent is still writing.
|
|
24
|
+
# First audio plays before the agent finishes. Default off; opt in once you've validated TTS latency.
|
|
25
|
+
STREAMING_TTS="0"
|
|
26
|
+
|
|
27
|
+
# Smart progress summarization. When SMART_PROGRESS_API_KEY is set, raw progress events get
|
|
28
|
+
# folded into a single human sentence via a small LLM (Groq OpenAI-compatible API by default).
|
|
29
|
+
# Without an API key it falls back to the existing regex categories.
|
|
30
|
+
# SMART_PROGRESS_API_KEY=""
|
|
31
|
+
# SMART_PROGRESS_BASE_URL="https://api.groq.com/openai/v1"
|
|
32
|
+
# SMART_PROGRESS_MODEL="llama-3.1-8b-instant"
|
|
33
|
+
|
|
34
|
+
# Push notification handoff for long tasks when the voice channel is empty.
|
|
35
|
+
# Provider: ntfy (free, no account, mobile apps) | pushover | noop.
|
|
36
|
+
# NOTIFY_PROVIDER="ntfy"
|
|
37
|
+
# NTFY_TOPIC="" # pick something unguessable; subscribe with the ntfy app
|
|
38
|
+
# PUSHOVER_USER=""
|
|
39
|
+
# PUSHOVER_TOKEN=""
|
|
40
|
+
NOTIFY_MIN_TASK_MS="60000" # only notify when a task ran at least this long
|
|
15
41
|
LATENCY_LOG_PATH="./.logs/latency.jsonl"
|
|
16
42
|
PROJECT_SESSIONS_FILE="./config/project-sessions.json"
|
|
17
43
|
# Agent workflow helper: off by default. Toggle with `vc restart auto on|off`.
|
package/README.es.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# VerbalCoding
|
|
2
|
+
|
|
3
|
+
<p align="center"><strong>Habla con agentes de programaciรณn CLI por voz en Discord, como en una llamada.</strong></p>
|
|
4
|
+
|
|
5
|
+
<p align="center"><a href="./README.md">English</a> ยท <a href="./README.ko.md">ํ๊ตญ์ด</a> ยท <a href="./README.ja.md">ๆฅๆฌ่ช</a> ยท <a href="./README.zh.md">ไธญๆ</a> ยท <a href="./README.fr.md">Franรงais</a> ยท <a href="./README.ru.md">ะ ัััะบะธะน</a></p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img alt="npm" src="https://img.shields.io/npm/v/verbalcoding?color=CB3837&logo=npm&logoColor=white">
|
|
9
|
+
<img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
|
|
10
|
+
<img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
|
|
11
|
+
<img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
|
|
12
|
+
<img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20SpeechSwift-0EA5E9">
|
|
13
|
+
<img alt="License" src="https://img.shields.io/github/license/ca1773130n/VerbalCoding">
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="docs/assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## Por quรฉ existe
|
|
21
|
+
|
|
22
|
+
VerbalCoding convierte una sala de voz de Discord en una cabina manos libres para agentes de programaciรณn. Pides algo hablando, dejas trabajar al agente CLI y recibes una respuesta breve por voz con transcripciรณn y eventos de progreso. Los diffs y logs quedan fuera del TTS largo.
|
|
23
|
+
|
|
24
|
+
> **ยฟYa usas Hermes Agent?** Hermes ya trae soporte de canales de voz de Discord con `/voice join` / `/voice channel`: puede unirse al VC actual, transcribir con Whisper y responder por TTS. Para ese bucle bรกsico, VerbalCoding no es obligatorio. VerbalCoding aรฑade una capa de flujo de trabajo: enrutamiento de proyectos/sesiones, contexto compartido de voz+texto, reglas de interrupciรณn, avisos de progreso, presets de idioma, mรฉtricas de latencia y cambio de backend CLI mรกs allรก de Hermes.
|
|
25
|
+
|
|
26
|
+
## Quรฉ lo hace distinto
|
|
27
|
+
|
|
28
|
+
| Capacidad | Por quรฉ importa |
|
|
29
|
+
|---|---|
|
|
30
|
+
| Flujo tipo llamada | Habla, escucha, interrumpe y continรบa en el mismo canal de voz de Discord. |
|
|
31
|
+
| Configuraciรณn guiada | `vc setup` reรบne prerequisites, Discord token/client ID, voice channel, transcript target, backend y TTS settings en un solo flujo. |
|
|
32
|
+
| Bucle de voz local | Discord audio โ local `whisper-cli` โ selected CLI agent โ TTS reply. |
|
|
33
|
+
| Elecciรณn de agente | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw o custom command. |
|
|
34
|
+
| Mรกs allรก de la voz integrada de Hermes | Mantiene el mismo bucle de voz en VC y aรฑade salas de proyecto, contexto compartido con `!ask`, interrupciones afinadas, voz de progreso/estado y control de backends multiagente. |
|
|
35
|
+
| Operaciรณn real | Incluye doctor auto-fix, guรญa Docker UDP, latency metrics, multi-instance rooms y redacted config checks. |
|
|
36
|
+
|
|
37
|
+
## Inicio rรกpido
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g verbalcoding@latest
|
|
41
|
+
vc setup
|
|
42
|
+
vc doctor
|
|
43
|
+
vc start
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`vc setup` es la ruta normal para personas. Mantรฉn abierto Discord Developer Portal mientras introduces bot token, application/client ID, transcript target y voice channel names.
|
|
47
|
+
|
|
48
|
+
En automatizaciรณn puedes omitir prompts y completar los datos de Discord despuรฉs.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
vc setup --yes
|
|
52
|
+
vc setup token <bot-token> --client-id <discord-client-id>
|
|
53
|
+
vc setup channels "General,Team Voice"
|
|
54
|
+
vc doctor
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Discord en un minuto
|
|
58
|
+
|
|
59
|
+
1. Crea una application y un bot en Discord Developer Portal.
|
|
60
|
+
2. Activa Message Content privileged intent.
|
|
61
|
+
3. Ejecuta `vc setup` y pega bot token y application/client ID.
|
|
62
|
+
4. Introduce los nombres exactos de los voice channels para auto-join.
|
|
63
|
+
5. Invita el bot con estos comandos.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
vc bot invite <discord-client-id>
|
|
67
|
+
vc bot invite <discord-client-id> --guild <guild-id>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Mapa mรญnimo de comandos
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
vc setup # configuraciรณn guiada: prerequisites, Discord, backend, voice
|
|
74
|
+
vc setup --yes # bootstrap/starter config no interactiva
|
|
75
|
+
vc setup token # rotar o aรฑadir Discord bot token/client ID despuรฉs
|
|
76
|
+
vc setup channels "General,Team Voice" # actualizar auto-join voice channel names
|
|
77
|
+
vc bot invite CLIENT_ID # generar Discord bot invite URL
|
|
78
|
+
vc status # mostrar configuraciรณn actual
|
|
79
|
+
vc language ko|en|auto # cambiar language preset
|
|
80
|
+
vc doctor # redacted health check y auto-fixes
|
|
81
|
+
vc start # iniciar bridge por defecto
|
|
82
|
+
vc instance setup NAME # crear project voice bot aislado
|
|
83
|
+
vc instance start NAME # ejecutar ese bot en background
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Mรกs informaciรณn
|
|
87
|
+
|
|
88
|
+
| Guรญa | Quรฉ obtienes |
|
|
89
|
+
|---|---|
|
|
90
|
+
| [Centro de documentaciรณn](docs/i18n/README.es.md) | รndice de guรญas localizadas. |
|
|
91
|
+
| [Fresh Install](docs/i18n/FRESH_INSTALL.es.md) | npm/global setup, configuraciรณn de Discord y primera ejecuciรณn. |
|
|
92
|
+
| [Usage](docs/i18n/USAGE.es.md) | Comandos CLI, comandos Discord, modos de ejecuciรณn y latency. |
|
|
93
|
+
| [Voz integrada de Hermes vs VerbalCoding](docs/i18n/HERMES_VOICE.es.md) | La voz Discord que Hermes ya ofrece y la diferencia de VerbalCoding. |
|
|
94
|
+
| [Configuration](docs/i18n/CONFIGURATION.es.md) | .env, agent backends, MCP, TTS y operaciรณn. |
|
|
95
|
+
| [Troubleshooting](docs/i18n/TROUBLESHOOTING.es.md) | Docker UDP y comprobaciones de token/channel. |
|
|
96
|
+
| [Multi-Instance](docs/i18n/MULTI_INSTANCE.es.md) | Una sala de voz fija por proyecto. |
|
|
97
|
+
|
|
98
|
+
## Requisitos
|
|
99
|
+
|
|
100
|
+
| Capa | Predeterminado |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Runtime | Node.js 20+ y npm. |
|
|
103
|
+
| Audio | `ffmpeg` y local `whisper-cli`. |
|
|
104
|
+
| TTS | Edge TTS por defecto; OpenVoice, SpeechSwift/CosyVoice y Supertonic opcionales. |
|
|
105
|
+
| Discord | Bot token, Message Content intent, voice permissions y channel names coincidentes. |
|
|
106
|
+
| Agent | Al menos un CLI harness autenticado; Hermes Agent por defecto. |
|
|
107
|
+
|
|
108
|
+
## Nota Docker / contenedores
|
|
109
|
+
|
|
110
|
+
Si los logs muestran `Cannot perform IP discovery - socket closed`, Discord voice UDP estรก bloqueado. En Linux Docker Compose usa:
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
services:
|
|
114
|
+
verbalcoding:
|
|
115
|
+
network_mode: "host"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
No combines `network_mode: "host"` con `ports:`.
|
|
119
|
+
|
|
120
|
+
## Contribuir
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node --check app-node/main.mjs
|
|
124
|
+
npm test
|
|
125
|
+
bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh
|
|
126
|
+
npm pack --dry-run
|
|
127
|
+
vc doctor
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Estado
|
|
131
|
+
|
|
132
|
+
VerbalCoding apunta a publicaciรณn pรบblica, pero todavรญa es temprano. Demo video/GIF, validaciรณn Linux mรกs amplia, CI y revisiรณn de seguridad siguen como TODO.
|
package/README.fr.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# VerbalCoding
|
|
2
|
+
|
|
3
|
+
<p align="center"><strong>Parlez ร des agents de code CLI depuis Discord vocal, comme lors dโun appel.</strong></p>
|
|
4
|
+
|
|
5
|
+
<p align="center"><a href="./README.md">English</a> ยท <a href="./README.ko.md">ํ๊ตญ์ด</a> ยท <a href="./README.ja.md">ๆฅๆฌ่ช</a> ยท <a href="./README.zh.md">ไธญๆ</a> ยท <a href="./README.es.md">Espaรฑol</a> ยท <a href="./README.ru.md">ะ ัััะบะธะน</a></p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img alt="npm" src="https://img.shields.io/npm/v/verbalcoding?color=CB3837&logo=npm&logoColor=white">
|
|
9
|
+
<img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
|
|
10
|
+
<img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
|
|
11
|
+
<img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
|
|
12
|
+
<img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20SpeechSwift-0EA5E9">
|
|
13
|
+
<img alt="License" src="https://img.shields.io/github/license/ca1773130n/VerbalCoding">
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="docs/assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## Pourquoi ce projet existe
|
|
21
|
+
|
|
22
|
+
VerbalCoding transforme un salon vocal Discord en poste de pilotage mains libres pour agents de code. Dictez une demande, laissez le CLI travailler, puis recevez une rรฉponse vocale concise avec transcription et progression. Les diffs et logs ne sont pas lus longuement par TTS.
|
|
23
|
+
|
|
24
|
+
> **Vous utilisez dรฉjร Hermes Agent ?** Hermes prend dรฉjร en charge les salons vocaux Discord via `/voice join` / `/voice channel` : il peut rejoindre votre VC, transcrire avec Whisper et rรฉpondre en TTS. Pour cette boucle de base, VerbalCoding nโest pas obligatoire. VerbalCoding ajoute une couche de workflow : routage projet/session, contexte voix+texte partagรฉ, rรจgles dโinterruption, annonces de progression, prรฉrรฉglages de langue, mรฉtriques de latence et changement de backend CLI au-delร de Hermes.
|
|
25
|
+
|
|
26
|
+
## Ce qui change
|
|
27
|
+
|
|
28
|
+
| Capacitรฉ | Pourquoi cโest utile |
|
|
29
|
+
|---|---|
|
|
30
|
+
| Flux type appel | Parler, รฉcouter, interrompre et continuer dans le mรชme salon vocal Discord. |
|
|
31
|
+
| Configuration guidรฉe | `vc setup` couvre prerequisites, Discord token/client ID, voice channel, transcript target, backend et TTS settings en un seul flux. |
|
|
32
|
+
| Boucle vocale locale | Discord audio โ local `whisper-cli` โ selected CLI agent โ TTS reply. |
|
|
33
|
+
| Choix de lโagent | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw ou custom command. |
|
|
34
|
+
| Au-delร de la voix intรฉgrรฉe de Hermes | Garde la mรชme boucle vocale VC, puis ajoute salons de projet, contexte partagรฉ `!ask`, interruptions rรฉglรฉes, annonces progression/รฉtat et contrรดle de backends multiagents. |
|
|
35
|
+
| Exploitation rรฉelle | doctor auto-fix, guide Docker UDP, latency metrics, multi-instance rooms et redacted config checks inclus. |
|
|
36
|
+
|
|
37
|
+
## Dรฉmarrage rapide
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g verbalcoding@latest
|
|
41
|
+
vc setup
|
|
42
|
+
vc doctor
|
|
43
|
+
vc start
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`vc setup` est le parcours normal pour une personne. Gardez Discord Developer Portal ouvert pendant la saisie du bot token, application/client ID, transcript target et voice channel names.
|
|
47
|
+
|
|
48
|
+
En automatisation, vous pouvez ignorer les prompts puis renseigner Discord ensuite.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
vc setup --yes
|
|
52
|
+
vc setup token <bot-token> --client-id <discord-client-id>
|
|
53
|
+
vc setup channels "General,Team Voice"
|
|
54
|
+
vc doctor
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Discord en une minute
|
|
58
|
+
|
|
59
|
+
1. Crรฉez une application et un bot dans Discord Developer Portal.
|
|
60
|
+
2. Activez Message Content privileged intent.
|
|
61
|
+
3. Lancez `vc setup` et collez bot token et application/client ID.
|
|
62
|
+
4. Saisissez les noms exacts des voice channels ร rejoindre.
|
|
63
|
+
5. Invitez le bot avec ces commandes.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
vc bot invite <discord-client-id>
|
|
67
|
+
vc bot invite <discord-client-id> --guild <guild-id>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Carte rapide des commandes
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
vc setup # configuration guidรฉe: prerequisites, Discord, backend, voice
|
|
74
|
+
vc setup --yes # bootstrap/starter config non interactive
|
|
75
|
+
vc setup token # modifier ou ajouter Discord bot token/client ID plus tard
|
|
76
|
+
vc setup channels "General,Team Voice" # mettre ร jour auto-join voice channel names
|
|
77
|
+
vc bot invite CLIENT_ID # gรฉnรฉrer Discord bot invite URL
|
|
78
|
+
vc status # afficher les rรฉglages actuels
|
|
79
|
+
vc language ko|en|auto # changer language preset
|
|
80
|
+
vc doctor # redacted health check et auto-fixes
|
|
81
|
+
vc start # dรฉmarrer le bridge par dรฉfaut
|
|
82
|
+
vc instance setup NAME # crรฉer un project voice bot isolรฉ
|
|
83
|
+
vc instance start NAME # exรฉcuter ce bot en background
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## En savoir plus
|
|
87
|
+
|
|
88
|
+
| Guide | Contenu |
|
|
89
|
+
|---|---|
|
|
90
|
+
| [Centre de documentation](docs/i18n/README.fr.md) | Index des guides localisรฉs. |
|
|
91
|
+
| [Fresh Install](docs/i18n/FRESH_INSTALL.fr.md) | npm/global setup, configuration Discord, premier lancement. |
|
|
92
|
+
| [Usage](docs/i18n/USAGE.fr.md) | Commandes CLI, commandes Discord, modes dโexรฉcution, latency. |
|
|
93
|
+
| [Voix intรฉgrรฉe Hermes vs VerbalCoding](docs/i18n/HERMES_VOICE.fr.md) | La voix Discord dรฉjร fournie par Hermes et la diffรฉrence VerbalCoding. |
|
|
94
|
+
| [Configuration](docs/i18n/CONFIGURATION.fr.md) | .env, agent backends, MCP, TTS, exploitation. |
|
|
95
|
+
| [Troubleshooting](docs/i18n/TROUBLESHOOTING.fr.md) | Docker UDP et vรฉrifications token/channel. |
|
|
96
|
+
| [Multi-Instance](docs/i18n/MULTI_INSTANCE.fr.md) | Un salon vocal fixe par projet. |
|
|
97
|
+
|
|
98
|
+
## Exigences
|
|
99
|
+
|
|
100
|
+
| Couche | Dรฉfaut |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Runtime | Node.js 20+ et npm. |
|
|
103
|
+
| Audio | `ffmpeg` et local `whisper-cli`. |
|
|
104
|
+
| TTS | Edge TTS par dรฉfaut; OpenVoice, SpeechSwift/CosyVoice et Supertonic en option. |
|
|
105
|
+
| Discord | Bot token, Message Content intent, voice permissions et channel names correspondants. |
|
|
106
|
+
| Agent | Au moins un CLI harness authentifiรฉ; Hermes Agent par dรฉfaut. |
|
|
107
|
+
|
|
108
|
+
## Note Docker / conteneurs
|
|
109
|
+
|
|
110
|
+
Si les logs affichent `Cannot perform IP discovery - socket closed`, Discord voice UDP est bloquรฉ. Avec Linux Docker Compose, utilisez:
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
services:
|
|
114
|
+
verbalcoding:
|
|
115
|
+
network_mode: "host"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Ne combinez pas `network_mode: "host"` avec `ports:`.
|
|
119
|
+
|
|
120
|
+
## Contribuer
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node --check app-node/main.mjs
|
|
124
|
+
npm test
|
|
125
|
+
bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh
|
|
126
|
+
npm pack --dry-run
|
|
127
|
+
vc doctor
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Statut
|
|
131
|
+
|
|
132
|
+
VerbalCoding vise une publication publique mais reste jeune. Vidรฉo/GIF de dรฉmo, validation Linux plus large, CI et revue sรฉcuritรฉ restent TODO.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# VerbalCoding
|
|
2
|
+
|
|
3
|
+
<p align="center"><strong>Discord ้ณๅฃฐใง CLI ใณใผใใฃใณใฐใจใผใธใงใณใใจ้ป่ฉฑใฎใใใซไฝๆฅญใงใใพใใ</strong></p>
|
|
4
|
+
|
|
5
|
+
<p align="center"><a href="./README.md">English</a> ยท <a href="./README.ko.md">ํ๊ตญ์ด</a> ยท <a href="./README.zh.md">ไธญๆ</a> ยท <a href="./README.es.md">Espaรฑol</a> ยท <a href="./README.fr.md">Franรงais</a> ยท <a href="./README.ru.md">ะ ัััะบะธะน</a></p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img alt="npm" src="https://img.shields.io/npm/v/verbalcoding?color=CB3837&logo=npm&logoColor=white">
|
|
9
|
+
<img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
|
|
10
|
+
<img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
|
|
11
|
+
<img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
|
|
12
|
+
<img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20SpeechSwift-0EA5E9">
|
|
13
|
+
<img alt="License" src="https://img.shields.io/github/license/ca1773130n/VerbalCoding">
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="docs/assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## ใชใไฝใฃใใฎใ
|
|
21
|
+
|
|
22
|
+
VerbalCoding ใฏ Discord ใฎ้ณๅฃฐใซใผใ ใใใณใผใใฃใณใฐใจใผใธใงใณใ็จใฎใใณใบใใชใผๆไฝๅธญใซๅคใใพใใๅฃฐใงไพ้ ผใใCLI ใจใผใธใงใณใใซไฝๆฅญใใใ็ญใ้ณๅฃฐๅ็ญใจใใญในใ่จ้ฒใๅใๅใใพใใdiff ใใญใฐใ้ทใ
ใจ่ชญใฟไธใใชใใใใฎไฟ่ญทใๅ
ฅใฃใฆใใพใใ
|
|
23
|
+
|
|
24
|
+
> **ใใงใซ Hermes Agent ใไฝฟใฃใฆใใพใใ๏ผ** Hermes ่ชไฝใซใ `/voice join` / `/voice channel` ใซใใ Discord ้ณๅฃฐใใฃใณใใซๅฏพๅฟใใใใพใใ็พๅจใฎ VC ใซๅๅ ใใWhisper STT ใงๆๅญ่ตทใใใใTTS ใง่ฉฑใ่ฟใใพใใใใฎๅบๆฌใซใผใใ ใใชใ VerbalCoding ใฏๅฟ
้ ใงใฏใใใพใใใVerbalCoding ใฏใใฎไธใซใใใญใธใงใฏใ/ใปใใทใงใณใซใผใใฃใณใฐใ้ณๅฃฐ+ใใญในใๅ
ฑๆใณใณใใญในใใๅฒใ่พผใฟใซใผใซใ้ฒๆ้ณๅฃฐใ่จ่ชใใชใปใใใใฌใคใใณใทๆๆจใHermes ไปฅๅคใฎ CLI ใใใฏใจใณใๅใๆฟใใๅ ใใใฏใผใฏใใญใผใฌใคใคใผใงใใ
|
|
25
|
+
|
|
26
|
+
## ไฝ้จใฎ้ใ
|
|
27
|
+
|
|
28
|
+
| ๆฉ่ฝ | ไพกๅค |
|
|
29
|
+
|---|---|
|
|
30
|
+
| ้ป่ฉฑใฎใใใชๆตใ | ๅใ Discord ้ณๅฃฐใใฃใณใใซใง่ฉฑใใ่ใใๅฒใ่พผใใ็ถใใใใงใใพใใ |
|
|
31
|
+
| ไบบๅใใฎใฌใคใไปใ่จญๅฎ | `vc setup` ใ prerequisitesใDiscord token/client IDใvoice channelใtranscript targetใbackendใTTS ่จญๅฎใไธ้ฃใฎๆตใใง็ขบ่ชใใพใใ |
|
|
32
|
+
| ใญใผใซใซ้ณๅฃฐใซใผใ | Discord audio โ local `whisper-cli` โ selected CLI agent โ TTS responseใ |
|
|
33
|
+
| ใจใผใธใงใณใ้ธๆ | Hermes AgentใClaude CodeใCodexใGemini CLIใOpenCodeใOpenClawใcustom command ใซๅฏพๅฟใใพใใ |
|
|
34
|
+
| Hermes ๆจๆบ้ณๅฃฐใฎๅ
| ๅใ VC ้ณๅฃฐใซใผใใๅๅฐใซใใใญใธใงใฏใใซใผใ ใ`!ask` ๅ
ฑๆใณใณใใญในใใ็ดฐใใชๅฒใ่พผใฟๅฆ็ใ้ฒๆ/็ถๆ
ใฎ้ณๅฃฐๆกๅ
ใ่คๆฐใจใผใธใงใณใใใใฏใจใณใๅถๅพกใ่ฟฝๅ ใใพใใ |
|
|
35
|
+
| ้็จๅใๆฉ่ฝ | doctor auto-fixใDocker UDP ใฌใคใใlatency metricsใmulti-instance roomsใredacted config checks ใๅใใฆใใพใใ |
|
|
36
|
+
|
|
37
|
+
## ใฏใคใใฏในใฟใผใ
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g verbalcoding@latest
|
|
41
|
+
vc setup
|
|
42
|
+
vc doctor
|
|
43
|
+
vc start
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
้ๅธธใฎไบบ้ๅใๅฐ็ทใฏ `vc setup` ใงใใDiscord Developer Portal ใ้ใใใพใพใbot tokenใapplication/client IDใtranscript targetใvoice channel names ใๅ
ฅๅใใฆใใ ใใใ
|
|
47
|
+
|
|
48
|
+
่ชๅๅใงใฏใใญใณใใใ็็ฅใใDiscord ใฎๅคใๅพใใ่จญๅฎใงใใพใใ
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
vc setup --yes
|
|
52
|
+
vc setup token <bot-token> --client-id <discord-client-id>
|
|
53
|
+
vc setup channels "General,Team Voice"
|
|
54
|
+
vc doctor
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Discord ่จญๅฎใ 1 ๅใง
|
|
58
|
+
|
|
59
|
+
1. Discord Developer Portal ใง application ใจ bot ใไฝๆใใพใใ
|
|
60
|
+
2. Message Content privileged intent ใๆๅนใซใใพใใ
|
|
61
|
+
3. `vc setup` ใๅฎ่กใใbot token ใจ application/client ID ใ่ฒผใไปใใพใใ
|
|
62
|
+
4. ่ชๅๅๅ ใใ voice channel ๅใๆญฃ็ขบใซๅ
ฅๅใใพใใ
|
|
63
|
+
5. ๆฌกใฎใณใใณใใง bot ใๆๅพ
ใใพใใ
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
vc bot invite <discord-client-id>
|
|
67
|
+
vc bot invite <discord-client-id> --guild <guild-id>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## ๅฐใใชใณใใณใ่กจ
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
vc setup # ใฌใคใไปใ่จญๅฎ: prerequisites, Discord, backend, voice
|
|
74
|
+
vc setup --yes # ้ๅฏพ่ฉฑ bootstrap/starter config
|
|
75
|
+
vc setup token # Discord bot token ใจ client ID ใๅพใงๆดๆฐ/่ฟฝๅ
|
|
76
|
+
vc setup channels "General,Team Voice" # auto-join voice channel names ใๆดๆฐ
|
|
77
|
+
vc bot invite CLIENT_ID # Discord bot invite URL ใ็ๆ
|
|
78
|
+
vc status # ็พๅจใฎ่จญๅฎใ่กจ็คบ
|
|
79
|
+
vc language ko|en|auto # language preset ใๅใๆฟใ
|
|
80
|
+
vc doctor # redacted health check ใจ auto-fix
|
|
81
|
+
vc start # ๆขๅฎ bridge ใ้ๅง
|
|
82
|
+
vc instance setup NAME # ๅ้ขใใใ project voice bot ใไฝๆ
|
|
83
|
+
vc instance start NAME # ใใฎ bot ใ background ใงๅฎ่ก
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## ่ฉณใใ่ฆใ
|
|
87
|
+
|
|
88
|
+
| ใฌใคใ | ๅพใใใๅ
ๅฎน |
|
|
89
|
+
|---|---|
|
|
90
|
+
| [ใใญใฅใกใณใใใ](docs/i18n/README.ja.md) | ใญใผใซใฉใคใบๆธใฟใฌใคใใฎ็ดขๅผใ |
|
|
91
|
+
| [Fresh Install](docs/i18n/FRESH_INSTALL.ja.md) | npm/global setupใDiscord ่จญๅฎใๅๅ่ตทๅใ |
|
|
92
|
+
| [Usage](docs/i18n/USAGE.ja.md) | CLI ใณใใณใใDiscord ใณใใณใใๅฎ่กใขใผใใlatencyใ |
|
|
93
|
+
| [Hermes ๆจๆบ้ณๅฃฐ vs VerbalCoding](docs/i18n/HERMES_VOICE.ja.md) | Hermes ใใใงใซๆไพใใ Discord ้ณๅฃฐใจ VerbalCoding ใฎ้ใใ |
|
|
94
|
+
| [Configuration](docs/i18n/CONFIGURATION.ja.md) | .envใagent backendsใMCPใTTSใ้็จใ |
|
|
95
|
+
| [Troubleshooting](docs/i18n/TROUBLESHOOTING.ja.md) | Docker UDPใtoken/channel ไธ่ถณใใงใใฏใ |
|
|
96
|
+
| [Multi-Instance](docs/i18n/MULTI_INSTANCE.ja.md) | ใใญใธใงใฏใใใจใซๅบๅฎ้ณๅฃฐใซใผใ ใ 1 ใคใ |
|
|
97
|
+
|
|
98
|
+
## ่ฆไปถ
|
|
99
|
+
|
|
100
|
+
| ใฌใคใคใผ | ๆขๅฎ |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Runtime | Node.js 20+ ใจ npmใ |
|
|
103
|
+
| Audio | `ffmpeg` ใจ local `whisper-cli`ใ |
|
|
104
|
+
| TTS | ๆขๅฎใฏ Edge TTSใOpenVoiceใSpeechSwift/CosyVoiceใSupertonic ใฏไปปๆใ |
|
|
105
|
+
| Discord | Bot tokenใMessage Content intentใvoice permissionsใไธ่ดใใ channel namesใ |
|
|
106
|
+
| Agent | ่ช่จผๆธใฟ CLI harness ใ 1 ใคไปฅไธใๆขๅฎใฏ Hermes Agentใ |
|
|
107
|
+
|
|
108
|
+
## Docker / ใณใณใใๆณจๆ
|
|
109
|
+
|
|
110
|
+
ใญใฐใซ `Cannot perform IP discovery - socket closed` ใๅบใๅ ดๅใDiscord voice UDP ใใใญใใฏใใใฆใใพใใLinux Docker Compose ใงใฏๆฌกใไฝฟใใพใ:
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
services:
|
|
114
|
+
verbalcoding:
|
|
115
|
+
network_mode: "host"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
`network_mode: "host"` ใจ `ports:` ใไฝต็จใใชใใงใใ ใใใ
|
|
119
|
+
|
|
120
|
+
## ใณใณใใชใใฅใผใทใงใณ
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node --check app-node/main.mjs
|
|
124
|
+
npm test
|
|
125
|
+
bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh
|
|
126
|
+
npm pack --dry-run
|
|
127
|
+
vc doctor
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## ็ถๆ
|
|
131
|
+
|
|
132
|
+
VerbalCoding ใฏๅ
ฌ้ใชใชใผในใ็ฎๆใใฆใใพใใใใพใ ๅๆๆฎต้ใงใใใใขๅ็ป/GIFใใใๅบใ Linux ๆค่จผใCIใใปใญใฅใชใใฃใฌใใฅใผใฏ TODO ใงใใ
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# VerbalCoding
|
|
2
|
+
|
|
3
|
+
<p align="center"><strong>Discord ์์ฑ์ผ๋ก CLI ์ฝ๋ฉ ์์ด์ ํธ์ ํตํํ๋ฏ ์์
ํ์ธ์.</strong></p>
|
|
4
|
+
|
|
5
|
+
<p align="center"><a href="./README.md">English</a> ยท <a href="./README.ja.md">ๆฅๆฌ่ช</a> ยท <a href="./README.zh.md">ไธญๆ</a> ยท <a href="./README.es.md">Espaรฑol</a> ยท <a href="./README.fr.md">Franรงais</a> ยท <a href="./README.ru.md">ะ ัััะบะธะน</a></p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img alt="npm" src="https://img.shields.io/npm/v/verbalcoding?color=CB3837&logo=npm&logoColor=white">
|
|
9
|
+
<img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
|
|
10
|
+
<img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
|
|
11
|
+
<img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
|
|
12
|
+
<img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20SpeechSwift-0EA5E9">
|
|
13
|
+
<img alt="License" src="https://img.shields.io/github/license/ca1773130n/VerbalCoding">
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="docs/assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## ์กด์ฌ ์ด์
|
|
21
|
+
|
|
22
|
+
VerbalCoding์ Discord ์์ฑ ๋ฐฉ์ ์ฝ๋ฉ ์์ด์ ํธ์ฉ ํธ์ฆํ๋ฆฌ ์กฐ์ข
์์ผ๋ก ๋ฐ๊ฟ๋๋ค. ๋ง๋ก ์์ฒญํ๊ณ , CLI ์์ด์ ํธ๊ฐ ์์
ํ๊ฒ ๋๊ณ , ๊ฐ๊ฒฐํ ์์ฑ ๋ต๋ณ๊ณผ ํ
์คํธ ๊ธฐ๋ก์ ๋ฐ์ต๋๋ค. diff์ ๋ก๊ทธ๋ TTS๋ก ๊ธธ๊ฒ ์ฝ์ง ์๋๋ก ๋ณดํธํฉ๋๋ค.
|
|
23
|
+
|
|
24
|
+
> **Hermes Agent๋ฅผ ์ด๋ฏธ ์ฐ๊ณ ์๋์?** Hermes ์์ฒด๋ `/voice join` / `/voice channel`๋ก Discord ์์ฑ ์ฑ๋์ ๋ค์ด๊ฐ Whisper STT์ TTS ๋ต๋ณ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ ๊ธฐ๋ณธ ๋ฃจํ๋ง ํ์ํ๋ค๋ฉด VerbalCoding์ ํ์๊ฐ ์๋๋๋ค. VerbalCoding์ ๊ทธ ์์ ํ๋ก์ ํธ/์ธ์
๋ผ์ฐํ
, ์์ฑ+ํ
์คํธ ๊ณต์ ์ปจํ
์คํธ, ๋ฐ์ง์ธ ๊ท์น, ์งํ ์์ฑ ์๋ด, ์ธ์ด ํ๋ฆฌ์
, ์ง์ฐ ์๊ฐ ์งํ, Hermes ์ธ CLI ๋ฐฑ์๋ ์ ํ์ ์น๋ ์ํฌํ๋ก ๋ ์ด์ด์
๋๋ค.
|
|
25
|
+
|
|
26
|
+
## ๋ฌด์์ด ๋ค๋ฅธ๊ฐ
|
|
27
|
+
|
|
28
|
+
| ๊ธฐ๋ฅ | ์ ์ค์ํ๊ฐ |
|
|
29
|
+
|---|---|
|
|
30
|
+
| ํตํ ๊ฐ์ ์์
ํ๋ฆ | ํ Discord ์์ฑ ์ฑ๋์์ ๋งํ๊ณ , ๋ฃ๊ณ , ๋ผ์ด๋ค๊ณ , ์ด์ด์ ์์
ํฉ๋๋ค. |
|
|
31
|
+
| ์๋ดํ ์ฌ๋์ฉ ์ค์ | `vc setup`์ด prerequisites, Discord token/client ID, voice channel, transcript target, backend, TTS ์ค์ ์ ํ ํ๋ฆ์ผ๋ก ๋ฌป์ต๋๋ค. |
|
|
32
|
+
| ๋ก์ปฌ ์์ฑ ๋ฃจํ | Discord audio โ local `whisper-cli` โ selected CLI agent โ TTS ๋ต๋ณ. |
|
|
33
|
+
| ์์ด์ ํธ ์ ํ | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, custom command๋ฅผ ์ง์ํฉ๋๋ค. |
|
|
34
|
+
| Hermes ๊ธฐ๋ณธ ์์ฑ ๋๋จธ | ๊ฐ์ VC ์์ฑ ๋ฃจํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก์ ํธ ๋ฐฉ, `!ask` ๊ณต์ ์ปจํ
์คํธ, ์ธ๋ฐํ ๋ผ์ด๋ค๊ธฐ ์ฒ๋ฆฌ, ์งํ/์ํ ์์ฑ ์๋ด, ๋ค์ค ์์ด์ ํธ ๋ฐฑ์๋ ์ ์ด๋ฅผ ๋ํฉ๋๋ค. |
|
|
35
|
+
| ์ด์ ์นํ ๊ธฐ๋ฅ | doctor auto-fix, Docker UDP ์๋ด, latency metrics, multi-instance rooms, redacted config checks๊ฐ ํฌํจ๋ฉ๋๋ค. |
|
|
36
|
+
|
|
37
|
+
## ๋น ๋ฅธ ์์
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g verbalcoding@latest
|
|
41
|
+
vc setup
|
|
42
|
+
vc doctor
|
|
43
|
+
vc start
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`vc setup`์ด ์ผ๋ฐ ์ฌ์ฉ์ ๊ฒฝ๋ก์
๋๋ค. Discord Developer Portal์ ์ด์ด ๋ ์ํ์์ bot token, application/client ID, transcript target, voice channel names๋ฅผ ์
๋ ฅํ์ธ์.
|
|
47
|
+
|
|
48
|
+
์๋ํ์์๋ ํ๋กฌํํธ๋ฅผ ๊ฑด๋๋ด ๋ค Discord ๊ฐ์ ๋์ค์ ๋ฃ์ ์ ์์ต๋๋ค.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
vc setup --yes
|
|
52
|
+
vc setup token <bot-token> --client-id <discord-client-id>
|
|
53
|
+
vc setup channels "General,Team Voice"
|
|
54
|
+
vc doctor
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Discord ์ค์ 1๋ถ ์์ฝ
|
|
58
|
+
|
|
59
|
+
1. Discord Developer Portal์์ application๊ณผ bot์ ๋ง๋ญ๋๋ค.
|
|
60
|
+
2. Message Content privileged intent๋ฅผ ์ผญ๋๋ค.
|
|
61
|
+
3. `vc setup`์ ์คํํ๊ณ bot token๊ณผ application/client ID๋ฅผ ๋ถ์ฌ๋ฃ์ต๋๋ค.
|
|
62
|
+
4. ์๋ ์
์ฅํ voice channel ์ด๋ฆ์ ์ ํํ ์
๋ ฅํฉ๋๋ค.
|
|
63
|
+
5. ์๋ ๋ช
๋ น์ผ๋ก bot์ ์ด๋ํฉ๋๋ค.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
vc bot invite <discord-client-id>
|
|
67
|
+
vc bot invite <discord-client-id> --guild <guild-id>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## ์์ ๋ช
๋ น ์ง๋
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
vc setup # ์๋ดํ ์ค์ : prerequisites, Discord, backend, voice
|
|
74
|
+
vc setup --yes # ๋น๋ํํ bootstrap/starter config
|
|
75
|
+
vc setup token # ๋์ค์ Discord bot token๊ณผ client ID ํ์ /์ถ๊ฐ
|
|
76
|
+
vc setup channels "General,Team Voice" # auto-join voice channel names ์
๋ฐ์ดํธ
|
|
77
|
+
vc bot invite CLIENT_ID # Discord bot invite URL ์์ฑ
|
|
78
|
+
vc status # ํ์ฌ ์ค์ ํ์
|
|
79
|
+
vc language ko|en|auto # language preset ์ ํ
|
|
80
|
+
vc doctor # redacted health check์ auto-fix
|
|
81
|
+
vc start # ๊ธฐ๋ณธ bridge ์์
|
|
82
|
+
vc instance setup NAME # ๊ฒฉ๋ฆฌ๋ project voice bot ์์ฑ
|
|
83
|
+
vc instance start NAME # ํด๋น bot์ background๋ก ์คํ
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## ๋ ๋ณด๊ธฐ
|
|
87
|
+
|
|
88
|
+
| ๊ฐ์ด๋ | ๋ด์ฉ |
|
|
89
|
+
|---|---|
|
|
90
|
+
| [๋ฌธ์ ํ๋ธ](docs/i18n/README.ko.md) | ํ์งํ๋ ๊ฐ์ด๋ ์์ธ. |
|
|
91
|
+
| [Fresh Install](docs/i18n/FRESH_INSTALL.ko.md) | npm/global setup, Discord ์ค์ , ์ฒซ ์คํ. |
|
|
92
|
+
| [Usage](docs/i18n/USAGE.ko.md) | CLI ๋ช
๋ น, Discord ๋ช
๋ น, ์คํ ๋ชจ๋, latency. |
|
|
93
|
+
| [Hermes ๊ธฐ๋ณธ ์์ฑ vs VerbalCoding](docs/i18n/HERMES_VOICE.ko.md) | Hermes๊ฐ ์ด๋ฏธ ์ง์ํ๋ Discord ์์ฑ๊ณผ VerbalCoding์ ์ฐจ์ด. |
|
|
94
|
+
| [Configuration](docs/i18n/CONFIGURATION.ko.md) | .env, agent backends, MCP, TTS, ์ด์. |
|
|
95
|
+
| [Troubleshooting](docs/i18n/TROUBLESHOOTING.ko.md) | Docker UDP, token/channel ๋๋ฝ ์ ๊ฒ. |
|
|
96
|
+
| [Multi-Instance](docs/i18n/MULTI_INSTANCE.ko.md) | ํ๋ก์ ํธ๋ง๋ค ํ๋์ ๊ณ ์ ์์ฑ ๋ฐฉ. |
|
|
97
|
+
|
|
98
|
+
## ์๊ตฌ ์ฌํญ
|
|
99
|
+
|
|
100
|
+
| ๊ณ์ธต | ๊ธฐ๋ณธ๊ฐ |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Runtime | Node.js 20+์ npm. |
|
|
103
|
+
| Audio | `ffmpeg`์ local `whisper-cli`. |
|
|
104
|
+
| TTS | ๊ธฐ๋ณธ Edge TTS, ์ ํ OpenVoice, SpeechSwift/CosyVoice, Supertonic. |
|
|
105
|
+
| Discord | Bot token, Message Content intent, voice permissions, ์ผ์นํ๋ channel names. |
|
|
106
|
+
| Agent | ์ธ์ฆ๋ CLI harness ํ๋ ์ด์, ๊ธฐ๋ณธ์ Hermes Agent. |
|
|
107
|
+
|
|
108
|
+
## Docker / ์ปจํ
์ด๋ ์ฐธ๊ณ
|
|
109
|
+
|
|
110
|
+
๋ก๊ทธ์ `Cannot perform IP discovery - socket closed`๊ฐ ๋ณด์ด๋ฉด Discord voice UDP๊ฐ ๋งํ ๊ฒ์
๋๋ค. Linux Docker Compose์์๋ ๋ค์์ ์ฌ์ฉํ์ธ์:
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
services:
|
|
114
|
+
verbalcoding:
|
|
115
|
+
network_mode: "host"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
`network_mode: "host"`์ `ports:`๋ฅผ ํจ๊ป ์ฐ์ง ๋ง์ธ์.
|
|
119
|
+
|
|
120
|
+
## ๊ธฐ์ฌ
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node --check app-node/main.mjs
|
|
124
|
+
npm test
|
|
125
|
+
bash -n run.sh scripts/install.sh scripts/bootstrap_prereqs.sh
|
|
126
|
+
npm pack --dry-run
|
|
127
|
+
vc doctor
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## ์ํ
|
|
131
|
+
|
|
132
|
+
VerbalCoding์ ๊ณต๊ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์งํฅํ์ง๋ง ์์ง ์ด๊ธฐ ๋จ๊ณ์
๋๋ค. ๋ฐ๋ชจ ์์/GIF, ๋ ๋์ Linux ๊ฒ์ฆ, CI, ๋ณด์ ๋ฆฌ๋ทฐ๋ TODO์
๋๋ค.
|