verbalcoding 0.2.6 → 0.2.7

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 (38) hide show
  1. package/README.md +5 -0
  2. package/docs/i18n/CONFIGURATION.es.md +150 -0
  3. package/docs/i18n/CONFIGURATION.fr.md +150 -0
  4. package/docs/i18n/CONFIGURATION.ja.md +150 -0
  5. package/docs/i18n/CONFIGURATION.ko.md +49 -146
  6. package/docs/i18n/CONFIGURATION.ru.md +150 -0
  7. package/docs/i18n/CONFIGURATION.zh.md +150 -0
  8. package/docs/i18n/FRESH_INSTALL.es.md +124 -0
  9. package/docs/i18n/FRESH_INSTALL.fr.md +124 -0
  10. package/docs/i18n/FRESH_INSTALL.ja.md +124 -0
  11. package/docs/i18n/FRESH_INSTALL.ko.md +37 -114
  12. package/docs/i18n/FRESH_INSTALL.ru.md +124 -0
  13. package/docs/i18n/FRESH_INSTALL.zh.md +124 -0
  14. package/docs/i18n/MULTI_INSTANCE.es.md +121 -0
  15. package/docs/i18n/MULTI_INSTANCE.fr.md +121 -0
  16. package/docs/i18n/MULTI_INSTANCE.ja.md +121 -0
  17. package/docs/i18n/MULTI_INSTANCE.ko.md +28 -86
  18. package/docs/i18n/MULTI_INSTANCE.ru.md +121 -0
  19. package/docs/i18n/MULTI_INSTANCE.zh.md +121 -0
  20. package/docs/i18n/README.es.md +50 -86
  21. package/docs/i18n/README.fr.md +50 -86
  22. package/docs/i18n/README.ja.md +50 -86
  23. package/docs/i18n/README.ko.md +41 -113
  24. package/docs/i18n/README.ru.md +50 -86
  25. package/docs/i18n/README.zh.md +50 -86
  26. package/docs/i18n/RELEASE.es.md +58 -0
  27. package/docs/i18n/RELEASE.fr.md +58 -0
  28. package/docs/i18n/RELEASE.ja.md +58 -0
  29. package/docs/i18n/RELEASE.ko.md +36 -50
  30. package/docs/i18n/RELEASE.ru.md +58 -0
  31. package/docs/i18n/RELEASE.zh.md +58 -0
  32. package/docs/i18n/USAGE.es.md +134 -0
  33. package/docs/i18n/USAGE.fr.md +134 -0
  34. package/docs/i18n/USAGE.ja.md +134 -0
  35. package/docs/i18n/USAGE.ko.md +63 -101
  36. package/docs/i18n/USAGE.ru.md +134 -0
  37. package/docs/i18n/USAGE.zh.md +134 -0
  38. package/package.json +1 -1
@@ -1,86 +1,71 @@
1
1
  # VerbalCoding 사용 가이드
2
2
 
3
- 문서는 README에 넣기에는 긴 실제 운영 방법을 모아 둔 사용 설명서입니다.
3
+ Operational details for 한국어 users.
4
4
 
5
- ## CLI 명령
5
+ ## CLI Commands
6
6
 
7
7
  ```bash
8
- vc setup --yes # npm 설치 후 의존성 부트스트랩과 설정 마법사 실행
9
- vc start # 기본 Discord 음성 브릿지 시작
10
- vc status # STT 언어, 진행 언어, TTS 음성 상태 보기
11
- vc language en # 영어 STT + 영어 진행/TTS 음성
12
- vc language ko # 한국어 STT + 한국어 진행/TTS 음성
13
- vc language auto # Whisper 자동 언어 감지 + 진행/TTS 음성 프리셋
14
- vc restart auto status # 커밋 시 음성 봇 자동 재시작 설정 보기
15
- vc restart auto on # 커밋 시 음성 봇 자동 재시작 켜기
16
- vc restart auto off # 자동 재시작 끄기; 기본값
17
- vc bot invite CLIENT_ID # 필요한 권한이 포함된 Discord 초대 URL 출력
18
- vc instance status # 인스턴스별 설정과 프로세스 상태 목록 보기
19
- vc instance setup NAME # instances/NAME.env 작성 및 Hermes 프로필 생성
20
- vc instance start NAME # ./run.sh instances/NAME.env를 백그라운드로 시작
21
- vc instance stop NAME # 백그라운드 인스턴스 중지 및 pid 파일 제거
22
- vc doctor # 비밀값을 숨긴 상태 점검 실행
23
- npm run mcp # stdio MCP 서버 실행
8
+ vc status
9
+ vc language en
10
+ vc language ko
11
+ vc language auto
12
+ vc restart auto status
13
+ vc restart auto on
14
+ vc restart auto off
15
+ vc bot invite CLIENT_ID
16
+ vc instance status
17
+ vc instance setup NAME
18
+ vc instance start NAME
19
+ vc instance stop NAME
20
+ vc doctor
21
+ npm run mcp
24
22
  ```
