verbalcoding 0.2.6 → 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.
Files changed (44) hide show
  1. package/README.md +12 -22
  2. package/app-node/cli_install.test.mjs +15 -0
  3. package/docs/FRESH_INSTALL.md +8 -2
  4. package/docs/assets/figures/verbalcoding-flow.svg +45 -30
  5. package/docs/i18n/CONFIGURATION.es.md +239 -0
  6. package/docs/i18n/CONFIGURATION.fr.md +239 -0
  7. package/docs/i18n/CONFIGURATION.ja.md +239 -0
  8. package/docs/i18n/CONFIGURATION.ko.md +66 -74
  9. package/docs/i18n/CONFIGURATION.ru.md +239 -0
  10. package/docs/i18n/CONFIGURATION.zh.md +239 -0
  11. package/docs/i18n/FRESH_INSTALL.es.md +207 -0
  12. package/docs/i18n/FRESH_INSTALL.fr.md +207 -0
  13. package/docs/i18n/FRESH_INSTALL.ja.md +207 -0
  14. package/docs/i18n/FRESH_INSTALL.ko.md +60 -54
  15. package/docs/i18n/FRESH_INSTALL.ru.md +207 -0
  16. package/docs/i18n/FRESH_INSTALL.zh.md +207 -0
  17. package/docs/i18n/MULTI_INSTANCE.es.md +180 -0
  18. package/docs/i18n/MULTI_INSTANCE.fr.md +180 -0
  19. package/docs/i18n/MULTI_INSTANCE.ja.md +179 -0
  20. package/docs/i18n/MULTI_INSTANCE.ko.md +46 -46
  21. package/docs/i18n/MULTI_INSTANCE.ru.md +179 -0
  22. package/docs/i18n/MULTI_INSTANCE.zh.md +179 -0
  23. package/docs/i18n/README.es.md +83 -55
  24. package/docs/i18n/README.fr.md +85 -57
  25. package/docs/i18n/README.ja.md +83 -55
  26. package/docs/i18n/README.ko.md +47 -56
  27. package/docs/i18n/README.ru.md +86 -58
  28. package/docs/i18n/README.zh.md +83 -56
  29. package/docs/i18n/RELEASE.es.md +74 -0
  30. package/docs/i18n/RELEASE.fr.md +74 -0
  31. package/docs/i18n/RELEASE.ja.md +74 -0
  32. package/docs/i18n/RELEASE.ko.md +38 -36
  33. package/docs/i18n/RELEASE.ru.md +74 -0
  34. package/docs/i18n/RELEASE.zh.md +74 -0
  35. package/docs/i18n/USAGE.es.md +161 -0
  36. package/docs/i18n/USAGE.fr.md +161 -0
  37. package/docs/i18n/USAGE.ja.md +161 -0
  38. package/docs/i18n/USAGE.ko.md +61 -72
  39. package/docs/i18n/USAGE.ru.md +161 -0
  40. package/docs/i18n/USAGE.zh.md +161 -0
  41. package/package.json +1 -1
  42. package/scripts/bootstrap_prereqs.sh +15 -3
  43. package/scripts/cli.mjs +1 -1
  44. package/scripts/doctor.mjs +114 -8
