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
@@ -1,7 +1,7 @@
1
1
  # VerbalCoding
2
2
 
3
3
  <p align="center">
4
- <strong>Discord音声でCLIコーディングエージェントと通話するように作業できます。</strong>
4
+ <strong>Discord 音声で CLI コーディングエージェントに話しかける — ソフトウェア作業のための電話のように。</strong>
5
5
  </p>
6
6
 
7
7
  <p align="center">
@@ -19,103 +19,131 @@
19
19
  <img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
20
20
  <img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
21
21
  <img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20Supertonic%20%7C%20SpeechSwift-0EA5E9">
22
+ <img alt="Agents" src="https://img.shields.io/badge/Agents-Hermes%20%7C%20Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20OpenCode-111827">
22
23
  </p>
23
24
 
24
25
  <p align="center">
25
- <img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
26
+ <img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding の音声からエージェントへのフロー" width="860">
26
27
  </p>
27
28
 
28
- ## Why
29
+ ## なぜ使うのか
29
30
 
30
- VerbalCodingDiscordの音声チャンネルを、コーディングエージェントのハンズフリー操作面に変えます。声で依頼し、CLIエージェントに作業させ、要点だけを音声で受け取れます。テキスト記録、進捗イベント、コードやログを読み上げすぎないガードも備えています。
31
+ VerbalCoding は、Discord の音声チャンネルをコーディングエージェント向けのハンズフリー操作面に変えます。リクエストを話し、CLI エージェントに作業を任せ、簡潔な回答を音声で受け取れます。テキスト文字起こし、進捗イベント、ノイズの多いコード/ログ出力に対するガードレールも備えています。
31
32
 
32
33
  ## ハイライト
33
34
 
34
- | できること | うれしい理由 |
35
+ | 得られるもの | 何がうれしいか |
35
36
  |---|---|
36
- | 音声ファーストのAgent操作 | Hermes Agent、Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw、カスタムCLIを声で操作できます。 |
37
- | ローカル優先の音声ループ | Discord音声キャプチャ → `whisper.cpp` STTAgent → 分割TTS再生。 |
38
- | 音声とテキストの共有コンテキスト | 対応Agentでは音声ターンと`!ask`テキストコマンドが同じセッションを再利用できます。 |
39
- | 割り込みと感度モード | 再生中に自然に割り込み、通常/保守的な感度を切り替えられます。 |
40
- | 多言語音声プリセット | `vc language ko/en/auto`でSTT、進捗言語、TTS音声をまとめて変更できます。 |
41
- | プロジェクト別マルチルーム分離 | プロジェクトごとにBot、Hermesプロファイル、セッション、メモリ、ログを分離します。 |
37
+ | 音声ファーストのエージェント操作 | Hermes Agent、Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw、または任意のカスタム CLI ハーネスに話しかけられます。 |
38
+ | オンデバイスの音声ループ | Discord 音声キャプチャ → ローカル `whisper-cli` 文字起こしエージェント → 分割 TTS 再生。 |
39
+ | 音声 + テキストの共有コンテキスト | 音声ターンと `!ask` テキストコマンドで、対応する同じエージェントセッションを再利用できます。 |
40
+ | 割り込み発話と感度モード | 再生を自然に中断し、通常環境と保守的/騒音環境向けのモードを切り替えられます。 |
41
+ | 多言語音声プリセット | `vc language ko/en/auto` で STT、進捗言語、TTS 音声をまとめて切り替えます。 |
42
+ | 複数ルームのプロジェクト分離 | プロジェクトルームごとに 1 つのボットを実行し、Hermes プロファイル、セッション、メモリ、ログを分離します。 |
42
43
 
43
44
  ## クイックスタート
44
45
 
46
+ npm を使う最短手順:
47
+
48
+ ```bash
49
+ npm install -g verbalcoding
50
+ vc setup --yes
51
+ vc doctor
52
+ vc start
53
+ ```
54
+
55
+ 永続的なグローバルインストールなしで直接実行する場合:
56
+
57
+ ```bash
58
+ npx verbalcoding setup --yes
59
+ vc doctor
60
+ vc start
61
+ ```
62
+
63
+ コントリビューター向けの GitHub クローン手順:
64
+
45
65
  ```bash
46
- git clone git@github.com:ca1773130n/VerbalCoding.git
66
+ git clone https://github.com/ca1773130n/VerbalCoding.git
47
67
  cd VerbalCoding
48
- ./scripts/install.sh
68
+ ./scripts/install.sh --yes
49
69
  vc doctor
50
70
  ./run.sh
51
71
  ```
52
72
 
