verbalcoding 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -27
- package/app-node/cli_install.test.mjs +15 -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 +114 -8
package/docs/i18n/USAGE.ko.md
CHANGED
|
@@ -1,71 +1,78 @@
|
|
|
1
1
|
# VerbalCoding 사용 가이드
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
이 페이지에는 README를 너무 길게 만들던 운영 세부 정보가 담겨 있습니다.
|
|
4
4
|
|
|
5
|
-
## CLI
|
|
5
|
+
## CLI 명령
|
|
6
6
|
|
|
7
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
|
|
8
|
+
vc status # STT 언어, 진행 언어, TTS 음성 표시
|
|
9
|
+
vc language en # 영어 STT + 영어 진행/TTS 음성
|
|
10
|
+
vc language ko # 한국어 STT + 한국어 진행/TTS 음성
|
|
11
|
+
vc language auto # Whisper 자동 감지 STT + 영어 진행/TTS 음성
|
|
12
|
+
vc restart auto status # 커밋 시점 음성 봇 자동 재시작 설정 표시
|
|
13
|
+
vc restart auto on # 커밋 시점 음성 봇 자동 재시작 활성화
|
|
14
|
+
vc restart auto off # 비활성화; 기본값
|
|
15
|
+
vc bot invite CLIENT_ID # 필요한 권한이 포함된 Discord 초대 URL 출력
|
|
16
|
+
vc instance status # 인스턴스별 브리지 설정 및 프로세스 상태 나열
|
|
17
|
+
vc instance setup NAME # instances/NAME.env 작성 및 ~/.hermes/profiles/NAME 생성
|
|
18
|
+
vc instance start NAME # ./run.sh instances/NAME.env를 분리 실행으로 시작
|
|
19
|
+
vc instance stop NAME # 분리 실행 중인 인스턴스를 중지하고 pid 파일 제거
|
|
20
|
+
vc doctor # 민감 정보가 제거된 doctor 점검 실행
|
|
21
|
+
npm run mcp # stdio MCP 서버 실행
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
언어 변경은 `.env`를 업데이트합니다. 적용하려면 `./run.sh` 또는 사용 중인 프로세스 관리자로 브리지를 다시 시작하세요.
|
|
25
|
+
|
|
26
|
+
## 실행 모드
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
단일 인스턴스 브리지:
|
|
27
29
|
|
|
28
30
|
```bash
|
|
29
|
-
vc start
|
|
30
31
|
./run.sh
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
로컬 override env를 사용하는 인스턴스별 브리지:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
31
37
|
./run.sh instances/my-project.env
|
|
38
|
+
# 또는
|
|
32
39
|
VERBALCODING_INSTANCE_ENV=instances/my-project.env ./run.sh
|
|
33
40
|
```
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
봇은 설정된 첫 번째 채널 이름에 자동 참가하며 기본값은 `일반,General,general`입니다.
|
|
36
43
|
|
|
37
|
-
## Discord
|
|
44
|
+
## Discord 명령
|
|
38
45
|
|
|
39
|
-
|
|
46
|
+
명령을 연결하기 전에 업스트림 가이드를 사용해 Discord 애플리케이션/봇을 설정하세요:
|
|
40
47
|
|
|
41
|
-
- Hermes Agent Discord
|
|
42
|
-
- Discord
|
|
48
|
+
- Hermes Agent Discord 가이드: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
|
|
49
|
+
- Discord 공식 봇 문서: <https://docs.discord.com/developers/bots/overview>
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
그런 다음 `vc bot invite CLIENT_ID`로 텍스트 및 음성 권한이 포함된 VerbalCoding 전용 초대 URL을 생성하세요.
|
|
45
52
|
|
|
46
|
-
|
|
|
53
|
+
| 명령 | 목적 |
|
|
47
54
|
|---|---|
|
|
48
|
-
| `!ping` |
|
|
49
|
-
| `!join` / `!leave` |
|
|
50
|
-
| `!say <text>` |
|
|
51
|
-
| `!voice-test <text>` |
|
|
52
|
-
| `!voice-clone capture` |
|
|
53
|
-
| `!voice-clone status` / `!voice-clone cancel` |
|
|
54
|
-
| `!ask <prompt>` |
|
|
55
|
-
| `!session status` |
|
|
56
|
-
| `!session new <name> <workdir> [context] --voice <voice-channel>` |
|
|
57
|
-
| `!session attach-voice [sessionName] --voice <voice-channel>` |
|
|
58
|
-
| `!session list` |
|
|
59
|
-
| `!session reset` / `!reset-session` |
|
|
60
|
-
| `!verbose on/off` |
|
|
61
|
-
| `!latency` / `!metrics` |
|
|
62
|
-
| `!sensitivity normal/conservative` |
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
##
|
|
67
|
-
|
|
68
|
-
`vc language ko|en|auto
|
|
55
|
+
| `!ping` | 기본 봇 점검 |
|
|
56
|
+
| `!join` / `!leave` | 음성 채널 참가 또는 나가기 |
|
|
57
|
+
| `!say <text>` | TTS로 텍스트를 직접 말하기 |
|
|
58
|
+
| `!voice-test <text>` | 활성 TTS 백엔드/음성 테스트 |
|
|
59
|
+
| `!voice-clone capture` | 다음 유효 발화를 OpenVoice 참조 샘플로 저장 |
|
|
60
|
+
| `!voice-clone status` / `!voice-clone cancel` | 캡처 상태 확인 또는 취소 |
|
|
61
|
+
| `!ask <prompt>` | 음성과 동일하게 선택된 하네스 어댑터로 텍스트 전송 |
|
|
62
|
+
| `!session status` | 현재 프로젝트/기본 어댑터 세션 표시 |
|
|
63
|
+
| `!session new <name> <workdir> [context] --voice <voice-channel>` | 프로젝트 범위 Hermes 세션 생성 |
|
|
64
|
+
| `!session attach-voice [sessionName] --voice <voice-channel>` | 텍스트 채널/스레드를 음성 채널에 연결 |
|
|
65
|
+
| `!session list` | 설정된 프로젝트 세션 나열 |
|
|
66
|
+
| `!session reset` / `!reset-session` | 현재 프로젝트/기본 어댑터 세션 파일 지우기 |
|
|
67
|
+
| `!verbose on/off` | 자세한 진행 업데이트 전환 |
|
|
68
|
+
| `!latency` / `!metrics` | 최근 지연 시간 요약 표시 |
|
|
69
|
+
| `!sensitivity normal/conservative` | 끼어들기 감도 전환 |
|
|
70
|
+
|
|
71
|
+
“외부 모드”, “보수 모드”, “실내”, “기본 감도” 같은 음성 표현과 “잠깐”, “멈춰”, “그만” 같은 명확한 중지 문구는 브리지가 처리합니다. “상세 진행 켜” / “상세 진행 꺼”라고 말해 음성으로 자세한 진행을 전환할 수도 있습니다.
|
|
72
|
+
|
|
73
|
+
## 음성 변경
|
|
74
|
+
|
|
75
|
+
`vc language ko|en|auto`는 STT 언어, 진행 언어, 해당 기본 TTS 음성을 함께 변경합니다. 브리지가 실행 중일 때 화자/음성만 바꾸고 싶다면 Discord 음성으로 말하세요:
|
|
69
76
|
|
|
70
77
|
```text
|
|
71
78
|
남자 한국어 목소리로 바꿔
|
|
@@ -74,9 +81,11 @@ change voice to Korean female
|
|
|
74
81
|
switch speaker to English
|
|
75
82
|
```
|
|
76
83
|
|
|
77
|
-
|
|
84
|
+
실행 중인 브리지는 이를 음성 제어 명령으로 인식하고 `config/tts-voices.json`을 업데이트하며, 실행 중 프로세스의 유효 TTS env를 업데이트하고 “목소리를 Korean male로 바꿨어.” 같은 짧은 확인으로 응답합니다. 변경 직후 `!voice-test <text>`로 현재 백엔드와 음성을 들어보세요.
|
|
85
|
+
|
|
86
|
+
내장 Edge 음성 유형:
|
|
78
87
|
|
|
79
|
-
|
|
|
88
|
+
| 음성 유형 | Edge 음성 |
|
|
80
89
|
|---|---|
|
|
81
90
|
| `korean_male` | `ko-KR-InJoonNeural` |
|
|
82
91
|
| `korean_female` | `ko-KR-SunHiNeural` |
|
|
@@ -84,26 +93,32 @@ Built-in Edge types:
|
|
|
84
93
|
| `english_male` | `en-US-GuyNeural` |
|
|
85
94
|
| `english_female` | `en-US-AriaNeural` |
|
|
86
95
|
|
|
87
|
-
|
|
96
|
+
수동 영구 설정은 `.env`에서 `TTS_BACKEND=edge`, `TTS_VOICE_TYPE=<voice-type>`, 선택적으로 `TTS_VOICE=<edge-voice>`를 설정하거나, 커스텀 음성 카탈로그를 위해 `config/tts-voices.json`을 편집하세요.
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
백엔드별 음성 조정값:
|
|
99
|
+
|
|
100
|
+
| 백엔드 | 음성 설정 | 일반 선택지 |
|
|
90
101
|
|---|---|---|
|
|
91
|
-
| Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` |
|
|
92
|
-
| Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` |
|
|
93
|
-
| OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` |
|
|
94
|
-
| SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` |
|
|
102
|
+
| Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` | `korean_male`, `korean_female`, `korean_multilingual_male`, `english_male`, `english_female`; `edge-tts --list-voices`의 모든 Edge 음성 |
|
|
103
|
+
| Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` 설정 |
|
|
104
|
+
| OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` | 허용된 참조 WAV와 `default` 같은 스타일 |
|
|
105
|
+
| SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` | CosyVoice용 참조 WAV 또는 백엔드가 지원하는 화자/모델 값 |
|
|
106
|
+
|
|
107
|
+
Supertonic 및 로컬 복제 백엔드에서는 위 백엔드 env 변수와 `!voice-test <text>`를 사용해 변경 사항을 청음하세요. 음성 명령 전환은 현재 내장 Edge 스타일 음성 유형에 매핑됩니다. 더 풍부한 백엔드 카탈로그는 `config/tts-voices.json`에 추가할 수 있습니다.
|
|
95
108
|
|
|
96
|
-
##
|
|
109
|
+
## 긴 받아쓰기와 멈춤
|
|
97
110
|
|
|
98
|
-
|
|
111
|
+
VerbalCoding은 음성을 STT로 보내기 전에 유휴 구간을 기다립니다. 기본 `UTTERANCE_IDLE_MS=4500`은 일부러 약간 여유 있게 잡혀 있어, 긴 지시 중 자연스러운 멈춤 때문에 문장이 나뉘거나 에이전트 턴이 너무 일찍 시작되고 나머지가 처리 중 끼어들기로 취급되는 일을 방지합니다.
|
|
112
|
+
|
|
113
|
+
짧은 명령을 더 빠르게 처리하고 싶다면 `.env`에서 낮추세요. 긴 한국어 받아쓰기가 여전히 나뉜다면 높이세요:
|
|
99
114
|
|
|
100
115
|
```bash
|
|
101
116
|
UTTERANCE_IDLE_MS="6000"
|
|
102
117
|
```
|
|
103
118
|
|
|
104
|
-
##
|
|
119
|
+
## 자세한 진행 모드
|
|
105
120
|
|
|
106
|
-
|
|
121
|
+
`AGENT_VERBOSE_PROGRESS=1`이 설정되지 않은 한 자세한 진행은 기본적으로 꺼져 있습니다. `!verbose on` 또는 “상세 진행 켜” 같은 음성 명령으로 활성화하세요. 다음과 같은 짧은 진행 줄을 내보낼 수 있습니다:
|
|
107
122
|
|
|
108
123
|
```text
|
|
109
124
|
🤖 Hermes Agent 호출 시작
|
|
@@ -113,18 +128,28 @@ Enable with `!verbose on`, `AGENT_VERBOSE_PROGRESS=1`, or “상세 진행 켜
|
|
|
113
128
|
🤖 Hermes Agent 응답 수신
|
|
114
129
|
```
|
|
115
130
|
|
|
116
|
-
|
|
131
|
+
이 모드는 선택된 CLI 하네스에 `VERBALCODING_PROGRESS: ...` 줄을 내보내도록 요청하고, 가능한 경우 스트리밍 stdout/stderr에서 일반적인 도구 표시자를 요약합니다. 비밀처럼 보이는 필드는 가려지고 진행 줄은 최종 음성 답변에서 제거됩니다.
|
|
132
|
+
|
|
133
|
+
## 지연 시간 지표
|
|
134
|
+
|
|
135
|
+
VerbalCoding은 턴별 지연 시간 기록을 JSONL로 작성합니다. 기본 경로:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
./.logs/latency.jsonl
|
|
139
|
+
```
|
|
117
140
|
|
|
118
|
-
|
|
141
|
+
각 기록에는 상태, 총 시간, 음성 캡처 시간, 발화 유휴 대기, STT 시간, 에이전트 시간, TTS 합성/재생 시간, 청크 수, 전사 길이, 답변 길이, 가능한 경우 오디오 레벨이 포함됩니다.
|
|
119
142
|
|
|
120
|
-
|
|
143
|
+
Discord에서:
|
|
121
144
|
|
|
122
145
|
```text
|
|
123
146
|
!latency
|
|
124
147
|
!metrics
|
|
125
148
|
```
|
|
126
149
|
|
|
127
|
-
|
|
150
|
+
요약은 최신 200개 기록을 사용합니다: 개수, 평균, p95, 최대값, OK가 아닌 상태.
|
|
151
|
+
|
|
152
|
+
## 테스트
|
|
128
153
|
|
|
129
154
|
```bash
|
|
130
155
|
node --check app-node/main.mjs
|
|
@@ -132,3 +157,5 @@ npm test
|
|
|
132
157
|
bash -n run.sh scripts/install.sh
|
|
133
158
|
vc doctor
|
|
134
159
|
```
|
|
160
|
+
|
|
161
|
+
`vc doctor`는 의도적으로 비밀 정보를 가리고 필수 값이 설정되었는지만 보고합니다. 또한 중복 토큰 지문과 충돌하는 런타임 경로가 있는지 `instances/*.env`를 확인합니다.
|
package/docs/i18n/USAGE.ru.md
CHANGED
|
@@ -1,71 +1,78 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Руководство по использованию VerbalCoding
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Эта страница содержит эксплуатационные подробности, которые раньше делали README слишком длинным.
|
|
4
4
|
|
|
5
|
-
## CLI
|
|
5
|
+
## CLI-команды
|
|
6
6
|
|
|
7
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
|
|
8
|
+
vc status # show STT language, progress language, and TTS voice
|
|
9
|
+
vc language en # English STT + English progress/TTS voice
|
|
10
|
+
vc language ko # Korean STT + Korean progress/TTS voice
|
|
11
|
+
vc language auto # Whisper auto-detect STT + English progress/TTS voice
|
|
12
|
+
vc restart auto status # show commit-time voice-bot auto-restart setting
|
|
13
|
+
vc restart auto on # enable commit-time voice-bot auto-restart
|
|
14
|
+
vc restart auto off # disable it; this is the default
|
|
15
|
+
vc bot invite CLIENT_ID # print a Discord invite URL with required permissions
|
|
16
|
+
vc instance status # list per-instance bridge configs and process status
|
|
17
|
+
vc instance setup NAME # write instances/NAME.env and create ~/.hermes/profiles/NAME
|
|
18
|
+
vc instance start NAME # start ./run.sh instances/NAME.env detached
|
|
19
|
+
vc instance stop NAME # stop a detached instance and remove its pid file
|
|
20
|
+
vc doctor # run the redacted doctor check
|
|
21
|
+
npm run mcp # run the stdio MCP server
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Изменения языка обновляют `.env`; перезапустите bridge через `./run.sh` или ваш менеджер процессов, чтобы они вступили в силу.
|
|
25
|
+
|
|
26
|
+
## Режимы запуска
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
Bridge с одним экземпляром:
|
|
27
29
|
|
|
28
30
|
```bash
|
|
29
|
-
vc start
|
|
30
31
|
./run.sh
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Bridge для отдельного экземпляра с локальным override env:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
31
37
|
./run.sh instances/my-project.env
|
|
38
|
+
# or
|
|
32
39
|
VERBALCODING_INSTANCE_ENV=instances/my-project.env ./run.sh
|
|
33
40
|
```
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
Бот автоматически присоединяется к первому настроенному имени канала, по умолчанию `일반,General,general`.
|
|
36
43
|
|
|
37
|
-
## Discord
|
|
44
|
+
## Команды Discord
|
|
38
45
|
|
|
39
|
-
|
|
46
|
+
Перед подключением команд настройте приложение/бота Discord с помощью исходных руководств:
|
|
40
47
|
|
|
41
|
-
- Hermes Agent Discord
|
|
42
|
-
- Discord
|
|
48
|
+
- Руководство Hermes Agent по Discord: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
|
|
49
|
+
- Официальная документация Discord по ботам: <https://docs.discord.com/developers/bots/overview>
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
Затем используйте `vc bot invite CLIENT_ID`, чтобы сгенерировать URL приглашения VerbalCoding с текстовыми и голосовыми разрешениями.
|
|
45
52
|
|
|
46
|
-
|
|
|
53
|
+
| Команда | Назначение |
|
|
47
54
|
|---|---|
|
|
48
|
-
| `!ping` |
|
|
49
|
-
| `!join` / `!leave` |
|
|
50
|
-
| `!say <text>` |
|
|
51
|
-
| `!voice-test <text>` |
|
|
52
|
-
| `!voice-clone capture` |
|
|
53
|
-
| `!voice-clone status` / `!voice-clone cancel` |
|
|
54
|
-
| `!ask <prompt>` |
|
|
55
|
-
| `!session status` |
|
|
56
|
-
| `!session new <name> <workdir> [context] --voice <voice-channel>` |
|
|
57
|
-
| `!session attach-voice [sessionName] --voice <voice-channel>` |
|
|
58
|
-
| `!session list` |
|
|
59
|
-
| `!session reset` / `!reset-session` |
|
|
60
|
-
| `!verbose on/off` |
|
|
61
|
-
| `!latency` / `!metrics` |
|
|
62
|
-
| `!sensitivity normal/conservative` |
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
##
|
|
67
|
-
|
|
68
|
-
`vc language ko|en|auto`
|
|
55
|
+
| `!ping` | Базовая проверка бота |
|
|
56
|
+
| `!join` / `!leave` | Войти в голосовой канал или выйти из него |
|
|
57
|
+
| `!say <text>` | Произнести текст напрямую через TTS |
|
|
58
|
+
| `!voice-test <text>` | Проверить активный TTS-бэкенд/голос |
|
|
59
|
+
| `!voice-clone capture` | Сохранить следующую допустимую реплику как референсный образец OpenVoice |
|
|
60
|
+
| `!voice-clone status` / `!voice-clone cancel` | Проверить или отменить запись |
|
|
61
|
+
| `!ask <prompt>` | Отправить текст через тот же выбранный адаптер харнеса, что и голос |
|
|
62
|
+
| `!session status` | Показать текущую проектную/стандартную сессию адаптера |
|
|
63
|
+
| `!session new <name> <workdir> [context] --voice <voice-channel>` | Создать сессию Hermes в области проекта |
|
|
64
|
+
| `!session attach-voice [sessionName] --voice <voice-channel>` | Привязать текстовый канал/тред к голосовому каналу |
|
|
65
|
+
| `!session list` | Показать настроенные проектные сессии |
|
|
66
|
+
| `!session reset` / `!reset-session` | Очистить файл текущей проектной/стандартной сессии адаптера |
|
|
67
|
+
| `!verbose on/off` | Включить или выключить подробные обновления прогресса |
|
|
68
|
+
| `!latency` / `!metrics` | Показать сводку недавней задержки |
|
|
69
|
+
| `!sensitivity normal/conservative` | Переключить чувствительность перебивания |
|
|
70
|
+
|
|
71
|
+
Голосовые эквиваленты вроде “외부 모드”, “보수 모드”, “실내”, “기본 감도” и ясные стоп-фразы вроде “잠깐”, “멈춰”, “그만” обрабатываются bridge. Также можно сказать “상세 진행 켜” / “상세 진행 꺼”, чтобы переключить подробный прогресс голосом.
|
|
72
|
+
|
|
73
|
+
## Изменение голоса
|
|
74
|
+
|
|
75
|
+
`vc language ko|en|auto` одновременно меняет язык STT, язык прогресса и соответствующий голос TTS по умолчанию. Если нужно изменить только диктора/голос во время работы bridge, скажите это голосом в Discord:
|
|
69
76
|
|
|
70
77
|
```text
|
|
71
78
|
남자 한국어 목소리로 바꿔
|
|
@@ -74,9 +81,11 @@ change voice to Korean female
|
|
|
74
81
|
switch speaker to English
|
|
75
82
|
```
|
|
76
83
|
|
|
77
|
-
|
|
84
|
+
Работающий bridge распознаёт это как команды управления голосом, обновляет `config/tts-voices.json`, обновляет эффективное TTS-окружение для текущего процесса и отвечает коротким подтверждением вроде “목소리를 Korean male로 바꿨어.” Используйте `!voice-test <text>` сразу после изменения, чтобы услышать текущий бэкенд и голос.
|
|
85
|
+
|
|
86
|
+
Встроенные типы голосов Edge:
|
|
78
87
|
|
|
79
|
-
|
|
|
88
|
+
| Тип голоса | Голос Edge |
|
|
80
89
|
|---|---|
|
|
81
90
|
| `korean_male` | `ko-KR-InJoonNeural` |
|
|
82
91
|
| `korean_female` | `ko-KR-SunHiNeural` |
|
|
@@ -84,26 +93,32 @@ Built-in Edge types:
|
|
|
84
93
|
| `english_male` | `en-US-GuyNeural` |
|
|
85
94
|
| `english_female` | `en-US-AriaNeural` |
|
|
86
95
|
|
|
87
|
-
|
|
96
|
+
Для постоянной ручной конфигурации задайте `TTS_BACKEND=edge`, `TTS_VOICE_TYPE=<voice-type>` и, при необходимости, `TTS_VOICE=<edge-voice>` в `.env` либо отредактируйте `config/tts-voices.json` для пользовательских каталогов голосов.
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
Параметры голоса для конкретных бэкендов:
|
|
99
|
+
|
|
100
|
+
| Бэкенд | Настройка голоса | Распространённые варианты |
|
|
90
101
|
|---|---|---|
|
|
91
|
-
| Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` |
|
|
92
|
-
| Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` |
|
|
93
|
-
| OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` |
|
|
94
|
-
| SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` |
|
|
102
|
+
| Edge | `TTS_VOICE_TYPE`, `TTS_VOICE` | `korean_male`, `korean_female`, `korean_multilingual_male`, `english_male`, `english_female`; любой голос Edge из `edge-tts --list-voices` |
|
|
103
|
+
| Supertonic | `SUPERTONIC_VOICE` | `M1`–`M5`, `F1`–`F5`; задайте `SUPERTONIC_LANGUAGE=ko|en|es|pt|fr` |
|
|
104
|
+
| OpenVoice | `OPENVOICE_REF_AUDIO`, `OPENVOICE_STYLE` | разрешённый референсный WAV плюс стиль, например `default` |
|
|
105
|
+
| SpeechSwift / CosyVoice | `SPEECHSWIFT_REF_AUDIO`, `SPEECHSWIFT_ENGINE`, `SPEECHSWIFT_SPEAKER` | референсный WAV для CosyVoice или поддерживаемые бэкендом значения диктора/модели |
|
|
106
|
+
|
|
107
|
+
Для Supertonic и локальных бэкендов клонирования используйте переменные окружения бэкенда выше плюс `!voice-test <text>`, чтобы прослушать изменения. Переключение голосовой командой сейчас сопоставляет встроенные типы голосов в стиле Edge; более богатые каталоги бэкендов можно добавить в `config/tts-voices.json`.
|
|
95
108
|
|
|
96
|
-
##
|
|
109
|
+
## Длинная диктовка и паузы
|
|
97
110
|
|
|
98
|
-
|
|
111
|
+
VerbalCoding ждёт окно бездействия перед отправкой речи в STT. Значение по умолчанию `UTTERANCE_IDLE_MS=4500` намеренно немного терпеливое, чтобы естественная пауза в длинной инструкции не разделяла предложение, не запускала ход агента слишком рано и не воспринимала остаток как прерывание во время обработки.
|
|
112
|
+
|
|
113
|
+
Если вы предпочитаете более быстрые короткие команды, уменьшите значение в `.env`; если длинная корейская диктовка всё ещё разбивается, увеличьте его:
|
|
99
114
|
|
|
100
115
|
```bash
|
|
101
116
|
UTTERANCE_IDLE_MS="6000"
|
|
102
117
|
```
|
|
103
118
|
|
|
104
|
-
##
|
|
119
|
+
## Режим подробного прогресса
|
|
105
120
|
|
|
106
|
-
|
|
121
|
+
Подробный прогресс по умолчанию выключен, если не задано `AGENT_VERBOSE_PROGRESS=1`. Включите его через `!verbose on` или голосовой командой вроде “상세 진행 켜”. Он может выводить короткие строки прогресса, например:
|
|
107
122
|
|
|
108
123
|
```text
|
|
109
124
|
🤖 Hermes Agent 호출 시작
|
|
@@ -113,18 +128,28 @@ Enable with `!verbose on`, `AGENT_VERBOSE_PROGRESS=1`, or “상세 진행 켜
|
|
|
113
128
|
🤖 Hermes Agent 응답 수신
|
|
114
129
|
```
|
|
115
130
|
|
|
116
|
-
|
|
131
|
+
Этот режим просит выбранный CLI-харнес выводить строки `VERBALCODING_PROGRESS: ...` и, когда доступно, суммирует распространённые маркеры инструментов из потокового stdout/stderr. Поля, похожие на секреты, редактируются, а строки прогресса удаляются из финального озвучиваемого ответа.
|
|
132
|
+
|
|
133
|
+
## Метрики задержки
|
|
134
|
+
|
|
135
|
+
VerbalCoding записывает записи задержки для каждого хода в формате JSONL. Путь по умолчанию:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
./.logs/latency.jsonl
|
|
139
|
+
```
|
|
117
140
|
|
|
118
|
-
|
|
141
|
+
Каждая запись включает статус, общее время, время захвата голоса, ожидание бездействия реплики, время STT, время агента, время синтеза/воспроизведения TTS, количество фрагментов, длину расшифровки, длину ответа и уровни аудио, когда они доступны.
|
|
119
142
|
|
|
120
|
-
|
|
143
|
+
В Discord:
|
|
121
144
|
|
|
122
145
|
```text
|
|
123
146
|
!latency
|
|
124
147
|
!metrics
|
|
125
148
|
```
|
|
126
149
|
|
|
127
|
-
|
|
150
|
+
Сводка использует последние 200 записей: количество, среднее, p95, максимум и статусы не-OK.
|
|
151
|
+
|
|
152
|
+
## Тестирование
|
|
128
153
|
|
|
129
154
|
```bash
|
|
130
155
|
node --check app-node/main.mjs
|
|
@@ -132,3 +157,5 @@ npm test
|
|
|
132
157
|
bash -n run.sh scripts/install.sh
|
|
133
158
|
vc doctor
|
|
134
159
|
```
|
|
160
|
+
|
|
161
|
+
`vc doctor` намеренно редактирует секреты и сообщает только, настроены ли необходимые значения. Он также проверяет `instances/*.env` на повторяющиеся отпечатки токенов и конфликтующие runtime-пути.
|