@@ -0,0 +1,207 @@
1
+ # 新規インストール
2
+
3
+ このガイドは、クリーンな公開インストール向けです。ローカル環境だけに依存する前提を避け、インストーラーで可能な限りブートストラップします。
4
+
5
+ ## 1. CLI をインストールする
6
+
7
+ 推奨 npm 手順:
8
+
9
+ ```bash
10
+ npm install -g verbalcoding
11
+ ```
12
+
13
+ または公開パッケージを直接実行します:
14
+
15
+ ```bash
16
+ npx verbalcoding setup --yes
17
+ ```
18
+
19
+ `npm install -g` を使った場合は、続けて次を実行します:
20
+
21
+ ```bash
22
+ vc setup --yes
23
+ ```
24
+
25
+ コントリビューター向けの GitHub クローン手順:
26
+
27
+ ```bash
28
+ git clone https://github.com/ca1773130n/VerbalCoding.git
29
+ cd VerbalCoding
30
+ ./scripts/install.sh --yes
31
+ ```
32
+
33
+ ## 2. 依存関係をブートストラップし、セットアップウィザードを実行する
34
+
35
+ npm インストールでは、現在のディレクトリにリポジトリのチェックアウトがないため、`./scripts/install.sh` を直接実行しないでください。代わりにパッケージ済み CLI ラッパーを使います:
36
+
37
+ ```bash
38
+ vc setup --yes
39
+ ```
40
+
41
+ `vc setup` は、インストール済み npm パッケージ内の `scripts/install.sh` を実行します。`./scripts/install.sh --yes` は GitHub クローン内にいる場合だけ使ってください:
42
+
43
+ ```bash
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 を作成しない
73
+ VERBALCODING_SKIP_CLI_LINK=1 ./scripts/install.sh --yes
74
+ ```
75
+
76
+ OS が未対応の場合は、再実行する前に次を手動でインストールしてください:
77
+
78
+ - Node.js 20+ と npm
79
+ - ffmpeg
80
+ - venv/pip 付き Python 3
81
+ - whisper.cpp の `whisper-cli`
82
+ - 認証済み CLI エージェントバックエンドを少なくとも 1 つ(デフォルトは Hermes Agent)
83
+
84
+ ## 3. Discord アプリケーションをセットアップする
85
+
86
+ 初めてボットを作る場合は、まず上流の Discord ボットセットアップガイドを読んでください:
87
+
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>
91
+
92
+ これらのページでは、Discord アプリケーションの作成、ボットユーザーの追加、特権インテントの有効化、サーバーへの招待方法を説明しています。VerbalCoding は同じ Discord ボット設定を使い、その上に音声受信、STT、CLI エージェント実行、TTS 再生を追加します。
93
+
94
+ 1. Discord Developer Portal で Discord アプリケーションとボットを作成します。
95
+ 2. Message Content 特権インテントを有効にします。
96
+ 3. ボットトークンをインストーラーのプロンプト、または `.env` の `DISCORD_BOT_TOKEN` にコピーします。
97
+ 4. 招待 URL を生成します:
98
+
99
+ ```bash
100
+ vc bot invite <discord-client-id>
101
+ # または 1 つのサーバーに固定します:
102
+ vc bot invite <discord-client-id> --guild <guild-id>
103
+ ```
104
+
105
+ この招待には、VerbalCoding が使うボットおよびスラッシュコマンドのスコープと、テキスト/音声権限が含まれます。
106
+
107
+ ## 4. 検証する
108
+
109
+ ```bash
110
+ vc doctor
111
+ ```
112
+
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` パスが含まれているはずです。
130
+
131
+ ## 5. 単一のデフォルトボットを実行する
132
+
133
+ ```bash
134
+ vc start
135
+ # または GitHub クローンから:
136
+ ./run.sh
137
+ ```
138
+
139
+ 起動に成功すると、ログには次のような行が含まれます:
140
+
141
+ ```text
142
+ Logged in as <bot-name>
143
+ Listening in voice channel <server> / <channel>
144
+ ```
145
+
146
+ Discord 内:
147
+
148
+ ```text
149
+ !ping
150
+ !join
151
+ !ask say hello briefly
152
+ !verbose on
153
+ ```
154
+
155
+ その後、設定済みの音声チャンネルで話してください。STT テキスト、詳細モードがオンの場合の進捗テキスト、最終テキスト回答が表示され、TTS 再生が聞こえるはずです。
156
+
157
+ ## 6. プロジェクトごとのルーム設定
158
+
159
+ プロジェクト音声ルームごとに 1 つの永続ボットを使うには、プロジェクトごとに Discord アプリケーションを 1 つ作成してから、次を実行します:
160
+
161
+ ```bash
162
+ vc instance setup my-project
163
+ vc bot invite <that-project-client-id>
164
+ vc instance start my-project
165
+ vc instance status my-project
166
+ ```
167
+
168
+ 各インスタンスは、独自のトークン、音声チャンネル、文字起こし先、ログパス、Hermes セッションファイル、任意の Hermes プロファイルを含む、git で無視される `instances/<name>.env` を書き込みます。
169
+
170
+ ## 7. 任意の OpenVoice セットアップ
171
+
172
+ OpenVoice の音声クローンは任意です。新規の公開インストールでは `TTS_BACKEND=edge` のままにしてください。後で OpenVoice を有効にするには:
173
+
174
+ ```bash
175
+ ./scripts/setup_openvoice.sh
176
+ # OpenVoice V2 checkpoints を vendor/OpenVoice/checkpoints_v2/ にダウンロードします
177
+ # 許可済みのローカルサンプルを voice-samples/user-reference.wav に追加するか、
178
+ # ボットを実行して「목소리 샘플 녹음 시작해」と言い、その後 10〜30 秒話します。
179
+ python3 integrations/openvoice/synth.py --openvoice-dir vendor/OpenVoice --ref-audio voice-samples/user-reference.wav --text '안녕하세요. 버벌코딩 목소리 복제 테스트입니다.' --output /tmp/verbalcoding-openvoice-smoke.wav
180
+ ```
181
+
182
+ 次に `TTS_BACKEND=openvoice` を設定し、`vc doctor` を実行して、Discord で `!voice-test <text>` をテストします。
183
+
184
+ ## 8. メンテナー向けクリーンクローンのスモークテスト
185
+
186
+ ホストのみでの高速スモークテスト:
187
+
188
+ ```bash
189
+ TMPDIR=$(mktemp -d)
190
+ git clone https://github.com/ca1773130n/VerbalCoding.git "$TMPDIR/VerbalCoding"
191
+ cd "$TMPDIR/VerbalCoding"
192
+ ./scripts/install.sh --yes --no-wizard
193
+ npm pack --dry-run
194
+ cp .env.example .env
195
+ chmod 600 .env
196
+ vc doctor || true
197
+ ```
198
+
199
+ この時点で期待される失敗は、ローカル秘密情報の欠落またはエージェント CLI が未認証であることです。トークン漏えいやインストールスクリプトの欠落ではありません。
200
+
201
+ Docker ベースの Ubuntu クリーンインストールスモークテスト:
202
+
203
+ ```bash
204
+ ./scripts/docker_ubuntu_smoke.sh
205
+ ```
206
+
207
+ これは `ubuntu:24.04` を実行し、追跡対象のリポジトリツリーをクリーンなコンテナへコピーし、`./scripts/install.sh --yes --no-wizard` を実行し、秘密情報を含まないスモーク用 `.env` を書き、`vc` を確認し、Node テストを実行して、`vc doctor` を検証します。Discord 音声には接続しません。エンドツーエンドの音声チャンネルテストが必要な場合は、この後で実際の Ubuntu VM または WSL2 を使ってください。
@@ -1,28 +1,28 @@
1
- # VerbalCoding 새 설치 가이드
1
+ # 새로 설치하기
2
2
 
3
- 문서는 공개 npm 패키지 또는 깨끗한 GitHub 클론에서 처음 설치하는 흐름을 설명합니다. 로컬 전용 가정을 피하고, 설치 스크립트가 가능한 한 많은 준비 작업을 자동화하도록 구성돼 있습니다.
3
+ 가이드는 깨끗한 공개 설치를 위한 문서입니다. 로컬 환경에만 맞춘 가정을 피하고, 설치 프로그램으로 가능한 한 많은 부분을 부트스트랩합니다.
4
4
 
5
5
  ## 1. CLI 설치
6
6
 
7
- 권장 npm 설치:
7
+ 권장 npm 경로:
8
8
 
9
9
  ```bash