53
- ## 仕組み
54
-
55
- ```mermaid
56
- flowchart LR
57
- A[Discord voice] --> B["@discordjs/voice"]
58
- B --> C[PCM cleanup + gates]
59
- C --> D["whisper.cpp STT"]
60
- D --> E["CLI agent adapter"]
61
- E --> F["Concise answer"]
62
- F --> G["Chunked TTS"]
63
- G --> H["Discord playback"]
64
- ```
73
+ `vc setup --yes` は、npm パッケージに同梱されたインストーラーからローカル前提条件をブートストラップします。`./scripts/install.sh --yes` は GitHub クローン内で同じ処理を行います。どちらも可能な範囲で Node/npm 依存関係、`ffmpeg`、`whisper-cli`、デフォルトの whisper.cpp モデル、ローカル `.venv-tts` Edge TTS ヘルパー、セットアップウィザード設定を処理します。macOS/Homebrew と一般的な Linux パッケージマネージャー(`apt`、`dnf`、`pacman`)をサポートします。依存関係だけをセットアップするには `--no-wizard` を付けて再実行し、OS パッケージを自分でインストールしたい場合は `--skip-system` を使います。
74
+
75
+ クリーンインストールの手順が必要ですか? [新規インストール](FRESH_INSTALL.ja.md) から始めてください。
65
76
 
66
77
  ## 対応エージェントバックエンド
67
78
 
68
- | Backend | Default command | Session support |
79
+ | バックエンド | デフォルトコマンド | セッション対応 |
69
80
  |---|---:|---|
70
- | Hermes Agent | `hermes chat -Q -q` | Resume, verbose progress, cancellation, final-answer recovery |
71
- | Claude Code | `claude -p` | CLI session file support through adapter defaults |
72
- | Codex CLI | `codex exec` | CLI session file support through adapter defaults |
73
- | Gemini CLI | `gemini -p` | CLI session file support through adapter defaults |
74
- | OpenCode | `opencode run` | CLI session file support through adapter defaults |
75
- | OpenClaw | `openclaw run` | CLI session file support through adapter defaults |
76
- | Custom | `AGENT_COMMAND` | Bring your own non-interactive command |
81
+ | Hermes Agent | `hermes chat -Q -q` | 再開、詳細な進捗、キャンセル、最終回答の復元 |
82
+ | Claude Code | `claude -p` | アダプターのデフォルトによる CLI セッションファイル対応 |
83
+ | Codex CLI | `codex exec` | アダプターのデフォルトによる CLI セッションファイル対応 |
84
+ | Gemini CLI | `gemini -p` | アダプターのデフォルトによる CLI セッションファイル対応 |
85
+ | OpenCode | `opencode run` | アダプターのデフォルトによる CLI セッションファイル対応 |
86
+ | OpenClaw | `openclaw run` | アダプターのデフォルトによる CLI セッションファイル対応 |
87
+ | Custom | `AGENT_COMMAND` | 独自の非対話コマンドを持ち込めます |
77
88
 
78
- ## 詳しく見る
89
+ ## さらに詳しく
79
90
 
80
- | Guide | What you get |
91
+ | ガイド | 内容 |
81
92
  |---|---|
82
- | [Fresh Install](../FRESH_INSTALL.md) | クリーンなクローンからのセットアップ、モデル取得、初回起動 |
83
- | [Usage Guide](../USAGE.md) | CLIコマンド、Discordコマンド、進捗モード、レイテンシ指標 |
84
- | [Configuration](../CONFIGURATION.md) | .env、エージェントバックエンド、MCP、TTSバックエンド、運用メモ |
85
- | [Multi-Instance](../MULTI_INSTANCE.md) | プロジェクトごとに常駐Discord音声ルームを用意 |
86
- | [Release Notes](../RELEASE.md) | 現在の機能とリリース前チェックリスト |
93
+ | [新規インストール](FRESH_INSTALL.ja.md) | クリーンなクローンセットアップ、モデルのダウンロード、初回実行 |
94
+ | [使い方ガイド](USAGE.ja.md) | CLI コマンド、Discord コマンド、進捗モード、レイテンシ指標 |
95
+ | [設定](CONFIGURATION.ja.md) | `.env`、エージェントバックエンド、MCP、TTS バックエンド、運用メモ |
96
+ | [マルチインスタンス](MULTI_INSTANCE.ja.md) | プロジェクトごとに 1 つの永続 Discord 音声ルーム |
97
+ | [リリースノート](RELEASE.ja.md) | 現在の機能とプレリリースチェックリスト |
87
98
 
88
- ## 小さなコマンド表
99
+ ## 小さなコマンドマップ
89
100
 
90
101
  ```bash
91
- vc status
92
- vc language ko|en|auto
93
- vc bot invite CLIENT_ID
94
- vc instance setup NAME
95
- vc instance start NAME
96
- vc doctor
102
+ vc status # 現在の言語、TTS、ブリッジ設定
103
+ vc language ko|en|auto # STT/進捗/TTS の言語プリセットを切り替え
104
+ vc bot invite CLIENT_ID # Discord ボット招待 URL を生成
105
+ vc instance setup NAME # 分離されたプロジェクト音声ボットを作成
106
+ vc instance start NAME # そのボットをバックグラウンドで実行
107
+ vc doctor # 秘密情報を伏せたヘルスチェック
108
+ vc start # デフォルトブリッジを起動
97
109
  ```
98
110
 