25
23
 
26
- 언어 변경은 `.env`를 수정합니다. 적용하려면 `vc start`, `./run.sh`, 또는 사용 중인 프로세스 매니저로 브릿지를 재시작하세요.
27
-
28
- ## 실행 모드
24
+ Language commands update `.env`; restart with `vc start`, `./run.sh`, or your process manager.
29
25
 
30
- npm으로 설치한 기본 브릿지:
26
+ ## Run Modes
31
27
 
32
28
  ```bash
33
29
  vc start
34
- ```
35
-
36
- GitHub 클론에서 직접 실행:
37
-
38
- ```bash
39
30
  ./run.sh
40
- ```
41
-
42
- 프로젝트별 인스턴스 env로 실행:
43
-
44
- ```bash
45
31
  ./run.sh instances/my-project.env
46
- # 또는
47
32
  VERBALCODING_INSTANCE_ENV=instances/my-project.env ./run.sh
48
33
  ```
49
34
 
50
- 봇은 설정된 음성 채널 이름 번째로 자동 입장합니다. 기본값은 `일반,General,general`입니다.
35
+ The bot auto-joins the first configured channel name, defaulting to `일반,General,general`.
51
36
 
52
- ## Discord 명령
37
+ ## Discord Commands
53
38
 
54
- 명령을 연결하기 전에 먼저 상위 문서대로 Discord 애플리케이션/봇을 설정하세요.
39
+ Before using commands, set up the Discord application/bot:
55
40
 
56
- - Hermes Agent Discord 가이드: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
57
- - Discord 공식 문서: <https://docs.discord.com/developers/bots/overview>
41
+ - Hermes Agent Discord guide: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
42
+ - Discord official bot docs: <https://docs.discord.com/developers/bots/overview>
58
43
 
59
- 다음 `vc bot invite CLIENT_ID`를 사용하면 VerbalCoding 필요한 텍스트/음성 권한이 포함된 초대 URL을 만들 수 있습니다.
44
+ Then run `vc bot invite CLIENT_ID` for the VerbalCoding permissions.
60
45
 
61
- | 명령 | 용도 |
46
+ | Command | Purpose |
62
47
  |---|---|