10
10
  npm install -g verbalcoding
11
11
  ```
12
12
 
13
- 전역 설치 없이 바로 실행하려면:
13
+ 또는 게시된 패키지를 바로 실행합니다:
14
14
 
15
15
  ```bash
16
16
  npx verbalcoding setup --yes
17
17
  ```
18
18
 
19
- 전역 설치를 했다면 이어서:
19
+ `npm install -g`를 사용했다면 다음을 계속 실행하세요:
20
20
 
21
21
  ```bash
22
22
  vc setup --yes
23
23
  ```
24
24
 
25
- 기여자용 GitHub 클론 경로:
25
+ 기여자를 위한 GitHub 클론 경로:
26
26
 
27
27
  ```bash
28
28
  git clone https://github.com/ca1773130n/VerbalCoding.git
@@ -30,83 +30,89 @@ cd VerbalCoding
30
30
  ./scripts/install.sh --yes
31
31
  ```
32
32
 
33
- ## 2. 의존성 부트스트랩과 설정 마법사
33
+ ## 2. 의존성 부트스트랩 설정 마법사 실행
34
34
 
35
- npm 명령은 클론 설치와 같은 부트스트래퍼를 실행합니다. 클론에서는 다음을 실행합니다.
35
+ npm 설치에서는 현재 디렉터리에 저장소 체크아웃이 없으므로 `./scripts/install.sh`를 직접 실행하지 마세요. 대신 패키지된 CLI 래퍼를 사용하세요:
36
+
37
+ ```bash
38
+ vc setup --yes
39
+ ```
40
+
41
+ `vc setup`은 설치된 npm 패키지 안의 `scripts/install.sh`를 실행합니다. GitHub 클론 안에 있을 때만 `./scripts/install.sh --yes`를 사용하세요:
36
42
 
37
43
  ```bash