111
+ Discord 内:
112
+
113
+ | コマンド | 動作 |
114
+ |---|---|
115
+ | `!join` | 現在の音声チャンネルに参加します。 |
116
+ | `!ask <prompt>` | 同じエージェントバックエンドにテキストを送信します。 |
117
+ | `!verbose on\|off` | 短い進捗更新を表示/読み上げします。 |
118
+ | `!latency` | 直近の音声/STT/エージェント/TTS レイテンシを要約します。 |
119
+ | `!sensitivity normal` | 通常の屋内向け割り込み感度を使います。 |
120
+ | `!sensitivity conservative` | 騒音/屋外向けのより厳しい感度を使います。 |
121
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | プロジェクトセッションを音声ルームに紐付けます。 |
122
+
99
123
  ## 要件
100
124
 
101
- | Layer | Default |
125
+ | レイヤー | デフォルト |
102
126
  |---|---|
103
- | Runtime | Node.js 20+, npm |
104
- | Audio | `ffmpeg` |
105
- | STT | `whisper.cpp` / `whisper-cli` |
106
- | Discord | Bot token, Message Content intent, voice permissions |
107
- | Agent | At least one authenticated CLI harness, Hermes Agent by default |
108
- | Platform focus | macOS / Apple Silicon currently gets the most testing |
127
+ | ランタイム | Node.js 20+、npm。インストールスクリプトは Homebrew/apt/dnf/pacman 経由で導入できます |
128
+ | 音声 | `ffmpeg`。インストールスクリプトで導入できます |
129
+ | 音声認識 | whisper.cpp のローカル `whisper-cli`。インストールスクリプトは macOS では Homebrew、Linux ではローカルビルドのフォールバックを使います |
130
+ | TTS | Edge TTS CLI。必要に応じてインストールスクリプトが `.venv-tts` を作成します |
131
+ | Discord | ボットトークン、Message Content intent、音声権限 |
132
+ | エージェント | 認証済み CLI ハーネスが少なくとも 1 つ。デフォルトは Hermes Agent |
133
+ | 主な対象プラットフォーム | macOS / Apple Silicon で最も検証済み。Linux ブートストラップはベストエフォートで文書化されています |
109
134
 
110
135
  ## コントリビュート
111
136
 
137
+ 変更を送る前に軽量チェックを実行してください:
138
+
112
139
  ```bash
113
140
  node --check app-node/main.mjs
114
141
  npm test
115
142
  bash -n run.sh scripts/install.sh
143
+ npm pack --dry-run
116
144
  vc doctor
117
145
  ```
118
146
 
119
147
  ## ステータス
120
148
 
121
- VerbalCoding is public-release oriented but still early. Demo video/GIF, broader Linux notes, and a formal license file are still TODOs.
149
+ VerbalCoding は公開リリースを目指していますが、まだ初期段階です。デモ動画/GIF、より広範な Linux 検証、CI、より深いセキュリティレビューはまだ TODO です。
@@ -1,12 +1,11 @@
1
1
  # VerbalCoding
2
2
 
3
3
  <p align="center">
4
- <strong>Discord 음성으로 CLI 코딩 에이전트와 통화하듯 작업하세요.</strong>
4
+ <strong>Discord 음성으로 CLI 코딩 에이전트와 대화하세요 — 소프트웨어 작업을 위한 전화 통화처럼.</strong>
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
8
  <a href="../../README.md">English</a> ·
9
- <a href="README.ko.md">한국어</a> ·
10
9
  <a href="README.ja.md">日本語</a> ·
11
10
  <a href="README.zh.md">中文</a> ·
12
11
  <a href="README.es.md">Español</a> ·
@@ -23,27 +22,27 @@
23
22
  </p>
24
23
 
25
24
  <p align="center">
26
- <img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
25
+ <img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding 음성-에이전트 흐름" width="860">
27
26
  </p>
28
27
 
29
28
  ## 왜 필요한가
30
29
 
31
- VerbalCoding은 Discord 음성 채널을 코딩 에이전트용 핸즈프리 조작면으로 바꿉니다. 말로 요청하고, CLI 에이전트가 작업하게 두고, 핵심 답변을 음성으로 다시 들을 수 있습니다. 텍스트 기록, 진행 이벤트, 코드/로그 낭독 방지 장치도 함께 제공합니다.
30
+ VerbalCoding은 Discord 음성 채널을 코딩 에이전트를 위한 핸즈프리 제어면으로 바꿉니다. 요청을 말하고, CLI 에이전트가 작업하게 뒤, 간결한 답변을 음성으로 들을 수 있습니다 텍스트 기록, 진행 이벤트, 시끄러운 코드/로그 출력에 대한 안전장치도 함께 제공합니다.
32
31
 
33
- ## 핵심 기능
32
+ ## 주요 기능
34
33
 
35
- | 제공 기능 | 좋은 이유 |
34
+ | 제공되는 | 좋은 이유 |
36
35
  |---|---|
