verbalcoding 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/docs/i18n/CONFIGURATION.es.md +150 -0
- package/docs/i18n/CONFIGURATION.fr.md +150 -0
- package/docs/i18n/CONFIGURATION.ja.md +150 -0
- package/docs/i18n/CONFIGURATION.ko.md +49 -146
- package/docs/i18n/CONFIGURATION.ru.md +150 -0
- package/docs/i18n/CONFIGURATION.zh.md +150 -0
- package/docs/i18n/FRESH_INSTALL.es.md +124 -0
- package/docs/i18n/FRESH_INSTALL.fr.md +124 -0
- package/docs/i18n/FRESH_INSTALL.ja.md +124 -0
- package/docs/i18n/FRESH_INSTALL.ko.md +37 -114
- package/docs/i18n/FRESH_INSTALL.ru.md +124 -0
- package/docs/i18n/FRESH_INSTALL.zh.md +124 -0
- package/docs/i18n/MULTI_INSTANCE.es.md +121 -0
- package/docs/i18n/MULTI_INSTANCE.fr.md +121 -0
- package/docs/i18n/MULTI_INSTANCE.ja.md +121 -0
- package/docs/i18n/MULTI_INSTANCE.ko.md +28 -86
- package/docs/i18n/MULTI_INSTANCE.ru.md +121 -0
- package/docs/i18n/MULTI_INSTANCE.zh.md +121 -0
- package/docs/i18n/README.es.md +50 -86
- package/docs/i18n/README.fr.md +50 -86
- package/docs/i18n/README.ja.md +50 -86
- package/docs/i18n/README.ko.md +41 -113
- package/docs/i18n/README.ru.md +50 -86
- package/docs/i18n/README.zh.md +50 -86
- package/docs/i18n/RELEASE.es.md +58 -0
- package/docs/i18n/RELEASE.fr.md +58 -0
- package/docs/i18n/RELEASE.ja.md +58 -0
- package/docs/i18n/RELEASE.ko.md +36 -50
- package/docs/i18n/RELEASE.ru.md +58 -0
- package/docs/i18n/RELEASE.zh.md +58 -0
- package/docs/i18n/USAGE.es.md +134 -0
- package/docs/i18n/USAGE.fr.md +134 -0
- package/docs/i18n/USAGE.ja.md +134 -0
- package/docs/i18n/USAGE.ko.md +63 -101
- package/docs/i18n/USAGE.ru.md +134 -0
- package/docs/i18n/USAGE.zh.md +134 -0
- package/package.json +1 -1
|
@@ -1,64 +1,50 @@
|
|
|
1
1
|
# VerbalCoding 멀티 인스턴스
|
|
2
2
|
|
|
3
|
-
VerbalCoding
|
|
3
|
+
VerbalCoding can run multiple independent Discord voice bridge processes. Each process loads a different `instances/<name>.env` file and uses a different Discord bot token.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use this when each project should permanently occupy its own Discord voice channel and write to its own transcript channel/thread.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Why multiple bot tokens are required
|
|
8
8
|
|
|
9
|
-
Discord
|
|
9
|
+
Discord voice residency is effectively one active voice connection per bot account per guild. For simultaneous project rooms, create one Discord application/bot per project.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## File layout
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
14
|
instances/
|
|
15
15
|
README.md
|
|
16
16
|
example.env
|
|
17
|
-
llm-wiki.env #
|
|
18
|
-
verbalcoding.env #
|
|
17
|
+
llm-wiki.env # local only, ignored by git
|
|
18
|
+
verbalcoding.env # local only, ignored by git
|
|
19
19
|
.run/instances/
|
|
20
|
-
llm-wiki.pid #
|
|
20
|
+
llm-wiki.pid # runtime only, ignored by git
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Real `instances/*.env` files are ignored because they may contain Discord tokens.
|
|
24
24
|
|
|
25
|
-
##
|
|
26
|
-
|
|
27
|
-
일반 사용자는 env 파일을 복사해서 직접 편집하지 않는 편이 좋습니다. 마법사를 실행하세요.
|
|
25
|
+
## Instance setup wizard
|
|
28
26
|
|
|
29
27
|
```bash
|
|
30
28
|
vc instance setup llm-wiki
|
|
31
|
-
# 또는 프로젝트 설정 스크립트에서:
|
|
32
29
|
./scripts/install.sh --instance llm-wiki
|
|
33
30
|
```
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
The wizard asks for bot token, Discord Application/Client ID, voice channel, transcript target, workdir, project context, and isolated runtime paths. It writes `instances/<name>.env` with mode `0600` and backs up an existing file.
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
Generate invite URLs with:
|
|
38
35
|
|
|
39
36
|
```bash
|
|
40
37
|
vc bot invite <client-id>
|
|
41
38
|
vc bot invite <client-id> --guild <guild-id>
|
|
42
39
|
```
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
### Hermes 프로필 격리
|
|
47
|
-
|
|
48
|
-
각 인스턴스는 `~/.hermes/profiles/<name>` 아래에 자기 Hermes home을 갖습니다. 이렇게 하면 memory, MEMORY.md, SOUL.md, 학습된 skills가 프로젝트 사이에 섞이지 않습니다.
|
|
49
|
-
|
|
50
|
-
`vc instance setup <name>`은 자동으로 다음을 수행합니다.
|
|
41
|
+
## Hermes profile isolation
|
|
51
42
|
|
|
52
|
-
|
|
53
|
-
- 새 프로필의 `terminal.cwd`를 인스턴스 작업 디렉터리로 설정합니다.
|
|
54
|
-
- 마법사에서 입력한 project context로 `<profile>/SOUL.md`를 초기화합니다.
|
|
55
|
-
- `instances/<name>.env`에 `HERMES_HOME=...`을 씁니다.
|
|
43
|
+
Each instance gets its own Hermes home at `~/.hermes/profiles/<name>` so memory, `MEMORY.md`, `SOUL.md`, and learned skills do not leak across projects.
|
|
56
44
|
|
|
57
|
-
`vc instance
|
|
45
|
+
`vc instance setup <name>` creates or reuses the profile, sets `terminal.cwd`, seeds `SOUL.md`, and writes `HERMES_HOME` into the instance env. Instance names must match `^[a-z0-9][a-z0-9_-]{0,63}$`.
|
|
58
46
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
## 생성되는 최소 인스턴스 env 예시
|
|
47
|
+
## Minimal generated instance env
|
|
62
48
|
|
|
63
49
|
```env
|
|
64
50
|
INSTANCE_NAME=my-project
|
|
@@ -76,9 +62,9 @@ AGENT_CWD=/path/to/my-project
|
|
|
76
62
|
AGENT_PROJECT_CONTEXT=Project session: My Project
|
|
77
63
|
```
|
|
78
64
|
|
|
79
|
-
|
|
65
|
+
`vc doctor` checks duplicate tokens, colliding runtime paths, missing profile directories, and `terminal.cwd` mismatches without printing secrets.
|
|
80
66
|
|
|
81
|
-
##
|
|
67
|
+
## Commands
|
|
82
68
|
|
|
83
69
|
```bash
|
|
84
70
|
vc instance list
|
|
@@ -89,91 +75,47 @@ vc instance stop my-project
|
|
|
89
75
|
vc instance restart my-project
|
|
90
76
|
```
|
|
91
77
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
`stop`은 `SIGTERM`을 보내고 최대 10초 기다린 뒤, 필요하면 `SIGKILL`로 fallback하고 pid 파일을 제거합니다.
|
|
95
|
-
|
|
96
|
-
## 예시: 영구 음성방 두 개
|
|
78
|
+
## Example: two permanent voice rooms
|
|
97
79
|
|
|
98
|
-
1.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
2. 둘 다 서버에 초대하고 텍스트/음성 권한을 줍니다.
|
|
103
|
-
- View Channel
|
|
104
|
-
- Send Messages
|
|
105
|
-
- Send Messages in Threads
|
|
106
|
-
- Read Message History
|
|
107
|
-
- Use Application Commands
|
|
108
|
-
- Connect
|
|
109
|
-
- Speak
|
|
110
|
-
|
|
111
|
-
각 Discord 애플리케이션을 만든 뒤 `vc bot invite <client-id>`를 실행하면 필요한 권한이 포함된 정확한 초대 URL을 출력합니다.
|
|
112
|
-
|
|
113
|
-
3. 각 로컬 인스턴스 설정 마법사를 실행합니다.
|
|
80
|
+
1. Create two Discord applications/bots.
|
|
81
|
+
2. Invite both with text and voice permissions. Use `vc bot invite <client-id>`.
|
|
82
|
+
3. Run setup:
|
|
114
83
|
|
|
115
84
|
```bash
|
|
116
85
|
vc instance setup verbalcoding
|
|
117
86
|
vc instance setup llm-wiki
|
|
118
87
|
```
|
|
119
88
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
4. 설정을 확인합니다.
|
|
89
|
+
4. Check and start:
|
|
123
90
|
|
|
124
91
|
```bash
|
|
125
92
|
vc doctor
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
5. 둘 다 시작합니다.
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
93
|
vc instance start verbalcoding
|
|
132
94
|
vc instance start llm-wiki
|
|
133
95
|
vc instance status
|
|
134
96
|
```
|
|
135
97
|
|
|
136
|
-
|
|
98
|
+
5. Verify logs:
|
|
137
99
|
|
|
138
100
|
```bash
|
|
139
101
|
tail -n 50 /tmp/verbalcoding-verbalcoding.log
|
|
140
102
|
tail -n 50 /tmp/verbalcoding-llm-wiki.log
|
|
141
103
|
```
|
|
142
104
|
|
|
143
|
-
|
|
105
|
+
Expected:
|
|
144
106
|
|
|
145
107
|
```text
|
|
146
108
|
Listening in voice channel ... / VerbalCoding
|
|
147
109
|
Listening in voice channel ... / LLM-Wiki
|
|
148
110
|
```
|
|
149
111
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
vc instance stop verbalcoding
|
|
154
|
-
vc instance stop llm-wiki
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## 단기: 단일 봇 텍스트/음성 바인딩
|
|
158
|
-
|
|
159
|
-
봇 토큰이 하나뿐이라면 동시 다중 채널 상주 대신 project-session voice binding을 쓰세요.
|
|
112
|
+
## Short-term single-bot text/voice binding
|
|
160
113
|
|
|
161
|
-
|
|
114
|
+
If you only have one bot token, bind a project session to a voice channel instead of simultaneous residency:
|
|
162
115
|
|
|
163
116
|
```text
|
|
164
117
|
!session attach-voice --voice "LLM-Wiki"
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
동작:
|
|
168
|
-
|
|
169
|
-
- 선택된 음성 채널을 현재 텍스트 채널/스레드에 연결합니다.
|
|
170
|
-
- 현재 텍스트 채널에 project session이 없으면 ad-hoc 격리 세션을 만듭니다.
|
|
171
|
-
- 음성 STT/result/progress/final-answer 텍스트가 해당 project transcript 대상으로 라우팅됩니다.
|
|
172
|
-
|
|
173
|
-
기존 named project session을 연결하려면:
|
|
174
|
-
|
|
175
|
-
```text
|
|
176
118
|
!session voice llm-wiki --voice "LLM-Wiki"
|
|
177
119
|
```
|
|
178
120
|
|
|
179
|
-
|
|
121
|
+
This routes text/STT/result/progress/final answer messages correctly, but it does not make one bot stay in two voice channels at the same time.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# VerbalCoding Мульти-инстансы
|
|
2
|
+
|
|
3
|
+
VerbalCoding can run multiple independent Discord voice bridge processes. Each process loads a different `instances/<name>.env` file and uses a different Discord bot token.
|
|
4
|
+
|
|
5
|
+
Use this when each project should permanently occupy its own Discord voice channel and write to its own transcript channel/thread.
|
|
6
|
+
|
|
7
|
+
## Why multiple bot tokens are required
|
|
8
|
+
|
|
9
|
+
Discord voice residency is effectively one active voice connection per bot account per guild. For simultaneous project rooms, create one Discord application/bot per project.
|
|
10
|
+
|
|
11
|
+
## File layout
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
instances/
|
|
15
|
+
README.md
|
|
16
|
+
example.env
|
|
17
|
+
llm-wiki.env # local only, ignored by git
|
|
18
|
+
verbalcoding.env # local only, ignored by git
|
|
19
|
+
.run/instances/
|
|
20
|
+
llm-wiki.pid # runtime only, ignored by git
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Real `instances/*.env` files are ignored because they may contain Discord tokens.
|
|
24
|
+
|
|
25
|
+
## Instance setup wizard
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
vc instance setup llm-wiki
|
|
29
|
+
./scripts/install.sh --instance llm-wiki
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The wizard asks for bot token, Discord Application/Client ID, voice channel, transcript target, workdir, project context, and isolated runtime paths. It writes `instances/<name>.env` with mode `0600` and backs up an existing file.
|
|
33
|
+
|
|
34
|
+
Generate invite URLs with:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
vc bot invite <client-id>
|
|
38
|
+
vc bot invite <client-id> --guild <guild-id>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Hermes profile isolation
|
|
42
|
+
|
|
43
|
+
Each instance gets its own Hermes home at `~/.hermes/profiles/<name>` so memory, `MEMORY.md`, `SOUL.md`, and learned skills do not leak across projects.
|
|
44
|
+
|
|
45
|
+
`vc instance setup <name>` creates or reuses the profile, sets `terminal.cwd`, seeds `SOUL.md`, and writes `HERMES_HOME` into the instance env. Instance names must match `^[a-z0-9][a-z0-9_-]{0,63}$`.
|
|
46
|
+
|
|
47
|
+
## Minimal generated instance env
|
|
48
|
+
|
|
49
|
+
```env
|
|
50
|
+
INSTANCE_NAME=my-project
|
|
51
|
+
DISCORD_TOKEN=replac...oken
|
|
52
|
+
DISCORD_CLIENT_ID=123456789012345678
|
|
53
|
+
AUTO_JOIN_VOICE_CHANNELS=Project Room
|
|
54
|
+
TRANSCRIPT_CHANNEL_ID=123456789012345678
|
|
55
|
+
PROJECT_SESSIONS_FILE=config/project-sessions.my-project.json
|
|
56
|
+
BRIDGE_LOG_PATH=/tmp/verbalcoding-my-project.log
|
|
57
|
+
NODE_AUDIO_DEBUG_DIR=/tmp/verbalcoding-my-project-debug
|
|
58
|
+
HERMES_SESSION_FILE=.agent-sessions/hermes/my-project.session
|
|
59
|
+
HERMES_HOME=/home/you/.hermes/profiles/my-project
|
|
60
|
+
AGENT_LABEL=VerbalCoding · My Project
|
|
61
|
+
AGENT_CWD=/path/to/my-project
|
|
62
|
+
AGENT_PROJECT_CONTEXT=Project session: My Project
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`vc doctor` checks duplicate tokens, colliding runtime paths, missing profile directories, and `terminal.cwd` mismatches without printing secrets.
|
|
66
|
+
|
|
67
|
+
## Commands
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
vc instance list
|
|
71
|
+
vc instance status
|
|
72
|
+
vc instance status my-project
|
|
73
|
+
vc instance start my-project
|
|
74
|
+
vc instance stop my-project
|
|
75
|
+
vc instance restart my-project
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Example: two permanent voice rooms
|
|
79
|
+
|
|
80
|
+
1. Create two Discord applications/bots.
|
|
81
|
+
2. Invite both with text and voice permissions. Use `vc bot invite <client-id>`.
|
|
82
|
+
3. Run setup:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
vc instance setup verbalcoding
|
|
86
|
+
vc instance setup llm-wiki
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
4. Check and start:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
vc doctor
|
|
93
|
+
vc instance start verbalcoding
|
|
94
|
+
vc instance start llm-wiki
|
|
95
|
+
vc instance status
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
5. Verify logs:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
tail -n 50 /tmp/verbalcoding-verbalcoding.log
|
|
102
|
+
tail -n 50 /tmp/verbalcoding-llm-wiki.log
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Expected:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
Listening in voice channel ... / VerbalCoding
|
|
109
|
+
Listening in voice channel ... / LLM-Wiki
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Short-term single-bot text/voice binding
|
|
113
|
+
|
|
114
|
+
If you only have one bot token, bind a project session to a voice channel instead of simultaneous residency:
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
!session attach-voice --voice "LLM-Wiki"
|
|
118
|
+
!session voice llm-wiki --voice "LLM-Wiki"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
This routes text/STT/result/progress/final answer messages correctly, but it does not make one bot stay in two voice channels at the same time.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# VerbalCoding 多实例
|
|
2
|
+
|
|
3
|
+
VerbalCoding can run multiple independent Discord voice bridge processes. Each process loads a different `instances/<name>.env` file and uses a different Discord bot token.
|
|
4
|
+
|
|
5
|
+
Use this when each project should permanently occupy its own Discord voice channel and write to its own transcript channel/thread.
|
|
6
|
+
|
|
7
|
+
## Why multiple bot tokens are required
|
|
8
|
+
|
|
9
|
+
Discord voice residency is effectively one active voice connection per bot account per guild. For simultaneous project rooms, create one Discord application/bot per project.
|
|
10
|
+
|
|
11
|
+
## File layout
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
instances/
|
|
15
|
+
README.md
|
|
16
|
+
example.env
|
|
17
|
+
llm-wiki.env # local only, ignored by git
|
|
18
|
+
verbalcoding.env # local only, ignored by git
|
|
19
|
+
.run/instances/
|
|
20
|
+
llm-wiki.pid # runtime only, ignored by git
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Real `instances/*.env` files are ignored because they may contain Discord tokens.
|
|
24
|
+
|
|
25
|
+
## Instance setup wizard
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
vc instance setup llm-wiki
|
|
29
|
+
./scripts/install.sh --instance llm-wiki
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The wizard asks for bot token, Discord Application/Client ID, voice channel, transcript target, workdir, project context, and isolated runtime paths. It writes `instances/<name>.env` with mode `0600` and backs up an existing file.
|
|
33
|
+
|
|
34
|
+
Generate invite URLs with:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
vc bot invite <client-id>
|
|
38
|
+
vc bot invite <client-id> --guild <guild-id>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Hermes profile isolation
|
|
42
|
+
|
|
43
|
+
Each instance gets its own Hermes home at `~/.hermes/profiles/<name>` so memory, `MEMORY.md`, `SOUL.md`, and learned skills do not leak across projects.
|
|
44
|
+
|
|
45
|
+
`vc instance setup <name>` creates or reuses the profile, sets `terminal.cwd`, seeds `SOUL.md`, and writes `HERMES_HOME` into the instance env. Instance names must match `^[a-z0-9][a-z0-9_-]{0,63}$`.
|
|
46
|
+
|
|
47
|
+
## Minimal generated instance env
|
|
48
|
+
|
|
49
|
+
```env
|
|
50
|
+
INSTANCE_NAME=my-project
|
|
51
|
+
DISCORD_TOKEN=replac...oken
|
|
52
|
+
DISCORD_CLIENT_ID=123456789012345678
|
|
53
|
+
AUTO_JOIN_VOICE_CHANNELS=Project Room
|
|
54
|
+
TRANSCRIPT_CHANNEL_ID=123456789012345678
|
|
55
|
+
PROJECT_SESSIONS_FILE=config/project-sessions.my-project.json
|
|
56
|
+
BRIDGE_LOG_PATH=/tmp/verbalcoding-my-project.log
|
|
57
|
+
NODE_AUDIO_DEBUG_DIR=/tmp/verbalcoding-my-project-debug
|
|
58
|
+
HERMES_SESSION_FILE=.agent-sessions/hermes/my-project.session
|
|
59
|
+
HERMES_HOME=/home/you/.hermes/profiles/my-project
|
|
60
|
+
AGENT_LABEL=VerbalCoding · My Project
|
|
61
|
+
AGENT_CWD=/path/to/my-project
|
|
62
|
+
AGENT_PROJECT_CONTEXT=Project session: My Project
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`vc doctor` checks duplicate tokens, colliding runtime paths, missing profile directories, and `terminal.cwd` mismatches without printing secrets.
|
|
66
|
+
|
|
67
|
+
## Commands
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
vc instance list
|
|
71
|
+
vc instance status
|
|
72
|
+
vc instance status my-project
|
|
73
|
+
vc instance start my-project
|
|
74
|
+
vc instance stop my-project
|
|
75
|
+
vc instance restart my-project
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Example: two permanent voice rooms
|
|
79
|
+
|
|
80
|
+
1. Create two Discord applications/bots.
|
|
81
|
+
2. Invite both with text and voice permissions. Use `vc bot invite <client-id>`.
|
|
82
|
+
3. Run setup:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
vc instance setup verbalcoding
|
|
86
|
+
vc instance setup llm-wiki
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
4. Check and start:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
vc doctor
|
|
93
|
+
vc instance start verbalcoding
|
|
94
|
+
vc instance start llm-wiki
|
|
95
|
+
vc instance status
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
5. Verify logs:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
tail -n 50 /tmp/verbalcoding-verbalcoding.log
|
|
102
|
+
tail -n 50 /tmp/verbalcoding-llm-wiki.log
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Expected:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
Listening in voice channel ... / VerbalCoding
|
|
109
|
+
Listening in voice channel ... / LLM-Wiki
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Short-term single-bot text/voice binding
|
|
113
|
+
|
|
114
|
+
If you only have one bot token, bind a project session to a voice channel instead of simultaneous residency:
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
!session attach-voice --voice "LLM-Wiki"
|
|
118
|
+
!session voice llm-wiki --voice "LLM-Wiki"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
This routes text/STT/result/progress/final answer messages correctly, but it does not make one bot stay in two voice channels at the same time.
|
package/docs/i18n/README.es.md
CHANGED
|
@@ -1,91 +1,66 @@
|
|
|
1
1
|
# VerbalCoding
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<a href="../../README.md">English</a> ·
|
|
9
|
-
<a href="README.ko.md">한국어</a> ·
|
|
10
|
-
<a href="README.ja.md">日本語</a> ·
|
|
11
|
-
<a href="README.zh.md">中文</a> ·
|
|
12
|
-
<a href="README.es.md">Español</a> ·
|
|
13
|
-
<a href="README.fr.md">Français</a> ·
|
|
14
|
-
<a href="README.ru.md">Русский</a>
|
|
15
|
-
</p>
|
|
16
|
-
|
|
17
|
-
<p align="center">
|
|
18
|
-
<img alt="Node.js" src="https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white">
|
|
19
|
-
<img alt="Discord" src="https://img.shields.io/badge/Discord-voice%20bridge-5865F2?logo=discord&logoColor=white">
|
|
20
|
-
<img alt="STT" src="https://img.shields.io/badge/STT-whisper.cpp-7C3AED">
|
|
21
|
-
<img alt="TTS" src="https://img.shields.io/badge/TTS-Edge%20%7C%20OpenVoice%20%7C%20Supertonic%20%7C%20SpeechSwift-0EA5E9">
|
|
22
|
-
</p>
|
|
23
|
-
|
|
24
|
-
<p align="center">
|
|
25
|
-
<img src="../assets/figures/verbalcoding-flow.svg" alt="VerbalCoding voice-to-agent flow" width="860">
|
|
26
|
-
</p>
|
|
3
|
+
**Habla con tus agentes de programación CLI por voz en Discord, como una llamada.**
|
|
4
|
+
|
|
5
|
+
[English](../../README.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [中文](README.zh.md) · [Español](README.es.md) · [Français](README.fr.md) · [Русский](README.ru.md)
|
|
6
|
+
|
|
7
|
+

|
|
27
8
|
|
|
28
9
|
## Why
|
|
29
10
|
|
|
30
|
-
VerbalCoding convierte un canal de voz de Discord en una superficie manos libres para agentes de programación.
|
|
11
|
+
VerbalCoding convierte un canal de voz de Discord en una superficie de control manos libres para agentes de programación. Dictas una solicitud, el agente CLI trabaja y recibes una respuesta breve por voz junto con transcripciones y eventos de progreso.
|
|
31
12
|
|
|
32
|
-
##
|
|
13
|
+
## Highlights
|
|
33
14
|
|
|
34
|
-
|
|
|
15
|
+
| Feature | What it means |
|
|
35
16
|
|---|---|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
17
|
+
| Voice-first agent control | Hermes Agent, Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw, or a custom CLI harness. |
|
|
18
|
+
| Local-first speech loop | Discord voice capture → `whisper.cpp` STT → agent → chunked TTS playback. |
|
|
19
|
+
| Shared voice + text context | Voice turns and `!ask` text commands can reuse the same supported agent session. |
|
|
20
|
+
| Barge-in and sensitivity modes | Interrupt playback naturally and switch between normal and conservative/noisy modes. |
|
|
21
|
+
| Multilingual voice presets | `vc language ko/en/auto` changes STT, progress language, and TTS voice together. |
|
|
22
|
+
| Multi-room project isolation | Run one bot per project room with isolated Hermes profiles, sessions, memory, and logs. |
|
|
42
23
|
|
|
43
|
-
##
|
|
24
|
+
## Quick Start
|
|
44
25
|
|
|
45
26
|
```bash
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
./scripts/install.sh
|
|
27
|
+
npm install -g verbalcoding
|
|
28
|
+
vc setup --yes
|
|
49
29
|
vc doctor
|
|
50
|
-
|
|
30
|
+
vc start
|
|
51
31
|
```
|
|
52
32
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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"]
|
|
33
|
+
Run without a permanent global install:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx verbalcoding setup --yes
|
|
37
|
+
vc doctor
|
|
38
|
+
vc start
|
|
64
39
|
```
|
|
65
40
|
|
|
66
|
-
|
|
41
|
+
Contributor clone path:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
git clone https://github.com/ca1773130n/VerbalCoding.git
|
|
45
|
+
cd VerbalCoding
|
|
46
|
+
./scripts/install.sh --yes
|
|
47
|
+
vc doctor
|
|
48
|
+
./run.sh
|
|
49
|
+
```
|
|
67
50
|
|
|
68
|
-
|
|
69
|
-
|---|---:|---|
|
|
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 |
|
|
51
|
+
`vc setup --yes` and `./scripts/install.sh --yes` bootstrap npm dependencies, `ffmpeg`, `whisper-cli`, the default whisper.cpp model, a local Edge TTS helper, and the short `vc` command where possible.
|
|
77
52
|
|
|
78
|
-
##
|
|
53
|
+
## Guides
|
|
79
54
|
|
|
80
|
-
| Guide |
|
|
55
|
+
| Guide | Link |
|
|
81
56
|
|---|---|
|
|
82
|
-
| [
|
|
83
|
-
| [
|
|
84
|
-
| [
|
|
85
|
-
| [
|
|
86
|
-
| [
|
|
57
|
+
| Instalación limpia | [FRESH_INSTALL.es.md](FRESH_INSTALL.es.md) |
|
|
58
|
+
| Guía de uso | [USAGE.es.md](USAGE.es.md) |
|
|
59
|
+
| Configuración | [CONFIGURATION.es.md](CONFIGURATION.es.md) |
|
|
60
|
+
| Multiinstancia | [MULTI_INSTANCE.es.md](MULTI_INSTANCE.es.md) |
|
|
61
|
+
| Notas de versión | [RELEASE.es.md](RELEASE.es.md) |
|
|
87
62
|
|
|
88
|
-
##
|
|
63
|
+
## Command map
|
|
89
64
|
|
|
90
65
|
```bash
|
|
91
66
|
vc status
|
|
@@ -94,28 +69,17 @@ vc bot invite CLIENT_ID
|
|
|
94
69
|
vc instance setup NAME
|
|
95
70
|
vc instance start NAME
|
|
96
71
|
vc doctor
|
|
72
|
+
vc start
|
|
97
73
|
```
|
|
98
74
|
|
|
99
|
-
|
|
75
|
+
Discord commands:
|
|
100
76
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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 |
|
|
109
|
-
|
|
110
|
-
## Contribuir
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
node --check app-node/main.mjs
|
|
114
|
-
npm test
|
|
115
|
-
bash -n run.sh scripts/install.sh
|
|
116
|
-
vc doctor
|
|
77
|
+
```text
|
|
78
|
+
!join !ask <prompt> !verbose on/off
|
|
79
|
+
!latency !sensitivity normal !sensitivity conservative
|
|
80
|
+
!session new <name> <workdir> [context] --voice <voice-channel>
|
|
117
81
|
```
|
|
118
82
|
|
|
119
|
-
##
|
|
83
|
+
## Requirements
|
|
120
84
|
|
|
121
|
-
|
|
85
|
+
Node.js 20+, npm, `ffmpeg`, `whisper.cpp` / `whisper-cli`, Edge TTS CLI, a Discord bot token with Message Content intent and voice permissions, and at least one authenticated CLI agent backend.
|