38
44
  ./scripts/install.sh --yes
39
45
  ```
40
46
 
41
- 명령이 하는 일:
47
+ 수행되는 작업:
42
48
 
43
49
  - `node_modules/`가 없으면 npm 의존성을 설치합니다.
44
- - 클론 설치에서는 짧은 `vc` 셸 명령을 `npm link`로 연결합니다.
45
- - OS 패키지 매니저가 지원되면 `ffmpeg`, Node/npm, `whisper-cli`를 설치합니다.
46
- - 기본 모델 `models/ggml-small-q5_1.bin`을 다운로드합니다.
47
- - `edge-tts`가 PATH 없으면 `.venv-tts`를 만들고 Edge TTS helper를 설치합니다.
48
- - 대화형 `.env` 설정 마법사를 실행합니다.
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` 마법사를 실행합니다.
49
55
 
50
56
  지원되는 시스템 부트스트랩 경로:
51
57
 
52
58
  | OS | 시스템 의존성 경로 |
53
59
  |---|---|
54
- | macOS | Homebrew: 필요 시 `brew install node ffmpeg whisper-cpp` |
55
- | Debian/Ubuntu | `apt-get`으로 Node/npm, ffmpeg, Python, build tools 설치; 필요 시 로컬 whisper.cpp 빌드 |
56
- | Fedora/RHEL | `dnf`로 Node/npm, ffmpeg, Python, build tools 설치; 필요 시 로컬 whisper.cpp 빌드 |
57
- | Arch | `pacman`으로 Node/npm, ffmpeg, Python, build tools 설치; 필요 시 로컬 whisper.cpp 빌드 |
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 빌드 폴백 |
58
64
 
59
65
  유용한 설치 변형:
60
66
 
61
67
  ```bash
62
- vc setup --yes --no-wizard # npm 설치에서 의존성만 준비
63
- ./scripts/install.sh --yes --no-wizard # 클론에서 의존성만 준비
64
- ./scripts/install.sh --skip-system # OS 패키지는 직접 설치
65
- ./scripts/install.sh --skip-model # 기본 STT 모델 다운로드 생략
66
- ./scripts/install.sh --skip-edge-tts # .venv-tts 생성 생략
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 만들지 않음
67
73
  VERBALCODING_SKIP_CLI_LINK=1 ./scripts/install.sh --yes
68
74
  ```
69
75
 
70
- OS가 지원되지 않으면 아래를 직접 설치한 다시 실행하세요.
76
+ OS가 지원되지 않으면 다시 실행하기 전에 다음을 수동으로 설치하세요:
71
77
 
72
78
  - Node.js 20+ 및 npm
73
79
  - ffmpeg
74
80
  - venv/pip가 포함된 Python 3
75
81
  - whisper.cpp `whisper-cli`
76
- - 인증된 CLI 에이전트 백엔드 하나 이상; 기본은 Hermes Agent
82
+ - 인증된 CLI 에이전트 백엔드 하나 이상, 기본값은 Hermes Agent
77
83
 
78
84
  ## 3. Discord 애플리케이션 설정
79
85
 
80
- Discord 봇을 처음 만든다면 먼저 공식/상위 문서를 확인하세요.
86
+ 처음 봇을 만드는 경우 먼저 업스트림 Discord 봇 설정 가이드를 읽으세요:
81
87
 
82
88
  - Hermes Agent Discord 메시징 가이드: <https://hermes-agent.nousresearch.com/docs/user-guide/messaging/discord>
83
89
  - Discord 공식 봇 개요: <https://docs.discord.com/developers/bots/overview>
84
90
  - Discord 공식 시작 가이드: <https://docs.discord.com/developers/quick-start/getting-started>