37
- | 음성 우선 에이전트 제어 | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw 또는 커스텀 CLI 말로 제어합니다. |
38
- | 로컬 우선 음성 루프 | Discord 음성 캡처 → `whisper.cpp` STT → 에이전트 → 분할 TTS 재생. |
39
- | 음성 + 텍스트 컨텍스트 공유 | 지원되는 에이전트에서는 음성 턴과 `!ask` 텍스트 명령이 같은 세션을 재사용합니다. |
40
- | 끼어들기와 감도 모드 | 재생 중 자연스럽게 끼어들고, 일반/보수 감도 모드를 전환합니다. |
41
- | 다국어 음성 프리셋 | `vc language ko/en/auto`로 STT, 진행 언어, TTS 음성을 함께 바꿉니다. |
42
- | 프로젝트별 멀티룸 격리 | 프로젝트 방마다 별도 봇과 Hermes 프로필, 세션, 메모리, 로그를 둡니다. |
36
+ | 음성 우선 에이전트 제어 | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw 또는 임의의 커스텀 CLI 하네스와 말로 대화합니다. |
37
+ | 온디바이스 음성 루프 | Discord 음성 캡처 → 로컬 `whisper-cli` 전사 → 에이전트 → 분할 TTS 재생. |
38
+ | 공유 음성 + 텍스트 컨텍스트 | 음성 턴과 `!ask` 텍스트 명령이 지원되는 동일 에이전트 세션을 재사용할 수 있습니다. |
39
+ | 끼어들기 감도 모드 | 재생 중 자연스럽게 끼어들고 일반/보수적(시끄러운 환경) 모드를 전환합니다. |
40
+ | 다국어 음성 프리셋 | `vc language ko/en/auto`로 STT, 진행 언어, TTS 음성을 함께 전환합니다. |
41
+ | 여러 방의 프로젝트 격리 | 프로젝트 방마다 하나의 봇을 실행하고 Hermes 프로필, 세션, 메모리, 로그를 분리합니다. |
43
42
 
44
43
  ## 빠른 시작
45
44
 
46
- 가장 쉬운 npm 설치:
45
+ npm으로 가장 빠르게 시작하는 방법:
47
46
 
48
47
  ```bash
49
48
  npm install -g verbalcoding
@@ -52,7 +51,7 @@ vc doctor
52
51
  vc start
53
52
  ```
54
53
 
55
- 전역 설치 없이 바로 실행:
54
+ 영구 전역 설치 없이 바로 실행하려면:
56
55
 
57
56
  ```bash
58
57
  npx verbalcoding setup --yes
@@ -60,7 +59,7 @@ vc doctor
60
59
  vc start
61
60
  ```
62
61
 
63
- 기여자용 GitHub 클론:
62
+ 기여자를 위한 GitHub 클론 경로:
64
63
 
65
64
  ```bash
66
65
  git clone https://github.com/ca1773130n/VerbalCoding.git
@@ -70,79 +69,71 @@ vc doctor
70
69
  ./run.sh
71
70
  ```
72
71
 
73
- `vc setup --yes`와 `./scripts/install.sh --yes`는 가능한 경우 Node/npm 의존성, `ffmpeg`, `whisper-cli`, 기본 whisper.cpp 모델, 로컬 `.venv-tts` Edge TTS helper를 준비합니다. macOS/Homebrew와 일반적인 Linux 패키지 매니저(`apt`, `dnf`, `pacman`)를 지원합니다.
72
+ `vc setup --yes`는 npm 패키지 안에 포함된 설치 스크립트로 로컬 필수 구성요소를 부트스트랩합니다. `./scripts/install.sh --yes`는 GitHub 클론 안에서 같은 작업을 수행합니다. 둘 다 가능한 경우 Node/npm 의존성, `ffmpeg`, `whisper-cli`, 기본 whisper.cpp 모델, 로컬 `.venv-tts` Edge TTS 헬퍼, 설정 마법사를 처리합니다. macOS/Homebrew와 일반적인 Linux 패키지 관리자(`apt`, `dnf`, `pacman`)를 지원합니다. 의존성만 설정하려면 `--no-wizard`로 다시 실행하고, OS 패키지를 직접 설치하려면 `--skip-system`을 사용하세요.
74
73
 
75
- ## 동작 방식
74
+ 깨끗한 설치 안내가 필요하다면 [Fresh Install](FRESH_INSTALL.ko.md)부터 시작하세요.
76
75
 
77
- ```mermaid
78
- flowchart LR
79
- A[Discord voice] --> B["@discordjs/voice"]
80
- B --> C[PCM cleanup + gates]
81
- C --> D["whisper.cpp STT"]
82
- D --> E["CLI agent adapter"]
83
- E --> F["Concise answer"]
84
- F --> G["Chunked TTS"]
85
- G --> H["Discord playback"]
86
- ```
87
-
88
- ## 지원 에이전트 백엔드
76
+ ## 지원되는 에이전트 백엔드
89
77
 
90
78
  | 백엔드 | 기본 명령 | 세션 지원 |
91
79
  |---|---:|---|