63
- | `!ping` | 연결 기본 확인 |
64
- | `!join` / `!leave` | 음성 채널 입장/퇴장 |
65
- | `!say <text>` | 텍스트를 바로 TTS 읽기 |
66
- | `!voice-test <text>` | 현재 TTS 백엔드/목소리 테스트 |
67
- | `!voice-clone capture` | 다음 유효 발화를 OpenVoice 기준 샘플로 저장 |
68
- | `!voice-clone status` / `!voice-clone cancel` | 샘플 캡처 상태 확인/취소 |
69
- | `!ask <prompt>` | 음성과 같은 선택된 CLI 어댑터로 텍스트 요청 보내기 |
70
- | `!session status` | 현재 프로젝트/default 에이전트 세션 보기 |
71
- | `!session new <name> <workdir> [context] --voice <voice-channel>` | 프로젝트 단위 Hermes 세션 생성 |
72
- | `!session attach-voice [sessionName] --voice <voice-channel>` | 현재 텍스트 채널/스레드를 음성 채널에 연결 |
73
- | `!session list` | 설정된 프로젝트 세션 목록 보기 |
74
- | `!session reset` / `!reset-session` | 현재 프로젝트/default 세션 파일 초기화 |
75
- | `!verbose on/off` | 자세한 진행 업데이트 켜기/끄기 |
76
- | `!latency` / `!metrics` | 최근 지연 시간 요약 보기 |
77
- | `!sensitivity normal/conservative` | 끼어들기 감도 전환 |
78
-
79
- 음성으로도 “외부 모드”, “보수 모드”, “실내”, “기본 감도” 같은 감도 전환과 “잠깐”, “멈춰”, “그만” 같은 명확한 중단 표현을 처리합니다. “상세 진행 켜” / “상세 진행 꺼”처럼 말해서 verbose progress도 바꿀 수 있습니다.
80
-
81
- ## 목소리 변경
82
-
83
- `vc language ko|en|auto`는 STT 언어, 진행 언어, 기본 TTS 목소리를 함께 바꿉니다. 언어 전체가 아니라 말하는 사람/목소리만 바꾸고 싶다면 Discord 음성에서 이렇게 말하면 됩니다.
48
+ | `!ping` | Basic bot check |
49
+ | `!join` / `!leave` | Join or leave voice |
50
+ | `!say <text>` | Speak text directly through TTS |
51
+ | `!voice-test <text>` | Test the active TTS backend/voice |
52
+ | `!voice-clone capture` | Save the next valid utterance as an OpenVoice reference sample |
53
+ | `!voice-clone status` / `!voice-clone cancel` | Inspect or cancel capture |
54
+ | `!ask <prompt>` | Send text through the same harness adapter as voice |
55
+ | `!session status` | Show current project/default adapter session |
56
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | Create a project-scoped Hermes session |
57
+ | `!session attach-voice [sessionName] --voice <voice-channel>` | Bind a text channel/thread to a voice channel |
58
+ | `!session list` | List configured project sessions |
59
+ | `!session reset` / `!reset-session` | Clear the current session file |
60
+ | `!verbose on/off` | Toggle detailed progress updates |
61
+ | `!latency` / `!metrics` | Show recent latency summary |
62
+ | `!sensitivity normal/conservative` | Switch barge-in sensitivity |
63
+
64
+ Voice equivalents such as “외부 모드”, “보수 모드”, “실내”, “기본 감도”, “상세 진행 켜”, and clear stop phrases like “잠깐”, “멈춰”, “그만” are handled by the bridge.
65
+
66
+ ## Changing the Voice
67
+
68
+ `vc language ko|en|auto` changes STT language, progress language, and the matching default TTS voice together. Live voice commands can change the speaker without restart:
84
69
 
85
70
  ```text
86
71
  남자 한국어 목소리로 바꿔
@@ -89,11 +74,9 @@ change voice to Korean female
89
74
  switch speaker to English
90
75
  ```
91
76
 
92
- 실행 중인 브릿지는 이 발화를 제어 명령으로 인식해 `config/tts-voices.json`을 갱신하고, 현재 프로세스의 TTS 설정도 바로 바꾼 뒤 “목소리를 Korean male로 바꿨어.” 같은 짧은 확인을 말합니다. 바꾼 직후에는 `!voice-test <text>`로 현재 백엔드와 목소리를 바로 들어볼 수 있습니다.
93
-
94
- 기본 Edge 목소리 타입:
77
+ Built-in Edge types:
95
78
 
96
- | 목소리 타입 | Edge voice |
79
+ | Voice type | Edge voice |
97
80
  |---|---|
98
81
  | `korean_male` | `ko-KR-InJoonNeural` |
99
82
  | `korean_female` | `ko-KR-SunHiNeural` |
@@ -101,72 +84,51 @@ switch speaker to English
101
84
  | `english_male` | `en-US-GuyNeural` |
102
85
  | `english_female` | `en-US-AriaNeural` |
103
86
 
104
- 영구 수동 설정이 필요하면 `.env`에 `TTS_BACKEND=edge`, `TTS_VOICE_TYPE=<voice-type>`, 필요 시 `TTS_VOICE=<edge-voice>`를 설정하세요. 더 많은 커스텀 목소리 카탈로그는 `config/tts-voices.json`에서 관리할 수 있습니다.
87
+ Backend voice settings:
105
88
 