85
91
 
86
- 문서에는 Discord 애플리케이션 생성, bot user 추가, privileged intent 활성화, 서버 초대 방법이 설명되어 있습니다. VerbalCoding 같은 Discord bot 설정을 사용하고, 그 위에 음성 수신, STT, CLI 에이전트 실행, TTS 재생을 얹습니다.
92
+ 페이지들은 Discord 애플리케이션 생성, 사용자 추가, privileged intents 활성화, 서버 초대 방법을 보여줍니다. VerbalCoding 동일한 Discord 설정을 사용한 그 위에 음성 수신, STT, CLI 에이전트 실행, TTS 재생을 추가합니다.
87
93
 
88
- 1. Discord Developer Portal에서 애플리케이션과 봇을 만듭니다.
89
- 2. Message Content privileged intent를 켭니다.
90
- 3. 봇 토큰을 설치 프롬프트 또는 `.env`의 `DISCORD_BOT_TOKEN`에 넣습니다.
91
- 4. 초대 URL을 생성합니다.
94
+ 1. Discord Developer Portal에서 Discord 애플리케이션과 봇을 만듭니다.
95
+ 2. Message Content privileged intent를 활성화합니다.
96
+ 3. 봇 토큰을 설치 프로그램 프롬프트 또는 `.env`의 `DISCORD_BOT_TOKEN`에 복사합니다.
97
+ 4. 초대 URL을 생성합니다:
92
98
 
93
99
  ```bash
94
100
  vc bot invite <discord-client-id>
95
- # 특정 서버로 고정하려면:
101
+ # 또는 하나의 서버에 고정:
96
102
  vc bot invite <discord-client-id> --guild <guild-id>
97
103
  ```
98
104
 
99
- 초대 URL에는 VerbalCoding이 쓰는 bot/application command scope 텍스트/음성 권한이 포함됩니다.
105
+ 초대에는 VerbalCoding이 사용하는 텍스트/음성 권한과 bot 및 slash-command scope 포함됩니다.
100
106
 
101
- ## 4. 검증
107
+ ## 4. 확인
102
108
 
103
109
  ```bash
104
110
  vc doctor
105
111
  ```
106
112
 
107
- `vc doctor`는 토큰을 숨깁니다. 필요한 토큰, 명령, 모델이 있는지만 보여주고 비밀값은 출력하지 않습니다. 모든 `✗` 항목을 고친 뒤 다시 실행하세요.
113
+ `vc doctor`는 민감 정보를 가립니다. 비밀 값을 출력하지 않고 누락된 토큰/명령/모델을 보고합니다. 수정 가능한 로컬 필수 구성요소(`ffmpeg`, `whisper-cli`, 기본 모델, Edge TTS 헬퍼)가 없으면 먼저 패키지된 부트스트랩을 자동으로 다시 실행합니다. 남은 `✗` 항목을 고친 뒤 다시 실행하세요.
108
114
 
109
- 성공 예시는 다음과 같습니다.
115
+ 예상 성공 출력에는 다음이 포함됩니다:
110
116
 
111
117
  ```text
112
118
  ✓ Node.js
@@ -120,9 +126,9 @@ vc doctor
120
126
  Doctor passed. Run vc start to start VerbalCoding.
121
127
  ```
122
128
 
123
- 설치기가 로컬 Edge TTS helper를 만들었다면 `.env`에는 `.venv-tts/bin/edge-tts`를 가리키는 `EDGE_TTS_COMMAND` 경로가 들어갑니다.
129
+ 설치 프로그램이 로컬 Edge TTS 헬퍼를 만들었다면 `.env`에는 `.venv-tts/bin/edge-tts`를 가리키는 `EDGE_TTS_COMMAND` 경로가 있어야 합니다.
124
130
 
125
- ## 5. 기본 단일 봇 실행
131
+ ## 5. 단일 기본 봇 실행
126
132
 
127
133
  ```bash
128
134
  vc start
@@ -130,7 +136,7 @@ vc start
130
136
  ./run.sh
131
137
  ```
132
138
 
133
- 성공한 시작 로그에는 다음 줄이 보입니다.
139
+ 성공적인 시작 로그에는 다음이 포함됩니다:
134
140
 