92
- | Hermes Agent | `hermes chat -Q -q` | resume, 자세한 진행, cancellation, 최종 답변 복구 |
80
+ | Hermes Agent | `hermes chat -Q -q` | 이어받기, 자세한 진행, 취소, 최종 답변 복구 |
93
81
  | Claude Code | `claude -p` | 어댑터 기본값을 통한 CLI 세션 파일 지원 |
94
82
  | Codex CLI | `codex exec` | 어댑터 기본값을 통한 CLI 세션 파일 지원 |
95
83
  | Gemini CLI | `gemini -p` | 어댑터 기본값을 통한 CLI 세션 파일 지원 |
96
84
  | OpenCode | `opencode run` | 어댑터 기본값을 통한 CLI 세션 파일 지원 |
97
85
  | OpenClaw | `openclaw run` | 어댑터 기본값을 통한 CLI 세션 파일 지원 |
98
- | Custom | `AGENT_COMMAND` | 비대화형 명령을 직접 연결 |
86
+ | Custom | `AGENT_COMMAND` | 직접 만든 비대화형 명령 사용 |
99
87
 
100
88
  ## 더 알아보기
101
89
 
102
- | 문서 | 내용 |
90
+ | 가이드 | 제공 내용 |
103
91
  |---|---|
104
- | [ 설치](FRESH_INSTALL.ko.md) | npm 설치, 클린 클론, 모델 다운로드, 첫 실행 |
105
- | [사용 가이드](USAGE.ko.md) | CLI 명령, Discord 명령, 진행 모드, 지연 시간 지표 |
106
- | [설정](CONFIGURATION.ko.md) | `.env`, 에이전트 백엔드, MCP, TTS 백엔드, 운영 메모 |
107
- | [멀티 인스턴스](MULTI_INSTANCE.ko.md) | 프로젝트마다 영구 Discord 음성방 하나씩 운영 |
108
- | [릴리스 노트](RELEASE.ko.md) | 현재 기능과 릴리스 체크리스트 |
109
- | [English docs](../../README.md) | 영어 canonical README와 문서 |
92
+ | [Fresh Install](FRESH_INSTALL.ko.md) | 깨끗한 클론 설정, 모델 다운로드, 첫 실행 |
93
+ | [Usage Guide](USAGE.ko.md) | CLI 명령, Discord 명령, 진행 모드, 지연 시간 지표 |
94
+ | [Configuration](CONFIGURATION.ko.md) | `.env`, 에이전트 백엔드, MCP, TTS 백엔드, 운영 참고 사항 |
95
+ | [Multi-Instance](MULTI_INSTANCE.ko.md) | 프로젝트마다 하나의 영구 Discord 음성 |
96
+ | [Release Notes](RELEASE.ko.md) | 현재 기능과 사전 릴리스 체크리스트 |
110
97
 
111
98
  ## 작은 명령 지도
112
99
 
113
100
  ```bash
114
- vc status # 현재 언어, TTS, 브릿지 설정 보기
101
+ vc status # 현재 언어, TTS, 브리지 설정
115
102
  vc language ko|en|auto # STT/진행/TTS 언어 프리셋 전환
116
103
  vc bot invite CLIENT_ID # Discord 봇 초대 URL 생성
117
104
  vc instance setup NAME # 격리된 프로젝트 음성 봇 생성
118
- vc instance start NAME # 해당 봇을 백그라운드로 실행
119
- vc doctor # 비밀값을 숨긴 상태 점검
120
- vc start # 기본 브릿지 시작
105
+ vc instance start NAME # 해당 봇을 백그라운드에서 실행
106
+ vc doctor # 민감 정보가 제거된 상태 점검
107
+ vc start # 기본 브리지 시작
121
108
  ```
122
109
 
123
110
  Discord에서:
124
111
 
125
- ```text
126
- !join !ask <prompt> !verbose on/off
127
- !latency !sensitivity normal !sensitivity conservative
128
- !session new <name> <workdir> [context] --voice <voice-channel>
129
- ```
112
+ | 명령 | 하는 일 |
113
+ |---|---|
114
+ | `!join` | 현재 음성 채널에 참가합니다. |
115
+ | `!ask <prompt>` | 동일 에이전트 백엔드로 텍스트를 보냅니다. |
116
+ | `!verbose on\|off` | 짧은 진행 업데이트를 표시/낭독합니다. |
117
+ | `!latency` | 최근 음성/STT/에이전트/TTS 지연 시간을 요약합니다. |
118
+ | `!sensitivity normal` | 일반 실내 끼어들기 감도를 사용합니다. |
119
+ | `!sensitivity conservative` | 더 엄격한 시끄러운/실외 감도를 사용합니다. |
120
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | 프로젝트 세션을 음성 방에 연결합니다. |
130
121
 
131
122
  ## 요구 사항
132
123
 
133
124
  | 계층 | 기본값 |
134
125
  |---|---|