106
- 백엔드별 목소리 설정:
107
-
108
- | 백엔드 | 목소리 설정 | 자주 쓰는 선택지 |
89
+ | Backend | Voice setting | Common choices |
109
90
  |---|---|---|
110
- | Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` | `korean_male`, `korean_female`, `korean_multilingual_male`, `english_male`, `english_female`; `edge-tts --list-voices`의 모든 Edge voice |
91
+ | Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` | Built-in types or any Edge voice from `edge-tts --list-voices` |
111
92
  | Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` |
112
- | OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` | 사용 허가가 있는 reference WAV `default` 같은 style |
113
- | SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` | CosyVoice reference WAV 또는 백엔드가 지원하는 speaker/model |
114
-
115
- Supertonic과 로컬 clone 백엔드는 위 env를 바꾼 뒤 `!voice-test <text>`로 바로 들어보세요. 현재 음성 명령 기반 전환은 기본 Edge-style voice type에 매핑되어 있고, 더 풍부한 백엔드 카탈로그는 `config/tts-voices.json`에 추가할 수 있습니다.
116
-
117
- ## 긴 발화와 중간 멈춤
93
+ | OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` | A permitted reference WAV plus style such as `default` |
94
+ | SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` | Reference WAV or backend speaker/model values |
118
95
 
119
- VerbalCoding은 말을 STT로 보내기 전에 idle window를 기다립니다. 기본값 `UTTERANCE_IDLE_MS=4500`은 일부러 조금 여유 있게 잡혀 있습니다. 긴 지시 중 자연스러운 멈춤을 문장 끝으로 오해해 앞부분만 에이전트에 보내고, 뒷부분을 processing 중 끼어들기로 처리하는 문제를 줄이기 위해서입니다.
96
+ ## Long Dictation and Pauses
120
97
 
121
- 짧은 명령 반응을 빠르게 하고 싶다면 `.env`에서 낮추고, 한국어 dictation이 여전히 잘리면 올리세요.
98
+ The default `UTTERANCE_IDLE_MS=4500` waits long enough to keep natural pauses inside one spoken instruction. Lower it for faster short commands or raise it for long dictation:
122
99
 
123
100
  ```bash
124
101
  UTTERANCE_IDLE_MS="6000"
125
102
  ```
126
103
 
127
- ## 자세한 진행 모드
104
+ ## Verbose Progress Mode
128
105
 
129
- 자세한 진행은 기본적으로 꺼져 있습니다. `.env`에 `AGENT_VERBOSE_PROGRESS=1`을 설정하거나 Discord에서 `!verbose on`, 또는 음성으로 “상세 진행 켜”라고 말해 있습니다.
130
-
131
- 켜져 있으면 긴 작업 중 이런 짧은 진행 줄을 텍스트로 보냅니다.
106
+ Enable with `!verbose on`, `AGENT_VERBOSE_PROGRESS=1`, or “상세 진행 켜”. Progress lines look like:
132
107
 
133
108
  ```text
134
- 🤖 에이전트 호출 시작
109
+ 🤖 Hermes Agent 호출 시작
135
110
  📖 파일 읽기 app-node/main.mjs
136
111
  🔎 웹 검색 실행
137
112
  ⌨️ 터미널 명령 실행
138
- 🤖 에이전트 응답 수신
113
+ 🤖 Hermes Agent 응답 수신
139
114
  ```
140
115
 
141
- 모드는 선택된 CLI 하네스에 `VERBALCODING_PROGRESS: ...` 줄을 내보내도록 요청하고, 가능하면 stdout/stderr의 일반적인 도구 사용 흔적도 요약합니다. 비밀값처럼 보이는 필드는 숨기고, 진행 줄은 최종 음성 답변에서 제거합니다.
116
+ Secret-looking fields are redacted and progress lines are removed from final spoken answers.
142
117
 
143
- ## 지연 시간 지표
118
+ ## Latency Metrics
144
119
 
145
- VerbalCoding은 턴의 지연 시간 기록을 JSONL로 저장합니다. 기본 경로:
146
-
147
- ```text
148
- ./.logs/latency.jsonl
149
- ```
150
-
151
- 각 기록에는 상태, 전체 시간, 음성 캡처 시간, 발화 idle 대기, STT 시간, 에이전트 시간, TTS 합성/재생 시간, 청크 수, 발화 길이, 답변 길이, 가능한 경우 오디오 레벨이 포함됩니다.
152
-
153
- Discord에서:
120
+ Latency records are written to `./.logs/latency.jsonl`. In Discord, run:
154
121
 
155
122
  ```text
