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
|
@@ -1,21 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 새로 설치하기
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
이 가이드는 깨끗한 공개 설치를 위한 문서입니다. 로컬 환경에만 맞춘 가정을 피하고, 설치 프로그램으로 가능한 한 많은 부분을 부트스트랩합니다.
|
|
4
4
|
|
|
5
|
-
## 1.
|
|
5
|
+
## 1. CLI 설치
|
|
6
|
+
|
|
7
|
+
권장 npm 경로:
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npm install -g verbalcoding
|
|
9
|
-
vc setup --yes
|
|
10
11
|
```
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
또는 게시된 패키지를 바로 실행합니다:
|
|
13
14
|
|
|
14
15
|
```bash
|
|
15
16
|
npx verbalcoding setup --yes
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
`npm install -g`를 사용했다면 다음을 계속 실행하세요:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
vc setup --yes
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
기여자를 위한 GitHub 클론 경로:
|
|
19
26
|
|
|
20
27
|
```bash
|
|
21
28
|
git clone https://github.com/ca1773130n/VerbalCoding.git
|
|
@@ -23,62 +30,120 @@ cd VerbalCoding
|
|
|
23
30
|
./scripts/install.sh --yes
|
|
24
31
|
```
|
|
25
32
|
|
|
26
|
-
## 2.
|
|
33
|
+
## 2. 의존성 부트스트랩 및 설정 마법사 실행
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
npm 설치에서는 현재 디렉터리에 저장소 체크아웃이 없으므로 `./scripts/install.sh`를 직접 실행하지 마세요. 대신 패키지된 CLI 래퍼를 사용하세요:
|
|
29
36
|
|
|
30
|
-
|
|
37
|
+
```bash
|
|
38
|
+
vc setup --yes
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`vc setup`은 설치된 npm 패키지 안의 `scripts/install.sh`를 실행합니다. GitHub 클론 안에 있을 때만 `./scripts/install.sh --yes`를 사용하세요:
|
|
31
42
|
|
|
32
43
|
```bash
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
./scripts/install.sh --yes
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
수행되는 작업:
|
|
48
|
+
|
|
49
|
+
- `node_modules/`가 없으면 npm 의존성을 설치합니다.
|
|
50
|
+
- `npm link`로 짧은 `vc` 셸 명령을 설치합니다.
|
|
51
|
+
- OS 패키지 관리자가 지원하는 경우 `ffmpeg`, Node/npm, `whisper-cli`를 설치합니다.
|
|
52
|
+
- `models/ggml-small-q5_1.bin`을 다운로드합니다.
|
|
53
|
+
- `edge-tts`가 `PATH`에 없으면 `.venv-tts`를 만들고 `edge-tts`를 설치합니다.
|
|
54
|
+
- 대화형 `.env` 마법사를 실행합니다.
|
|
55
|
+
|
|
56
|
+
지원되는 시스템 부트스트랩 경로:
|
|
57
|
+
|
|
58
|
+
| OS | 시스템 의존성 경로 |
|
|
59
|
+
|---|---|
|
|
60
|
+
| macOS | 필요 시 Homebrew: `brew install node ffmpeg whisper-cpp` |
|
|
61
|
+
| Debian/Ubuntu | Node/npm, ffmpeg, Python, 빌드 도구는 `apt-get`; 로컬 whisper.cpp 빌드 폴백 |
|
|
62
|
+
| Fedora/RHEL | Node/npm, ffmpeg, Python, 빌드 도구는 `dnf`; 로컬 whisper.cpp 빌드 폴백 |
|
|
63
|
+
| Arch | Node/npm, ffmpeg, Python, 빌드 도구는 `pacman`; 로컬 whisper.cpp 빌드 폴백 |
|
|
64
|
+
|
|
65
|
+
유용한 설치 변형:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
vc setup --yes --no-wizard # npm 설치에서 의존성/부트스트랩만 실행
|
|
69
|
+
./scripts/install.sh --yes --no-wizard # 클론에서 의존성/부트스트랩만 실행
|
|
70
|
+
./scripts/install.sh --skip-system # OS 패키지를 설치하지 않음
|
|
71
|
+
./scripts/install.sh --skip-model # 기본 STT 모델을 다운로드하지 않음
|
|
72
|
+
./scripts/install.sh --skip-edge-tts # .venv-tts를 만들지 않음
|
|
38
73
|
VERBALCODING_SKIP_CLI_LINK=1 ./scripts/install.sh --yes
|
|
39
74
|
```
|
|
40
75
|
|
|
41
|
-
|
|
76
|
+
OS가 지원되지 않으면 다시 실행하기 전에 다음을 수동으로 설치하세요:
|
|
77
|
+
|
|
78
|
+
- Node.js 20+ 및 npm
|
|
79
|
+
- ffmpeg
|
|
80
|
+
- venv/pip가 포함된 Python 3
|
|
81
|
+
- whisper.cpp `whisper-cli`
|
|
82
|
+
- 인증된 CLI 에이전트 백엔드 하나 이상, 기본값은 Hermes Agent
|
|
42
83
|
|
|
43
|
-
## 3. Discord
|
|
84
|
+
## 3. Discord 애플리케이션 설정
|
|
44
85
|
|
|
45
|
-
|
|
86
|
+
처음 봇을 만드는 경우 먼저 업스트림 Discord 봇 설정 가이드를 읽으세요:
|
|
46
87
|
|
|
47
|
-
- Hermes Agent Discord
|
|
48
|
-
- Discord
|
|
49
|
-
- Discord
|
|
88
|
+
- Hermes Agent Discord 메시징 가이드: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
|
|
89
|
+
- Discord 공식 봇 개요: <https://docs.discord.com/developers/bots/overview>
|
|
90
|
+
- Discord 공식 시작 가이드: <https://docs.discord.com/developers/quick-start/getting-started>
|
|
50
91
|
|
|
51
|
-
|
|
92
|
+
이 페이지들은 Discord 애플리케이션 생성, 봇 사용자 추가, privileged intents 활성화, 서버 초대 방법을 보여줍니다. VerbalCoding은 동일한 Discord 봇 설정을 사용한 뒤 그 위에 음성 수신, STT, CLI 에이전트 실행, TTS 재생을 추가합니다.
|
|
93
|
+
|
|
94
|
+
1. Discord Developer Portal에서 Discord 애플리케이션과 봇을 만듭니다.
|
|
95
|
+
2. Message Content privileged intent를 활성화합니다.
|
|
96
|
+
3. 봇 토큰을 설치 프로그램 프롬프트 또는 `.env`의 `DISCORD_BOT_TOKEN`에 복사합니다.
|
|
97
|
+
4. 초대 URL을 생성합니다:
|
|
52
98
|
|
|
53
99
|
```bash
|
|
54
100
|
vc bot invite <discord-client-id>
|
|
101
|
+
# 또는 하나의 서버에 고정:
|
|
55
102
|
vc bot invite <discord-client-id> --guild <guild-id>
|
|
56
103
|
```
|
|
57
104
|
|
|
58
|
-
|
|
105
|
+
초대에는 VerbalCoding이 사용하는 텍스트/음성 권한과 bot 및 slash-command scope가 포함됩니다.
|
|
106
|
+
|
|
107
|
+
## 4. 확인
|
|
59
108
|
|
|
60
109
|
```bash
|
|
61
110
|
vc doctor
|
|
62
111
|
```
|
|
63
112
|
|
|
64
|
-
`vc doctor
|
|
113
|
+
`vc doctor`는 민감 정보를 가립니다. 비밀 값을 출력하지 않고 누락된 토큰/명령/모델을 보고합니다. 수정 가능한 로컬 필수 구성요소(`ffmpeg`, `whisper-cli`, 기본 모델, Edge TTS 헬퍼)가 없으면 먼저 패키지된 부트스트랩을 자동으로 다시 실행합니다. 남은 `✗` 항목을 고친 뒤 다시 실행하세요.
|
|
114
|
+
|
|
115
|
+
예상 성공 출력에는 다음이 포함됩니다:
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
✓ Node.js
|
|
119
|
+
✓ npm
|
|
120
|
+
✓ ffmpeg
|
|
121
|
+
✓ whisper-cli
|
|
122
|
+
✓ whisper.cpp model
|
|
123
|
+
✓ Discord bot token configured — [REDACTED]
|
|
124
|
+
✓ edge-tts
|
|
125
|
+
✓ hermes CLI
|
|
126
|
+
Doctor passed. Run vc start to start VerbalCoding.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
설치 프로그램이 로컬 Edge TTS 헬퍼를 만들었다면 `.env`에는 `.venv-tts/bin/edge-tts`를 가리키는 `EDGE_TTS_COMMAND` 경로가 있어야 합니다.
|
|
65
130
|
|
|
66
|
-
## 5.
|
|
131
|
+
## 5. 단일 기본 봇 실행
|
|
67
132
|
|
|
68
133
|
```bash
|
|
69
134
|
vc start
|
|
70
|
-
#
|
|
135
|
+
# 또는 GitHub 클론에서:
|
|
71
136
|
./run.sh
|
|
72
137
|
```
|
|
73
138
|
|
|
74
|
-
|
|
139
|
+
성공적인 시작 로그에는 다음이 포함됩니다:
|
|
75
140
|
|
|
76
141
|
```text
|
|
77
142
|
Logged in as <bot-name>
|
|
78
143
|
Listening in voice channel <server> / <channel>
|
|
79
144
|
```
|
|
80
145
|
|
|
81
|
-
|
|
146
|
+
Discord에서:
|
|
82
147
|
|
|
83
148
|
```text
|
|
84
149
|
!ping
|
|
@@ -87,11 +152,11 @@ In Discord:
|
|
|
87
152
|
!verbose on
|
|
88
153
|
```
|
|
89
154
|
|
|
90
|
-
|
|
155
|
+
그런 다음 설정된 음성 채널에서 말하세요. STT 텍스트, 자세한 모드가 켜졌을 때의 진행 텍스트, 최종 텍스트 답변을 볼 수 있고 TTS 재생도 들을 수 있어야 합니다.
|
|
91
156
|
|
|
92
|
-
## 6.
|
|
157
|
+
## 6. 프로젝트별 방 설정
|
|
93
158
|
|
|
94
|
-
|
|
159
|
+
프로젝트 음성 방마다 하나의 영구 봇을 두려면 프로젝트마다 Discord 애플리케이션을 하나씩 만들고 다음을 실행하세요:
|
|
95
160
|
|
|
96
161
|
```bash
|
|
97
162
|
vc instance setup my-project
|
|
@@ -100,25 +165,43 @@ vc instance start my-project
|
|
|
100
165
|
vc instance status my-project
|
|
101
166
|
```
|
|
102
167
|
|
|
103
|
-
|
|
168
|
+
각 인스턴스는 자체 토큰, 음성 채널, 전사 대상, 로그 경로, Hermes 세션 파일, 선택적 Hermes 프로필을 가진 무시되는 `instances/<name>.env`를 작성합니다.
|
|
169
|
+
|
|
170
|
+
## 7. 선택 사항: OpenVoice 설정
|
|
104
171
|
|
|
105
|
-
|
|
172
|
+
OpenVoice 음성 복제는 선택 사항입니다. 깨끗한 공개 설치에서는 `TTS_BACKEND=edge`를 유지하세요. 나중에 OpenVoice를 활성화하려면:
|
|
106
173
|
|
|
107
174
|
```bash
|
|
108
175
|
./scripts/setup_openvoice.sh
|
|
109
|
-
#
|
|
110
|
-
#
|
|
111
|
-
#
|
|
176
|
+
# OpenVoice V2 checkpoints를 vendor/OpenVoice/checkpoints_v2/에 다운로드합니다.
|
|
177
|
+
# 허용된 로컬 샘플을 voice-samples/user-reference.wav에 추가하거나,
|
|
178
|
+
# 봇을 실행하고 "목소리 샘플 녹음 시작해"라고 말한 뒤 10-30초 동안 말합니다.
|
|
112
179
|
python3 integrations/openvoice/synth.py --openvoice-dir vendor/OpenVoice --ref-audio voice-samples/user-reference.wav --text '안녕하세요. 버벌코딩 목소리 복제 테스트입니다.' --output /tmp/verbalcoding-openvoice-smoke.wav
|
|
113
180
|
```
|
|
114
181
|
|
|
115
|
-
|
|
182
|
+
그런 다음 `TTS_BACKEND=openvoice`를 설정하고 `vc doctor`를 실행한 뒤 Discord에서 `!voice-test <text>`를 테스트하세요.
|
|
183
|
+
|
|
184
|
+
## 8. 유지관리자를 위한 깨끗한 클론 스모크 테스트
|
|
116
185
|
|
|
117
|
-
|
|
186
|
+
빠른 호스트 전용 스모크 테스트:
|
|
118
187
|
|
|
119
188
|
```bash
|
|
189
|
+
TMPDIR=$(mktemp -d)
|
|
190
|
+
git clone https://github.com/ca1773130n/VerbalCoding.git "$TMPDIR/VerbalCoding"
|
|
191
|
+
cd "$TMPDIR/VerbalCoding"
|
|
120
192
|
./scripts/install.sh --yes --no-wizard
|
|
121
193
|
npm pack --dry-run
|
|
194
|
+
cp .env.example .env
|
|
195
|
+
chmod 600 .env
|
|
122
196
|
vc doctor || true
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
이 시점의 예상 실패는 로컬 비밀 정보 누락 또는 인증되지 않은 에이전트 CLI이며, 토큰 유출이나 설치 스크립트 누락이 아니어야 합니다.
|
|
200
|
+
|
|
201
|
+
Docker 기반 Ubuntu 깨끗한 설치 스모크 테스트:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
123
204
|
./scripts/docker_ubuntu_smoke.sh
|
|
124
205
|
```
|
|
206
|
+
|
|
207
|
+
이 스크립트는 `ubuntu:24.04`를 실행하고, 추적 중인 저장소 트리를 깨끗한 컨테이너로 복사하고, `./scripts/install.sh --yes --no-wizard`를 실행하고, 비밀이 아닌 스모크 `.env`를 작성하고, `vc`를 확인하고, Node 테스트를 실행하고, `vc doctor`를 검증합니다. Discord 음성에는 연결하지 않습니다. 이후 엔드투엔드 음성 채널 테스트가 필요하면 실제 Ubuntu VM 또는 WSL2를 사용하세요.
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
# Чистая установка
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Это руководство предназначено для чистой публичной установки. Оно избегает локальных предположений и использует установщик, чтобы подготовить как можно больше компонентов.
|
|
4
4
|
|
|
5
|
-
## 1.
|
|
5
|
+
## 1. Установите CLI
|
|
6
|
+
|
|
7
|
+
Рекомендуемый путь через npm:
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npm install -g verbalcoding
|
|
9
|
-
vc setup --yes
|
|
10
11
|
```
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
Или запустите опубликованный пакет напрямую:
|
|
13
14
|
|
|
14
15
|
```bash
|
|
15
16
|
npx verbalcoding setup --yes
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
Если вы использовали `npm install -g`, продолжите так:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
vc setup --yes
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Путь через клон GitHub для контрибьюторов:
|
|
19
26
|
|
|
20
27
|
```bash
|
|
21
28
|
git clone https://github.com/ca1773130n/VerbalCoding.git
|
|
@@ -23,47 +30,105 @@ cd VerbalCoding
|
|
|
23
30
|
./scripts/install.sh --yes
|
|
24
31
|
```
|
|
25
32
|
|
|
26
|
-
## 2.
|
|
33
|
+
## 2. Подготовьте зависимости и запустите мастер настройки
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
При установке через npm не запускайте `./scripts/install.sh` напрямую: в текущем каталоге нет checkout репозитория. Вместо этого используйте упакованную CLI-обёртку:
|
|
29
36
|
|
|
30
|
-
|
|
37
|
+
```bash
|
|
38
|
+
vc setup --yes
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`vc setup` запускает `scripts/install.sh`, включённый в установленный npm-пакет. Используйте `./scripts/install.sh --yes` только внутри GitHub-клона:
|
|
31
42
|
|
|
32
43
|
```bash
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
44
|
+
./scripts/install.sh --yes
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Что это делает:
|
|
48
|
+
|
|
49
|
+
- устанавливает npm-зависимости, если отсутствует `node_modules/`,
|
|
50
|
+
- устанавливает короткую shell-команду `vc` через `npm link`,
|
|
51
|
+
- устанавливает `ffmpeg`, Node/npm и `whisper-cli`, когда это поддерживается менеджером пакетов ОС,
|
|
52
|
+
- загружает `models/ggml-small-q5_1.bin`,
|
|
53
|
+
- создаёт `.venv-tts` и устанавливает `edge-tts`, если `edge-tts` ещё не находится в `PATH`,
|
|
54
|
+
- запускает интерактивный мастер `.env`.
|
|
55
|
+
|
|
56
|
+
Поддерживаемые пути системного bootstrap:
|
|
57
|
+
|
|
58
|
+
| ОС | Путь системных зависимостей |
|
|
59
|
+
|---|---|
|
|
60
|
+
| macOS | Homebrew: `brew install node ffmpeg whisper-cpp` при необходимости |
|
|
61
|
+
| Debian/Ubuntu | `apt-get` для Node/npm, ffmpeg, Python, инструментов сборки; резервная локальная сборка whisper.cpp |
|
|
62
|
+
| Fedora/RHEL | `dnf` для Node/npm, ffmpeg, Python, инструментов сборки; резервная локальная сборка whisper.cpp |
|
|
63
|
+
| Arch | `pacman` для Node/npm, ffmpeg, Python, инструментов сборки; резервная локальная сборка whisper.cpp |
|
|
64
|
+
|
|
65
|
+
Полезные варианты установщика:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
vc setup --yes --no-wizard # dependency/bootstrap only from npm install
|
|
69
|
+
./scripts/install.sh --yes --no-wizard # dependency/bootstrap only from a clone
|
|
70
|
+
./scripts/install.sh --skip-system # do not install OS packages
|
|
71
|
+
./scripts/install.sh --skip-model # do not download the default STT model
|
|
72
|
+
./scripts/install.sh --skip-edge-tts # do not create .venv-tts
|
|
38
73
|
VERBALCODING_SKIP_CLI_LINK=1 ./scripts/install.sh --yes
|
|
39
74
|
```
|
|
40
75
|
|
|
41
|
-
|
|
76
|
+
Если ваша ОС не поддерживается, установите это вручную перед повторным запуском:
|
|
77
|
+
|
|
78
|
+
- Node.js 20+ и npm
|
|
79
|
+
- ffmpeg
|
|
80
|
+
- Python 3 с venv/pip
|
|
81
|
+
- `whisper-cli` из whisper.cpp
|
|
82
|
+
- один аутентифицированный бэкенд CLI-агента, по умолчанию Hermes Agent
|
|
42
83
|
|
|
43
|
-
## 3.
|
|
84
|
+
## 3. Настройка приложения Discord
|
|
44
85
|
|
|
45
|
-
|
|
86
|
+
Если это ваш первый бот, сначала прочитайте исходные руководства по настройке ботов Discord:
|
|
46
87
|
|
|
47
|
-
- Hermes Agent Discord
|
|
48
|
-
-
|
|
49
|
-
- Discord
|
|
88
|
+
- Руководство Hermes Agent по сообщениям Discord: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
|
|
89
|
+
- Официальный обзор ботов Discord: <https://docs.discord.com/developers/bots/overview>
|
|
90
|
+
- Официальное руководство Discord по началу работы: <https://docs.discord.com/developers/quick-start/getting-started>
|
|
50
91
|
|
|
51
|
-
|
|
92
|
+
Эти страницы показывают, как создать приложение Discord, добавить пользователя-бота, включить привилегированные intents и пригласить его на сервер. VerbalCoding использует ту же настройку Discord-бота, а затем добавляет поверх неё приём голоса, STT, выполнение CLI-агента и воспроизведение TTS.
|
|
93
|
+
|
|
94
|
+
1. Создайте приложение Discord и бота в Discord Developer Portal.
|
|
95
|
+
2. Включите привилегированный intent Message Content.
|
|
96
|
+
3. Скопируйте токен бота в приглашение установщика или в `.env` как `DISCORD_BOT_TOKEN`.
|
|
97
|
+
4. Сгенерируйте URL приглашения:
|
|
52
98
|
|
|
53
99
|
```bash
|
|
54
100
|
vc bot invite <discord-client-id>
|
|
101
|
+
# or pin it to one server:
|
|
55
102
|
vc bot invite <discord-client-id> --guild <guild-id>
|
|
56
103
|
```
|
|
57
104
|
|
|
58
|
-
|
|
105
|
+
Приглашение включает scopes бота и slash-команд, а также текстовые/голосовые разрешения, используемые VerbalCoding.
|
|
106
|
+
|
|
107
|
+
## 4. Проверьте
|
|
59
108
|
|
|
60
109
|
```bash
|
|
61
110
|
vc doctor
|
|
62
111
|
```
|
|
63
112
|
|
|
64
|
-
`vc doctor`
|
|
113
|
+
`vc doctor` редактирует чувствительные данные: он сообщает об отсутствующих токенах/командах/моделях, не печатая секретные значения. Если отсутствуют исправимые локальные зависимости (`ffmpeg`, `whisper-cli`, стандартная модель или помощник Edge TTS), он сначала автоматически перезапускает упакованный bootstrap. Исправьте оставшиеся пункты `✗`, затем запустите снова.
|
|
114
|
+
|
|
115
|
+
Ожидаемый успешный результат включает:
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
✓ Node.js
|
|
119
|
+
✓ npm
|
|
120
|
+
✓ ffmpeg
|
|
121
|
+
✓ whisper-cli
|
|
122
|
+
✓ whisper.cpp model
|
|
123
|
+
✓ Discord bot token configured — [REDACTED]
|
|
124
|
+
✓ edge-tts
|
|
125
|
+
✓ hermes CLI
|
|
126
|
+
Doctor passed. Run vc start to start VerbalCoding.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Если установщик создал локальный помощник Edge TTS, `.env` должен содержать путь `EDGE_TTS_COMMAND`, указывающий на `.venv-tts/bin/edge-tts`.
|
|
65
130
|
|
|
66
|
-
## 5.
|
|
131
|
+
## 5. Запустите одного бота по умолчанию
|
|
67
132
|
|
|
68
133
|
```bash
|
|
69
134
|
vc start
|
|
@@ -71,14 +136,14 @@ vc start
|
|
|
71
136
|
./run.sh
|
|
72
137
|
```
|
|
73
138
|
|
|
74
|
-
|
|
139
|
+
Логи успешного запуска включают:
|
|
75
140
|
|
|
76
141
|
```text
|
|
77
142
|
Logged in as <bot-name>
|
|
78
143
|
Listening in voice channel <server> / <channel>
|
|
79
144
|
```
|
|
80
145
|
|
|
81
|
-
|
|
146
|
+
В Discord:
|
|
82
147
|
|
|
83
148
|
```text
|
|
84
149
|
!ping
|
|
@@ -87,11 +152,11 @@ In Discord:
|
|
|
87
152
|
!verbose on
|
|
88
153
|
```
|
|
89
154
|
|
|
90
|
-
|
|
155
|
+
Затем говорите в настроенном голосовом канале. Вы должны увидеть текст STT, текст прогресса при включённом подробном режиме, финальный текстовый ответ и услышать воспроизведение TTS.
|
|
91
156
|
|
|
92
|
-
## 6.
|
|
157
|
+
## 6. Настройка «проект на комнату»
|
|
93
158
|
|
|
94
|
-
|
|
159
|
+
Для одного постоянного бота на голосовую комнату проекта создайте по одному приложению Discord на проект, затем:
|
|
95
160
|
|
|
96
161
|
```bash
|
|
97
162
|
vc instance setup my-project
|
|
@@ -100,9 +165,11 @@ vc instance start my-project
|
|
|
100
165
|
vc instance status my-project
|
|
101
166
|
```
|
|
102
167
|
|
|
103
|
-
|
|
168
|
+
Каждый экземпляр записывает игнорируемый `instances/<name>.env` со своим токеном, голосовым каналом, целью расшифровок, путём лога, файлом сессии Hermes и необязательным профилем Hermes.
|
|
169
|
+
|
|
170
|
+
## 7. Необязательная настройка OpenVoice
|
|
104
171
|
|
|
105
|
-
|
|
172
|
+
Клонирование голоса OpenVoice необязательно. Для свежей публичной установки оставьте `TTS_BACKEND=edge`. Чтобы позже включить OpenVoice:
|
|
106
173
|
|
|
107
174
|
```bash
|
|
108
175
|
./scripts/setup_openvoice.sh
|
|
@@ -112,13 +179,29 @@ Keep `TTS_BACKEND=edge` for a fresh install. To enable OpenVoice later:
|
|
|
112
179
|
python3 integrations/openvoice/synth.py --openvoice-dir vendor/OpenVoice --ref-audio voice-samples/user-reference.wav --text '안녕하세요. 버벌코딩 목소리 복제 테스트입니다.' --output /tmp/verbalcoding-openvoice-smoke.wav
|
|
113
180
|
```
|
|
114
181
|
|
|
115
|
-
|
|
182
|
+
Затем установите `TTS_BACKEND=openvoice`, запустите `vc doctor` и протестируйте `!voice-test <text>` в Discord.
|
|
183
|
+
|
|
184
|
+
## 8. Smoke-тест чистого клона для сопровождающих
|
|
116
185
|
|
|
117
|
-
|
|
186
|
+
Быстрый smoke-тест только на хосте:
|
|
118
187
|
|
|
119
188
|
```bash
|
|
189
|
+
TMPDIR=$(mktemp -d)
|
|
190
|
+
git clone https://github.com/ca1773130n/VerbalCoding.git "$TMPDIR/VerbalCoding"
|
|
191
|
+
cd "$TMPDIR/VerbalCoding"
|
|
120
192
|
./scripts/install.sh --yes --no-wizard
|
|
121
193
|
npm pack --dry-run
|
|
194
|
+
cp .env.example .env
|
|
195
|
+
chmod 600 .env
|
|
122
196
|
vc doctor || true
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Ожидаемая ошибка на этом этапе — отсутствующие локальные секреты или неаутентифицированный CLI агента, а не утёкшие токены или отсутствующие установочные скрипты.
|
|
200
|
+
|
|
201
|
+
Smoke-тест чистой установки Ubuntu на базе Docker:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
123
204
|
./scripts/docker_ubuntu_smoke.sh
|
|
124
205
|
```
|
|
206
|
+
|
|
207
|
+
Он запускает `ubuntu:24.04`, копирует отслеживаемое дерево репозитория в чистый контейнер, выполняет `./scripts/install.sh --yes --no-wizard`, записывает несекретный smoke `.env`, проверяет `vc`, запускает Node-тесты и проверяет `vc doctor`. Он не подключается к голосу Discord; используйте настоящую Ubuntu VM или WSL2 после этого, если нужен сквозной тест голосового канала.
|