135
- | Runtime | Node.js 20+, npm; 설치 스크립트가 Homebrew/apt/dnf/pacman으로 설치 시도 |
136
- | Audio | `ffmpeg`; 설치 스크립트가 설치 시도 |
137
- | STT | `whisper.cpp` / `whisper-cli`; macOS Homebrew, Linux 로컬 빌드 fallback |
138
- | TTS | Edge TTS CLI; 필요하면 `.venv-tts` 생성 |
139
- | Discord | Bot token, Message Content intent, voice permissions |
140
- | Agent | 인증된 CLI 하네스 하나 이상; 기본은 Hermes Agent |
141
- | Platform focus | macOS / Apple Silicon 가장 많이 테스트; Linux bootstrap은 best-effort |
126
+ | 런타임 | Node.js 20+, npm; 설치 스크립트가 Homebrew/apt/dnf/pacman으로 설치 가능 |
127
+ | 오디오 | `ffmpeg`; 설치 스크립트가 설치 가능 |
128
+ | 음성 인식 | whisper.cpp 로컬 `whisper-cli`; 설치 스크립트는 macOS에서 Homebrew 사용하거나 Linux에서 로컬 빌드 폴백 사용 |
129
+ | TTS | Edge TTS CLI; 필요한 경우 설치 스크립트가 `.venv-tts` 생성 |
130
+ | Discord | 토큰, Message Content intent, 음성 권한 |
131
+ | 에이전트 | 인증된 CLI 하네스 하나 이상, 기본값은 Hermes Agent |
132
+ | 중점 플랫폼 | macOS / Apple Silicon에서 가장 많이 테스트됨; Linux 부트스트랩은 최선 노력으로 문서화됨 |
142
133
 
143
134
  ## 기여
144
135
 
145
- 변경 가벼운 검증:
136
+ 변경 사항을 보내기 전에 가벼운 점검을 실행하세요:
146
137
 
147
138
  ```bash
148
139
  node --check app-node/main.mjs
@@ -154,4 +145,4 @@ vc doctor
154
145
 
155
146
  ## 상태
156
147
 
157
- VerbalCoding은 공개 릴리스를 지향하지만 아직 초기 단계입니다. 데모 영상/GIF, 더 넓은 Linux 검증, CI 보안 리뷰를 계속 보강하면 좋습니다.
148
+ VerbalCoding은 공개 릴리스를 지향하지만 아직 초기 단계입니다. 데모 비디오/GIF, 더 넓은 Linux 검증, CI, 더 깊은 보안 검토는 아직 TODO입니다.
@@ -1,7 +1,7 @@
1
1
  # VerbalCoding
2
2
 
3
3
  <p align="center">
4
- <strong>Общайтесь с CLI-агентами для программирования голосом в Discord — почти как по телефону.</strong>
4
+ <strong>Разговаривайте с CLI-агентами для кодинга через голос Discord — как по телефону для разработки ПО.</strong>
5
5
  </p>
6
6
 
7
7
  <p align="center">
@@ -19,103 +19,131 @@
19
19
  <img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
20
20
  <img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
21
21
  <img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20Supertonic%20%7C%20SpeechSwift-0EA5E9">
22
+ <img alt="Agents" src="https://img.shields.io/badge/Agents-Hermes%20%7C%20Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20OpenCode-111827">
22
23
  </p>
23
24
 
24
25
  <p align="center">
25
- <img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
26
+ <img src="../assets/figures/verbalcoding-flow.svg" alt="Голосовой поток VerbalCoding к агенту" width="860">
26
27
  </p>
27
28
 
28
- ## Why
29
+ ## Зачем
29
30
 
30
- VerbalCoding превращает голосовой канал Discord в hands-free панель управления агентами для разработки. Скажите задачу, дайте CLI-агенту выполнить работу и получите краткий голосовой ответ — с текстовыми транскриптами, событиями прогресса и защитой от зачитывания длинного кода или логов.
31
+ VerbalCoding превращает голосовой канал Discord в панель управления кодинг-агентами без рук. Произнесите запрос, позвольте CLI-агенту выполнить работу и услышите краткий ответ — с текстовыми расшифровками, событиями прогресса и защитными ограничениями для шумного вывода кода/логов.
31
32
 
32
- ## Возможности
33
+ ## Главное
33
34
 
34
- | Что есть | Почему это удобно |
35
+ | Что вы получаете | Почему это удобно |
35
36
  |---|---|
36
- | Голосовое управление прежде всего | Управляйте Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw или своим CLI голосом. |
37
- | Локальный voice loop | Голос Discord → STT `whisper.cpp` → агент → фрагментированное TTS-воспроизведение. |
38
- | Общий контекст голоса и текста | Голосовые реплики и `!ask` могут использовать одну и ту же поддерживаемую сессию агента. |
39
- | Barge-in и режимы чувствительности | Естественно перебивайте воспроизведение и переключайте normal/conservative режимы. |
40
- | Многоязычные voice presets | `vc language ko/en/auto` одновременно меняет STT, язык прогресса и TTS-голос. |
41
- | Изоляция комнат по проектам | Отдельный bot, Hermes profile, сессия, память и логи для каждого проекта. |
37
+ | Управление агентами голосом в первую очередь | Разговаривайте с Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw или любым пользовательским CLI-харнесом. |
38
+ | Речевой цикл на устройстве | Захват голоса Discord → локальная расшифровка `whisper-cli` → агент → фрагментированное воспроизведение TTS. |
39
+ | Общий голосовой и текстовый контекст | Голосовые реплики и текстовые команды `!ask` могут повторно использовать одну и ту же поддерживаемую сессию агента. |
40
+ | Перебивание и режимы чувствительности | Естественно прерывайте воспроизведение и переключайтесь между обычной и консервативной/шумной средой. |
41
+ | Многоязычные голосовые пресеты | Переключайте STT, язык прогресса и голос TTS вместе через `vc language ko/en/auto`. |
42
+ | Изоляция проектов по комнатам | Запускайте по одному боту на проектную комнату с отдельными профилями Hermes, сессиями, памятью и логами. |
42
43
 
43
44
  ## Быстрый старт
44
45
 
46
+ Самый быстрый путь через npm:
47
+
48
+ ```bash
49
+ npm install -g verbalcoding
50
+ vc setup --yes
51
+ vc doctor
52
+ vc start
53
+ ```
54
+
55
+ Или запуск напрямую без постоянной глобальной установки:
56
+
57
+ ```bash
58
+ npx verbalcoding setup --yes
59
+ vc doctor
60
+ vc start
61
+ ```
62
+
63
+ Путь через клон GitHub для контрибьюторов:
64
+
45
65
  ```bash