135
141
  ```text
136
142
  Logged in as <bot-name>
@@ -146,11 +152,11 @@ Discord에서:
146
152
  !verbose on
147
153
  ```
148
154
 
149
- 다음 설정된 음성 채널에서 말해 보세요. STT 텍스트, verbose 모드의 진행 텍스트, 최종 텍스트 답변, TTS 재생을 확인할 수 있어야 합니다.
155
+ 그런 다음 설정된 음성 채널에서 말하세요. STT 텍스트, 자세한 모드가 켜졌을 때의 진행 텍스트, 최종 텍스트 답변을 볼 수 있고 TTS 재생도 들을 수 있어야 합니다.
150
156
 
151
- ## 6. 프로젝트별 음성방 설정
157
+ ## 6. 프로젝트별 설정
152
158
 
153
- 프로젝트 음성방마다 영구 하나를 두려면 프로젝트마다 Discord 애플리케이션을 만든 뒤:
159
+ 프로젝트 음성 방마다 하나의 영구 봇을 두려면 프로젝트마다 Discord 애플리케이션을 하나씩 만들고 다음을 실행하세요:
154
160
 
155
161
  ```bash
156
162
  vc instance setup my-project
@@ -159,25 +165,25 @@ vc instance start my-project
159
165
  vc instance status my-project
160
166
  ```
161
167
 
162
- 각 인스턴스는 무시되는 `instances/<name>.env`를 작성합니다. 이 파일에는 해당 봇의 토큰, 음성 채널, transcript 대상, 로그 경로, Hermes 세션 파일, 선택적 Hermes 프로필 정보가 들어갑니다.
168
+ 각 인스턴스는 자체 토큰, 음성 채널, 전사 대상, 로그 경로, Hermes 세션 파일, 선택적 Hermes 프로필을 가진 무시되는 `instances/<name>.env`를 작성합니다.
163
169
 
164
- ## 7. 선택: OpenVoice 설정
170
+ ## 7. 선택 사항: OpenVoice 설정
165
171
 
166
- OpenVoice 음성 복제는 선택 기능입니다. 공개 설치 직후에는 `TTS_BACKEND=edge`를 유지하세요. 나중에 OpenVoice를 켜려면:
172
+ OpenVoice 음성 복제는 선택 사항입니다. 깨끗한 공개 설치에서는 `TTS_BACKEND=edge`를 유지하세요. 나중에 OpenVoice를 활성화하려면:
167
173
 
168
174
  ```bash
169
175
  ./scripts/setup_openvoice.sh
170
- # OpenVoice V2 체크포인트를 vendor/OpenVoice/checkpoints_v2/ 아래에 넣습니다.
171
- # 허가된 로컬 샘플을 voice-samples/user-reference.wav에 두거나,
172
- # 실행 “목소리 샘플 녹음 시작해”라고 말하고 10~30초 발화합니다.
176
+ # OpenVoice V2 checkpoints를 vendor/OpenVoice/checkpoints_v2/에 다운로드합니다.
177
+ # 허용된 로컬 샘플을 voice-samples/user-reference.wav에 추가하거나,
178
+ # 봇을 실행하고 "목소리 샘플 녹음 시작해"라고 말한 10-30초 동안 말합니다.
173
179
  python3 integrations/openvoice/synth.py --openvoice-dir vendor/OpenVoice --ref-audio voice-samples/user-reference.wav --text '안녕하세요. 버벌코딩 목소리 복제 테스트입니다.' --output /tmp/verbalcoding-openvoice-smoke.wav
174
180
  ```
175
181
 
176
- `TTS_BACKEND=openvoice`로 설정하고 `vc doctor`, Discord `!voice-test <text>`로 테스트합니다.
182
+ 그런 다음 `TTS_BACKEND=openvoice`를 설정하고 `vc doctor`를 실행한 뒤 Discord에서 `!voice-test <text>`를 테스트하세요.
177
183
 
178
- ## 8. 유지보수자용 클린 설치 스모크 테스트
184
+ ## 8. 유지관리자를 위한 깨끗한 클론 스모크 테스트
179
185
 
180
- 빠른 호스트 스모크 테스트:
186
+ 빠른 호스트 전용 스모크 테스트:
181
187
 
182
188
  ```bash
183
189
  TMPDIR=$(mktemp -d)
@@ -190,12 +196,12 @@ chmod 600 .env
190
196
  vc doctor || true
191
197
  ```