156
123
  !latency
157
124
  !metrics
158
125
  ```
159
126
 
160
- 요약은 최근 200개 기록 기준으로 count, average, p95, max, non-OK 상태를 보여줍니다.
161
-
162
- ## 테스트
127
+ ## Testing
163
128
 
164
129
  ```bash
165
130
  node --check app-node/main.mjs
166
131
  npm test
167
132
  bash -n run.sh scripts/install.sh
168
- npm pack --dry-run
169
133
  vc doctor
170
134
  ```
171
-
172
- `vc doctor`는 비밀값을 출력하지 않고 필수 값이 설정됐는지만 확인합니다. 또한 `instances/*.env`에서 중복 토큰 지문과 충돌하는 런타임 경로를 검사합니다.
@@ -0,0 +1,134 @@
1
+ # VerbalCoding Руководство по использованию
2
+
3
+ Operational details for Русский users.
4
+
5
+ ## CLI Commands
6
+
7
+ ```bash
8
+ vc status
9
+ vc language en
10
+ vc language ko
11
+ vc language auto
12
+ vc restart auto status
13
+ vc restart auto on
14
+ vc restart auto off
15
+ vc bot invite CLIENT_ID
16
+ vc instance status
17
+ vc instance setup NAME
18
+ vc instance start NAME
19
+ vc instance stop NAME
20
+ vc doctor
21
+ npm run mcp
22
+ ```
23
+
24
+ Language commands update `.env`; restart with `vc start`, `./run.sh`, or your process manager.
25
+
26
+ ## Run Modes
27
+
28
+ ```bash
29
+ vc start
30
+ ./run.sh
31
+ ./run.sh instances/my-project.env
32
+ VERBALCODING_INSTANCE_ENV=instances/my-project.env ./run.sh
33
+ ```
34
+
35
+ The bot auto-joins the first configured channel name, defaulting to `일반,General,general`.
36
+
37
+ ## Discord Commands
38
+
39
+ Before using commands, set up the Discord application/bot:
40
+
41
+ - Hermes Agent Discord guide: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
42
+ - Discord official bot docs: <https://docs.discord.com/developers/bots/overview>
43
+
44
+ Then run `vc bot invite CLIENT_ID` for the VerbalCoding permissions.
45
+
46
+ | Command | Purpose |
47
+ |---|---|
48
+ | `!ping` | Basic bot check |
49
+ | `!join` / `!leave` | Join or leave voice |
50
+ | `!say <text>` | Speak text directly through TTS |
51
+ | `!voice-test <text>` | Test the active TTS backend/voice |
52
+ | `!voice-clone capture` | Save the next valid utterance as an OpenVoice reference sample |
53
+ | `!voice-clone status` / `!voice-clone cancel` | Inspect or cancel capture |
54
+ | `!ask <prompt>` | Send text through the same harness adapter as voice |
55
+ | `!session status` | Show current project/default adapter session |
56
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | Create a project-scoped Hermes session |
57
+ | `!session attach-voice [sessionName] --voice <voice-channel>` | Bind a text channel/thread to a voice channel |
58
+ | `!session list` | List configured project sessions |
59
+ | `!session reset` / `!reset-session` | Clear the current session file |
60
+ | `!verbose on/off` | Toggle detailed progress updates |
61
+ | `!latency` / `!metrics` | Show recent latency summary |
62
+ | `!sensitivity normal/conservative` | Switch barge-in sensitivity |
63
+
64
+ Voice equivalents such as “외부 모드”, “보수 모드”, “실내”, “기본 감도”, “상세 진행 켜”, and clear stop phrases like “잠깐”, “멈춰”, “그만” are handled by the bridge.
65
+
66
+ ## Changing the Voice
67
+
68
+ `vc language ko|en|auto` changes STT language, progress language, and the matching default TTS voice together. Live voice commands can change the speaker without restart:
69
+
70
+ ```text
71
+ 남자 한국어 목소리로 바꿔
72
+ 여자 한국어 목소리로 바꿔
73
+ change voice to Korean female
74
+ switch speaker to English
75
+ ```
76
+
77
+ Built-in Edge types:
78
+
79
+ | Voice type | Edge voice |
80
+ |---|---|
81
+ | `korean_male` | `ko-KR-InJoonNeural` |
82
+ | `korean_female` | `ko-KR-SunHiNeural` |
83
+ | `korean_multilingual_male` | `ko-KR-HyunsuMultilingualNeural` |
84
+ | `english_male` | `en-US-GuyNeural` |
85
+ | `english_female` | `en-US-AriaNeural` |
86
+
87
+ Backend voice settings:
88
+
89
+ | Backend | Voice setting | Common choices |
90
+ |---|---|---|
91
+ | Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` | Built-in types or any Edge voice from `edge-tts --list-voices` |
92
+ | Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` |
93
+ | OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` | A permitted reference WAV plus style such as `default` |
94
+ | SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` | Reference WAV or backend speaker/model values |
95
+
96
+ ## Long Dictation and Pauses
97
+
98
+ The default `UTTERANCE_IDLE_MS=4500` waits long enough to keep natural pauses inside one spoken instruction. Lower it for faster short commands or raise it for long dictation:
99
+
100
+ ```bash
101
+ UTTERANCE_IDLE_MS="6000"
102
+ ```
103
+
104
+ ## Verbose Progress Mode
105
+
106
+ Enable with `!verbose on`, `AGENT_VERBOSE_PROGRESS=1`, or “상세 진행 켜”. Progress lines look like:
107
+
108
+ ```text
109
+ 🤖 Hermes Agent 호출 시작
110
+ 📖 파일 읽기 app-node/main.mjs
111
+ 🔎 웹 검색 실행
112
+ ⌨️ 터미널 명령 실행
113
+ 🤖 Hermes Agent 응답 수신
114
+ ```
115
+
116
+ Secret-looking fields are redacted and progress lines are removed from final spoken answers.
117
+
118
+ ## Latency Metrics
119
+
120
+ Latency records are written to `./.logs/latency.jsonl`. In Discord, run:
121
+
122
+ ```text
123
+ !latency
124
+ !metrics
125
+ ```
126
+
127
+ ## Testing
128
+
129
+ ```bash
130
+ node --check app-node/main.mjs
131
+ npm test
132
+ bash -n run.sh scripts/install.sh
133
+ vc doctor
134
+ ```
@@ -0,0 +1,134 @@
1
+ # VerbalCoding 使用指南
2
+
3
+ Operational details for 中文 users.
4
+
5
+ ## CLI Commands
6
+
7
+ ```bash
8
+ vc status
9
+ vc language en
10
+ vc language ko
11
+ vc language auto
12
+ vc restart auto status
13
+ vc restart auto on
14
+ vc restart auto off
15
+ vc bot invite CLIENT_ID
16
+ vc instance status
17
+ vc instance setup NAME
18
+ vc instance start NAME
19
+ vc instance stop NAME
20
+ vc doctor
21
+ npm run mcp
22
+ ```
23
+
24
+ Language commands update `.env`; restart with `vc start`, `./run.sh`, or your process manager.
25
+
26
+ ## Run Modes
27
+
28
+ ```bash
29
+ vc start
30
+ ./run.sh
31
+ ./run.sh instances/my-project.env
32
+ VERBALCODING_INSTANCE_ENV=instances/my-project.env ./run.sh
33
+ ```
34
+
35
+ The bot auto-joins the first configured channel name, defaulting to `일반,General,general`.
36
+
37
+ ## Discord Commands
38
+
39
+ Before using commands, set up the Discord application/bot:
40
+
41
+ - Hermes Agent Discord guide: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
42
+ - Discord official bot docs: <https://docs.discord.com/developers/bots/overview>
43
+
44
+ Then run `vc bot invite CLIENT_ID` for the VerbalCoding permissions.
45
+
46
+ | Command | Purpose |
47
+ |---|---|
48
+ | `!ping` | Basic bot check |
49
+ | `!join` / `!leave` | Join or leave voice |
50
+ | `!say <text>` | Speak text directly through TTS |
51
+ | `!voice-test <text>` | Test the active TTS backend/voice |
52
+ | `!voice-clone capture` | Save the next valid utterance as an OpenVoice reference sample |
53
+ | `!voice-clone status` / `!voice-clone cancel` | Inspect or cancel capture |
54
+ | `!ask <prompt>` | Send text through the same harness adapter as voice |
55
+ | `!session status` | Show current project/default adapter session |
56
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | Create a project-scoped Hermes session |
57
+ | `!session attach-voice [sessionName] --voice <voice-channel>` | Bind a text channel/thread to a voice channel |
58
+ | `!session list` | List configured project sessions |
59
+ | `!session reset` / `!reset-session` | Clear the current session file |
60
+ | `!verbose on/off` | Toggle detailed progress updates |
61
+ | `!latency` / `!metrics` | Show recent latency summary |
62
+ | `!sensitivity normal/conservative` | Switch barge-in sensitivity |
63
+
64
+ Voice equivalents such as “외부 모드”, “보수 모드”, “실내”, “기본 감도”, “상세 진행 켜”, and clear stop phrases like “잠깐”, “멈춰”, “그만” are handled by the bridge.
65
+
66
+ ## Changing the Voice
67
+
68
+ `vc language ko|en|auto` changes STT language, progress language, and the matching default TTS voice together. Live voice commands can change the speaker without restart:
69
+
70
+ ```text
71
+ 남자 한국어 목소리로 바꿔
72
+ 여자 한국어 목소리로 바꿔
73
+ change voice to Korean female
74
+ switch speaker to English
75
+ ```
76
+
77
+ Built-in Edge types:
78
+
79
+ | Voice type | Edge voice |
80
+ |---|---|
81
+ | `korean_male` | `ko-KR-InJoonNeural` |
82
+ | `korean_female` | `ko-KR-SunHiNeural` |
83
+ | `korean_multilingual_male` | `ko-KR-HyunsuMultilingualNeural` |
84
+ | `english_male` | `en-US-GuyNeural` |
85
+ | `english_female` | `en-US-AriaNeural` |
86
+
87
+ Backend voice settings:
88
+
89
+ | Backend | Voice setting | Common choices |
90
+ |---|---|---|
91
+ | Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` | Built-in types or any Edge voice from `edge-tts --list-voices` |
92
+ | Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` |
93
+ | OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` | A permitted reference WAV plus style such as `default` |
94
+ | SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` | Reference WAV or backend speaker/model values |
95
+
96
+ ## Long Dictation and Pauses
97
+
98
+ The default `UTTERANCE_IDLE_MS=4500` waits long enough to keep natural pauses inside one spoken instruction. Lower it for faster short commands or raise it for long dictation:
99
+
100
+ ```bash
101
+ UTTERANCE_IDLE_MS="6000"
102
+ ```
103
+
104
+ ## Verbose Progress Mode
105
+
106
+ Enable with `!verbose on`, `AGENT_VERBOSE_PROGRESS=1`, or “상세 진행 켜”. Progress lines look like:
107
+
108
+ ```text
109
+ 🤖 Hermes Agent 호출 시작
110
+ 📖 파일 읽기 app-node/main.mjs
111
+ 🔎 웹 검색 실행
112
+ ⌨️ 터미널 명령 실행
113
+ 🤖 Hermes Agent 응답 수신
114
+ ```
115
+
116
+ Secret-looking fields are redacted and progress lines are removed from final spoken answers.
117
+
118
+ ## Latency Metrics
119
+
120
+ Latency records are written to `./.logs/latency.jsonl`. In Discord, run:
121
+
122
+ ```text
123
+ !latency
124
+ !metrics
125
+ ```
126
+
127
+ ## Testing
128
+
129
+ ```bash
130
+ node --check app-node/main.mjs
131
+ npm test
132
+ bash -n run.sh scripts/install.sh
133
+ vc doctor
134
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verbalcoding",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "Discord voice bridge for CLI coding agents.",
5
5
  "license": "MIT",
6
6
  "repository": {