46
- git clone git@github.com:ca1773130n/VerbalCoding.git
66
+ git clone https://github.com/ca1773130n/VerbalCoding.git
47
67
  cd VerbalCoding
48
- ./scripts/install.sh
68
+ ./scripts/install.sh --yes
49
69
  vc doctor
50
70
  ./run.sh
51
71
  ```
52
72
 
53
- ## Как это работает
54
-
55
- ```mermaid
56
- flowchart LR
57
- A[Discord voice] --> B["@discordjs/voice"]
58
- B --> C[PCM cleanup + gates]
59
- C --> D["whisper.cpp STT"]
60
- D --> E["CLI agent adapter"]
61
- E --> F["Concise answer"]
62
- F --> G["Chunked TTS"]
63
- G --> H["Discord playback"]
64
- ```
73
+ `vc setup --yes` подготавливает локальные зависимости из установленного npm-пакета. `./scripts/install.sh --yes` делает то же самое только внутри GitHub-клона. Оба пути по возможности настраивают зависимости Node/npm, `ffmpeg`, `whisper-cli`, стандартную модель whisper.cpp, локальный помощник Edge TTS в `.venv-tts` и мастер настройки. Они поддерживают macOS/Homebrew и распространённые менеджеры пакетов Linux (`apt`, `dnf`, `pacman`); повторно запустите с `--no-wizard` для установки только зависимостей или с `--skip-system`, если хотите устанавливать пакеты ОС самостоятельно.
65
74
 
66
- ## Поддерживаемые agent-бэкенды
75
+ Нужно пошаговое руководство по чистой установке? Начните с [Fresh Install](FRESH_INSTALL.ru.md).
67
76
 
68
- | Backend | Default command | Session support |
77
+ ## Поддерживаемые бэкенды агентов
78
+
79
+ | Бэкенд | Команда по умолчанию | Поддержка сессий |
69
80
  |---|---:|---|
70
- | Hermes Agent | `hermes chat -Q -q` | Resume, verbose progress, cancellation, final-answer recovery |
71
- | Claude Code | `claude -p` | CLI session file support through adapter defaults |
72
- | Codex CLI | `codex exec` | CLI session file support through adapter defaults |
73
- | Gemini CLI | `gemini -p` | CLI session file support through adapter defaults |
74
- | OpenCode | `opencode run` | CLI session file support through adapter defaults |
75
- | OpenClaw | `openclaw run` | CLI session file support through adapter defaults |
76
- | Custom | `AGENT_COMMAND` | Bring your own non-interactive command |
81
+ | Hermes Agent | `hermes chat -Q -q` | Возобновление, подробный прогресс, отмена, восстановление финального ответа |
82
+ | Claude Code | `claude -p` | Поддержка файла сессии CLI через настройки адаптера по умолчанию |
83
+ | Codex CLI | `codex exec` | Поддержка файла сессии CLI через настройки адаптера по умолчанию |
84
+ | Gemini CLI | `gemini -p` | Поддержка файла сессии CLI через настройки адаптера по умолчанию |
85
+ | OpenCode | `opencode run` | Поддержка файла сессии CLI через настройки адаптера по умолчанию |
86
+ | OpenClaw | `openclaw run` | Поддержка файла сессии CLI через настройки адаптера по умолчанию |
87
+ | Пользовательский | `AGENT_COMMAND` | Подключите собственную неинтерактивную команду |
77
88
 
78
- ## Подробнее
89
+ ## Узнать больше
79
90
 
80
- | Guide | What you get |
91
+ | Руководство | Что вы получите |
81
92
  |---|---|
82
- | [Fresh Install](../FRESH_INSTALL.md) | Чистая установка, загрузка модели, первый запуск |
83
- | [Usage Guide](../USAGE.md) | CLI-команды, команды Discord, режим прогресса, метрики задержек |
84
- | [Configuration](../CONFIGURATION.md) | .env, agent-бэкенды, MCP, TTS и эксплуатационные заметки |
85
- | [Multi-Instance](../MULTI_INSTANCE.md) | Постоянная голосовая комната Discord для каждого проекта |
86
- | [Release Notes](../RELEASE.md) | Текущие возможности и pre-release checklist |
93
+ | [Чистая установка](FRESH_INSTALL.ru.md) | Настройка чистого клона, загрузка модели, первый запуск |
94
+ | [Руководство по использованию](USAGE.ru.md) | CLI-команды, команды Discord, режим прогресса, метрики задержки |
95
+ | [Конфигурация](CONFIGURATION.ru.md) | `.env`, бэкенды агентов, MCP, бэкенды TTS, эксплуатационные заметки |
96
+ | [Многоэкземплярный режим](MULTI_INSTANCE.ru.md) | Одна постоянная голосовая комната Discord на проект |
97
+ | [Заметки о релизе](RELEASE.ru.md) | Текущие возможности и чеклист перед релизом |
87
98
 
88
- ## Карта команд
99
+ ## Краткая карта команд
89
100
 
90
101
  ```bash