192
198
 
193
- 시점에서 예상되는 실패는 로컬 비밀값 누락 또는 인증되지 않은 에이전트 CLI입니다. 토큰 노출이나 설치 스크립트 누락이 나오면 안 됩니다.
199
+ 시점의 예상 실패는 로컬 비밀 정보 누락 또는 인증되지 않은 에이전트 CLI이며, 토큰 유출이나 설치 스크립트 누락이 아니어야 합니다.
194
200
 
195
- Docker 기반 Ubuntu 클린 설치 스모크 테스트:
201
+ Docker 기반 Ubuntu 깨끗한 설치 스모크 테스트:
196
202
 
197
203
  ```bash
198
204
  ./scripts/docker_ubuntu_smoke.sh
199
205
  ```
200
206
 
201
- 이 스크립트는 `ubuntu:24.04`에서 추적된 저장소 트리를 깨끗한 컨테이너로 복사하고, `./scripts/install.sh --yes --no-wizard`를 실행하고, 비밀값 없는 smoke `.env`를 만든 `vc`, Node 테스트, `vc doctor`를 확인합니다. Discord 음성 연결까지는 하지 않습니다. 실제 end-to-end 음성 테스트는 Ubuntu VM 또는 WSL2에서 별도로 진행하세요.
207
+ 이 스크립트는 `ubuntu:24.04`를 실행하고, 추적 중인 저장소 트리를 깨끗한 컨테이너로 복사하고, `./scripts/install.sh --yes --no-wizard`를 실행하고, 비밀이 아닌 스모크 `.env`를 작성하고, `vc`를 확인하고, Node 테스트를 실행하고, `vc doctor`를 검증합니다. Discord 음성에는 연결하지 않습니다. 이후 엔드투엔드 음성 채널 테스트가 필요하면 실제 Ubuntu VM 또는 WSL2 사용하세요.
@@ -0,0 +1,207 @@
1
+ # Чистая установка
2
+
3
+ Это руководство предназначено для чистой публичной установки. Оно избегает локальных предположений и использует установщик, чтобы подготовить как можно больше компонентов.
4
+
5
+ ## 1. Установите CLI
6
+
7
+ Рекомендуемый путь через npm:
8
+
9
+ ```bash
10
+ npm install -g verbalcoding
11
+ ```
12
+
13
+ Или запустите опубликованный пакет напрямую:
14
+
15
+ ```bash
16
+ npx verbalcoding setup --yes
17
+ ```
18
+
19
+ Если вы использовали `npm install -g`, продолжите так:
20
+
21
+ ```bash
22
+ vc setup --yes
23
+ ```
24
+
25
+ Путь через клон GitHub для контрибьюторов:
26
+
27
+ ```bash
28
+ git clone https://github.com/ca1773130n/VerbalCoding.git
29
+ cd VerbalCoding
30
+ ./scripts/install.sh --yes
31
+ ```
32
+
33
+ ## 2. Подготовьте зависимости и запустите мастер настройки
34
+
35
+ При установке через npm не запускайте `./scripts/install.sh` напрямую: в текущем каталоге нет checkout репозитория. Вместо этого используйте упакованную CLI-обёртку:
36
+
37
+ ```bash
38
+ vc setup --yes
39
+ ```
40
+
41
+ `vc setup` запускает `scripts/install.sh`, включённый в установленный npm-пакет. Используйте `./scripts/install.sh --yes` только внутри GitHub-клона:
42
+
43
+ ```bash
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
73
+ VERBALCODING_SKIP_CLI_LINK=1 ./scripts/install.sh --yes
74
+ ```
75
+
76
+ Если ваша ОС не поддерживается, установите это вручную перед повторным запуском:
77
+
78
+ - Node.js 20+ и npm
79
+ - ffmpeg
80
+ - Python 3 с venv/pip
81
+ - `whisper-cli` из whisper.cpp
82
+ - один аутентифицированный бэкенд CLI-агента, по умолчанию Hermes Agent
83
+
84
+ ## 3. Настройка приложения Discord
85
+
86
+ Если это ваш первый бот, сначала прочитайте исходные руководства по настройке ботов Discord:
87
+
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>
91
+
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 приглашения:
98
+
99
+ ```bash
100
+ vc bot invite <discord-client-id>
101
+ # or pin it to one server:
102
+ vc bot invite <discord-client-id> --guild <guild-id>
103
+ ```
104
+
105
+ Приглашение включает scopes бота и slash-команд, а также текстовые/голосовые разрешения, используемые VerbalCoding.
106
+
107
+ ## 4. Проверьте
108
+
109
+ ```bash
110
+ vc doctor
111
+ ```
112
+
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`.
130
+
131
+ ## 5. Запустите одного бота по умолчанию
132
+
133
+ ```bash
134
+ vc start
135
+ # or, from a GitHub clone:
136
+ ./run.sh
137
+ ```
138
+
139
+ Логи успешного запуска включают:
140
+
141
+ ```text
142
+ Logged in as <bot-name>
143
+ Listening in voice channel <server> / <channel>
144
+ ```
145
+
146
+ В Discord:
147
+
148
+ ```text
149
+ !ping
150
+ !join
151
+ !ask say hello briefly
152
+ !verbose on
153
+ ```
154
+
155
+ Затем говорите в настроенном голосовом канале. Вы должны увидеть текст STT, текст прогресса при включённом подробном режиме, финальный текстовый ответ и услышать воспроизведение TTS.
156
+
157
+ ## 6. Настройка «проект на комнату»
158
+
159
+ Для одного постоянного бота на голосовую комнату проекта создайте по одному приложению Discord на проект, затем:
160
+
161
+ ```bash
162
+ vc instance setup my-project
163
+ vc bot invite <that-project-client-id>
164
+ vc instance start my-project
165
+ vc instance status my-project
166
+ ```
167
+
168
+ Каждый экземпляр записывает игнорируемый `instances/<name>.env` со своим токеном, голосовым каналом, целью расшифровок, путём лога, файлом сессии Hermes и необязательным профилем Hermes.
169
+
170
+ ## 7. Необязательная настройка OpenVoice
171
+
172
+ Клонирование голоса OpenVoice необязательно. Для свежей публичной установки оставьте `TTS_BACKEND=edge`. Чтобы позже включить OpenVoice:
173
+
174
+ ```bash
175
+ ./scripts/setup_openvoice.sh
176
+ # Download OpenVoice V2 checkpoints into vendor/OpenVoice/checkpoints_v2/
177
+ # Add a permitted local sample at voice-samples/user-reference.wav,
178
+ # or run the bot, say "목소리 샘플 녹음 시작해", then speak 10-30 seconds.
179
+ python3 integrations/openvoice/synth.py --openvoice-dir vendor/OpenVoice --ref-audio voice-samples/user-reference.wav --text '안녕하세요. 버벌코딩 목소리 복제 테스트입니다.' --output /tmp/verbalcoding-openvoice-smoke.wav
180
+ ```
181
+
182
+ Затем установите `TTS_BACKEND=openvoice`, запустите `vc doctor` и протестируйте `!voice-test <text>` в Discord.
183
+
184
+ ## 8. Smoke-тест чистого клона для сопровождающих
185
+
186
+ Быстрый smoke-тест только на хосте:
187
+
188
+ ```bash
189
+ TMPDIR=$(mktemp -d)
190
+ git clone https://github.com/ca1773130n/VerbalCoding.git "$TMPDIR/VerbalCoding"
191
+ cd "$TMPDIR/VerbalCoding"
192
+ ./scripts/install.sh --yes --no-wizard
193
+ npm pack --dry-run
194
+ cp .env.example .env
195
+ chmod 600 .env
196
+ vc doctor || true
197
+ ```
198
+
199
+ Ожидаемая ошибка на этом этапе — отсутствующие локальные секреты или неаутентифицированный CLI агента, а не утёкшие токены или отсутствующие установочные скрипты.
200
+
201
+ Smoke-тест чистой установки Ubuntu на базе Docker:
202
+
203
+ ```bash
204
+ ./scripts/docker_ubuntu_smoke.sh
205
+ ```
206
+
207
+ Он запускает `ubuntu:24.04`, копирует отслеживаемое дерево репозитория в чистый контейнер, выполняет `./scripts/install.sh --yes --no-wizard`, записывает несекретный smoke `.env`, проверяет `vc`, запускает Node-тесты и проверяет `vc doctor`. Он не подключается к голосу Discord; используйте настоящую Ubuntu VM или WSL2 после этого, если нужен сквозной тест голосового канала.