91
- vc status
92
- vc language ko|en|auto
93
- vc bot invite CLIENT_ID
94
- vc instance setup NAME
95
- vc instance start NAME
96
- vc doctor
102
+ vc status # current language, TTS, and bridge settings
103
+ vc language ko|en|auto # switch STT/progress/TTS language preset
104
+ vc bot invite CLIENT_ID # generate the Discord bot invite URL
105
+ vc instance setup NAME # create an isolated project voice bot
106
+ vc instance start NAME # run that bot in the background
107
+ vc doctor # redacted health check
108
+ vc start # start the default bridge
97
109
  ```
98
110
 
111
+ В Discord:
112
+
113
+ | Команда | Что делает |
114
+ |---|---|
115
+ | `!join` | Подключает бота к вашему текущему голосовому каналу. |
116
+ | `!ask <prompt>` | Отправляет текст в тот же бэкенд агента. |
117
+ | `!verbose on\|off` | Показывает/озвучивает короткие обновления прогресса. |
118
+ | `!latency` | Сводка недавней задержки голоса/STT/агента/TTS. |
119
+ | `!sensitivity normal` | Использует обычную чувствительность перебивания для помещений. |
120
+ | `!sensitivity conservative` | Использует более строгую чувствительность для шумной/уличной среды. |
121
+ | `!session new <name> <workdir> [context] --voice <voice-channel>` | Привязывает проектную сессию к голосовой комнате. |
122
+
99
123
  ## Требования
100
124
 
101
- | Layer | Default |
125
+ | Уровень | По умолчанию |
102
126
  |---|---|
103
- | Runtime | Node.js 20+, npm |
104
- | Audio | `ffmpeg` |
105
- | STT | `whisper.cpp` / `whisper-cli` |
106
- | Discord | Bot token, Message Content intent, voice permissions |
107
- | Agent | At least one authenticated CLI harness, Hermes Agent by default |
108
- | Platform focus | macOS / Apple Silicon currently gets the most testing |
127
+ | Среда выполнения | Node.js 20+, npm; установочный скрипт может установить через Homebrew/apt/dnf/pacman |
128
+ | Аудио | `ffmpeg`; установочный скрипт может установить его |
129
+ | Распознавание речи | Локальный `whisper-cli` из whisper.cpp; установочный скрипт использует Homebrew на macOS или локальную резервную сборку Linux |
130
+ | TTS | Edge TTS CLI; установочный скрипт создаёт `.venv-tts` при необходимости |
131
+ | Discord | Токен бота, intent Message Content, голосовые разрешения |
132
+ | Агент | Как минимум один аутентифицированный CLI-харнес, по умолчанию Hermes Agent |
133
+ | Основная платформа | macOS / Apple Silicon протестированы лучше всего; bootstrap для Linux предоставляется по мере возможностей и документирован |
134
+
135
+ ## Участие в разработке
109
136
 
110
- ## Участие
137
+ Перед отправкой изменений выполните лёгкие проверки:
111
138
 
112
139
  ```bash
113
140
  node --check app-node/main.mjs
114
141
  npm test
115
142
  bash -n run.sh scripts/install.sh
143
+ npm pack --dry-run
116
144
  vc doctor
117
145
  ```
118
146
 
119
147
  ## Статус
120
148
 
121
- VerbalCoding is public-release oriented but still early. Demo video/GIF, broader Linux notes, and a formal license file are still TODOs.
149
+ VerbalCoding ориентирован на публичный релиз, но всё ещё находится на ранней стадии. Демо-видео/GIF, более широкая проверка Linux, CI и более глубокий аудит безопасности пока остаются TODO.