verbalcoding 0.2.12 → 0.2.13
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/.env.example +74 -4
- package/README.es.md +3 -1
- package/README.fr.md +3 -1
- package/README.ja.md +3 -1
- package/README.ko.md +4 -2
- package/README.md +4 -2
- package/README.ru.md +3 -1
- package/README.zh.md +3 -1
- package/app-node/agent_adapters.test.mjs +14 -0
- package/app-node/agent_routing.mjs +148 -0
- package/app-node/agent_routing.test.mjs +138 -0
- package/app-node/agent_turn.mjs +86 -0
- package/app-node/agent_turn.test.mjs +109 -0
- package/app-node/bridge_context.mjs +73 -0
- package/app-node/bridge_context.test.mjs +54 -0
- package/app-node/bridge_state.mjs +4 -0
- package/app-node/bridge_wireup.test.mjs +462 -0
- package/app-node/cli_install.test.mjs +31 -0
- package/app-node/cross_agent_routing.test.mjs +78 -0
- package/app-node/discord_command_router.mjs +204 -0
- package/app-node/discord_command_router.test.mjs +311 -0
- package/app-node/discord_voice_setup.mjs +251 -0
- package/app-node/discord_voice_setup.test.mjs +86 -0
- package/app-node/hermes_profiles.test.mjs +12 -1
- package/app-node/install_config.mjs +110 -3
- package/app-node/install_config.test.mjs +8 -0
- package/app-node/instance_doctor.test.mjs +9 -0
- package/app-node/instances.test.mjs +8 -1
- package/app-node/main.mjs +488 -1368
- package/app-node/mcp_tools.test.mjs +7 -0
- package/app-node/notification_handler.mjs +89 -0
- package/app-node/notification_handler.test.mjs +187 -0
- package/app-node/plan_dispatcher.mjs +215 -0
- package/app-node/plan_dispatcher.test.mjs +101 -0
- package/app-node/plan_mode.mjs +36 -7
- package/app-node/plan_mode.test.mjs +78 -0
- package/app-node/progress_handler.mjs +220 -0
- package/app-node/progress_handler.test.mjs +193 -0
- package/app-node/progress_speech.mjs +54 -32
- package/app-node/progress_speech.test.mjs +12 -3
- package/app-node/project_sessions.mjs +5 -2
- package/app-node/project_sessions.test.mjs +7 -0
- package/app-node/research_mode.mjs +282 -0
- package/app-node/research_mode.test.mjs +264 -0
- package/app-node/restart_notice.mjs +3 -0
- package/app-node/restart_notice.test.mjs +11 -0
- package/app-node/session_ontology.mjs +271 -0
- package/app-node/session_ontology.test.mjs +130 -0
- package/app-node/smart_progress.mjs +1 -1
- package/app-node/stream_sentencer.mjs +32 -2
- package/app-node/stream_sentencer.test.mjs +65 -0
- package/app-node/streaming_tts_queue.mjs +5 -1
- package/app-node/streaming_tts_queue.test.mjs +7 -1
- package/app-node/stt_whisper.mjs +24 -0
- package/app-node/stt_whisper.test.mjs +32 -0
- package/app-node/text_routing.mjs +4 -2
- package/app-node/tts_backends.mjs +537 -3
- package/app-node/tts_backends.test.mjs +454 -0
- package/app-node/tts_player.mjs +164 -0
- package/app-node/tts_player.test.mjs +202 -0
- package/app-node/tts_runtime.mjs +134 -0
- package/app-node/tts_runtime.test.mjs +89 -0
- package/app-node/tts_settings.mjs +150 -3
- package/app-node/tts_settings.test.mjs +204 -0
- package/app-node/tts_voice_config.mjs +136 -2
- package/app-node/tts_voice_config.test.mjs +94 -0
- package/app-node/utterance_router.mjs +216 -0
- package/app-node/utterance_router.test.mjs +236 -0
- package/app-node/voice_autojoin.mjs +37 -0
- package/app-node/voice_autojoin.test.mjs +59 -0
- package/app-node/voice_io.mjs +272 -0
- package/app-node/voice_io.test.mjs +102 -0
- package/app-node/voice_turn_runner.mjs +449 -0
- package/app-node/voice_turn_runner.test.mjs +289 -0
- package/docs/CONFIGURATION.md +12 -2
- package/docs/HARNESSES.md +58 -0
- package/docs/HARNESS_AIDER.md +50 -0
- package/docs/HARNESS_CLAUDE.md +56 -0
- package/docs/HARNESS_CODEX.md +56 -0
- package/docs/HARNESS_CURSOR.md +45 -0
- package/docs/HARNESS_GEMINI.md +45 -0
- package/docs/HARNESS_HERMES.md +57 -0
- package/docs/HARNESS_OPENCLAW.md +44 -0
- package/docs/HARNESS_OPENCODE.md +44 -0
- package/docs/README.md +1 -0
- package/docs/ROADMAP.md +20 -5
- package/docs/TTS_BACKENDS.md +227 -0
- package/docs/USAGE.md +22 -0
- package/docs/i18n/AGENTS.es.md +34 -0
- package/docs/i18n/AGENTS.fr.md +34 -0
- package/docs/i18n/AGENTS.ja.md +34 -0
- package/docs/i18n/AGENTS.ko.md +34 -0
- package/docs/i18n/AGENTS.ru.md +34 -0
- package/docs/i18n/AGENTS.zh.md +34 -0
- package/docs/i18n/HARNESSES.es.md +58 -0
- package/docs/i18n/HARNESSES.fr.md +58 -0
- package/docs/i18n/HARNESSES.ja.md +58 -0
- package/docs/i18n/HARNESSES.ko.md +58 -0
- package/docs/i18n/HARNESSES.ru.md +58 -0
- package/docs/i18n/HARNESSES.zh.md +58 -0
- package/docs/i18n/HARNESS_AIDER.es.md +48 -0
- package/docs/i18n/HARNESS_AIDER.fr.md +48 -0
- package/docs/i18n/HARNESS_AIDER.ja.md +50 -0
- package/docs/i18n/HARNESS_AIDER.ko.md +50 -0
- package/docs/i18n/HARNESS_AIDER.ru.md +48 -0
- package/docs/i18n/HARNESS_AIDER.zh.md +48 -0
- package/docs/i18n/HARNESS_CLAUDE.es.md +55 -0
- package/docs/i18n/HARNESS_CLAUDE.fr.md +55 -0
- package/docs/i18n/HARNESS_CLAUDE.ja.md +56 -0
- package/docs/i18n/HARNESS_CLAUDE.ko.md +56 -0
- package/docs/i18n/HARNESS_CLAUDE.ru.md +55 -0
- package/docs/i18n/HARNESS_CLAUDE.zh.md +56 -0
- package/docs/i18n/HARNESS_CODEX.es.md +55 -0
- package/docs/i18n/HARNESS_CODEX.fr.md +55 -0
- package/docs/i18n/HARNESS_CODEX.ja.md +56 -0
- package/docs/i18n/HARNESS_CODEX.ko.md +56 -0
- package/docs/i18n/HARNESS_CODEX.ru.md +55 -0
- package/docs/i18n/HARNESS_CODEX.zh.md +56 -0
- package/docs/i18n/HARNESS_CURSOR.es.md +42 -0
- package/docs/i18n/HARNESS_CURSOR.fr.md +42 -0
- package/docs/i18n/HARNESS_CURSOR.ja.md +45 -0
- package/docs/i18n/HARNESS_CURSOR.ko.md +45 -0
- package/docs/i18n/HARNESS_CURSOR.ru.md +42 -0
- package/docs/i18n/HARNESS_CURSOR.zh.md +42 -0
- package/docs/i18n/HARNESS_GEMINI.es.md +44 -0
- package/docs/i18n/HARNESS_GEMINI.fr.md +44 -0
- package/docs/i18n/HARNESS_GEMINI.ja.md +45 -0
- package/docs/i18n/HARNESS_GEMINI.ko.md +45 -0
- package/docs/i18n/HARNESS_GEMINI.ru.md +44 -0
- package/docs/i18n/HARNESS_GEMINI.zh.md +45 -0
- package/docs/i18n/HARNESS_HERMES.es.md +54 -0
- package/docs/i18n/HARNESS_HERMES.fr.md +54 -0
- package/docs/i18n/HARNESS_HERMES.ja.md +57 -0
- package/docs/i18n/HARNESS_HERMES.ko.md +57 -0
- package/docs/i18n/HARNESS_HERMES.ru.md +54 -0
- package/docs/i18n/HARNESS_HERMES.zh.md +57 -0
- package/docs/i18n/HARNESS_OPENCLAW.es.md +41 -0
- package/docs/i18n/HARNESS_OPENCLAW.fr.md +41 -0
- package/docs/i18n/HARNESS_OPENCLAW.ja.md +44 -0
- package/docs/i18n/HARNESS_OPENCLAW.ko.md +44 -0
- package/docs/i18n/HARNESS_OPENCLAW.ru.md +41 -0
- package/docs/i18n/HARNESS_OPENCLAW.zh.md +42 -0
- package/docs/i18n/HARNESS_OPENCODE.es.md +41 -0
- package/docs/i18n/HARNESS_OPENCODE.fr.md +41 -0
- package/docs/i18n/HARNESS_OPENCODE.ja.md +44 -0
- package/docs/i18n/HARNESS_OPENCODE.ko.md +44 -0
- package/docs/i18n/HARNESS_OPENCODE.ru.md +41 -0
- package/docs/i18n/HARNESS_OPENCODE.zh.md +44 -0
- package/docs/superpowers/plans/2026-05-14-cross-agent-voice-transfer.md +625 -0
- package/docs/superpowers/plans/2026-05-21-audio-overview-narrated-diffs.md +95 -0
- package/docs/superpowers/plans/2026-05-21-autoresearch-ontology.md +83 -0
- package/docs/superpowers/plans/2026-05-21-phase11-push-to-talk-wakeword-v2.md +77 -0
- package/docs/superpowers/plans/2026-05-21-phase12-multi-user-voice.md +147 -0
- package/docs/superpowers/plans/2026-05-21-phase14-verbalbench.md +136 -0
- package/docs/superpowers/plans/2026-05-21-phase15-phone-companion.md +72 -0
- package/integrations/fireredtts2/mlx_llm.py +183 -0
- package/integrations/fireredtts2/synth.py +156 -0
- package/integrations/fireredtts2/synth_mlx.py +196 -0
- package/integrations/mlxaudio/synth.py +74 -0
- package/integrations/neuttsair/synth.py +104 -0
- package/integrations/omnivoice/synth.py +110 -0
- package/package.json +6 -1
- package/scripts/cli.mjs +84 -0
- package/scripts/doctor.mjs +104 -4
- package/scripts/install.mjs +5 -1
- package/scripts/install_fireredtts2.sh +109 -0
- package/scripts/install_mlxaudio.sh +34 -0
- package/scripts/install_mossttsnano.sh +46 -0
- package/scripts/postinstall.mjs +34 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Hermes Agent — Notas del Harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.es.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.es.md">Harnesses</a> ·
|
|
6
|
+
<a href="USAGE.es.md">Uso</a> ·
|
|
7
|
+
<a href="CONFIGURATION.es.md">Configuración</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
Hermes Agent es el backend por defecto de VerbalCoding y el único harness con un contrato real de reanudación de sesión: el contexto entre turnos se mantiene limpio. Posicionamiento frente al `/voice` integrado de Hermes en [HERMES_VOICE.es.md](./HERMES_VOICE.es.md).
|
|
11
|
+
|
|
12
|
+
## Instalación
|
|
13
|
+
|
|
14
|
+
Guía oficial: <https://hermes-agent.nousresearch.com>. Verifica el CLI primero:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
hermes chat -Q -q "hello"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Configuración
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# .env
|
|
24
|
+
AGENT_BACKEND=hermes
|
|
25
|
+
HERMES_COMMAND="hermes chat -Q -q"
|
|
26
|
+
HERMES_HOME=/Users/you/.hermes
|
|
27
|
+
HERMES_PROJECT_CONTEXT="Project session: ..."
|
|
28
|
+
HERMES_TASK_TIMEOUT_MS=0
|
|
29
|
+
HERMES_CHAT_TIMEOUT_MS=45000
|
|
30
|
+
HERMES_WORKDIR=/Users/you/code/your-project
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
El fichero de sesión vive en `<repo>/.verbalcoding-session` por defecto (sobreescribible con `HERMES_SESSION_FILE`).
|
|
34
|
+
|
|
35
|
+
## Reanudación de sesión
|
|
36
|
+
|
|
37
|
+
Hermes es el único adaptador con reanudación. Tras cada turno con éxito, el adaptador escribe el nuevo `session_id` y antepone `--resume <id>` en la siguiente llamada. `!session reset` lo limpia.
|
|
38
|
+
|
|
39
|
+
Si un turno aborta antes de que Hermes emita `session_id:` en stderr, el adaptador lee `~/.hermes/sessions/session_<id>.json` para recuperar el último mensaje del asistente.
|
|
40
|
+
|
|
41
|
+
## Progreso detallado
|
|
42
|
+
|
|
43
|
+
En modo verboso, el adaptador quita el flag `-Q` para que stdout emita previas `┊ <emoji> <tool>`, que se resumen en eventos de progreso (lectura de archivos, búsqueda web, terminal). Sin verboso solo suena la respuesta final del recuadro.
|
|
44
|
+
|
|
45
|
+
## Frases de voz para cambiar a Hermes
|
|
46
|
+
|
|
47
|
+
- en: `"switch to Hermes"`, `"ask Hermes ..."`
|
|
48
|
+
- es: `"cambia a Hermes"`, `"pregunta a Hermes"`
|
|
49
|
+
|
|
50
|
+
## Trampas
|
|
51
|
+
|
|
52
|
+
- El prefijo TTS en handoff es localizado: `"Hermes says: "` / `"Hermes: "`.
|
|
53
|
+
- `HERMES_HOME` es el botón de aislamiento por proyecto más usado; típicamente `HERMES_HOME=/Users/you/.hermes/profiles/<project>` en el `.env` de instancia.
|
|
54
|
+
- Si verboso está activo pero Hermes termina con caja vacía (timeout), el adaptador rasca el JSON de sesión antes de rendirse.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Hermes Agent — Notes Harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.fr.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.fr.md">Harnesses</a> ·
|
|
6
|
+
<a href="USAGE.fr.md">Utilisation</a> ·
|
|
7
|
+
<a href="CONFIGURATION.fr.md">Configuration</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
Hermes Agent est le backend par défaut de VerbalCoding et le seul harness disposant d'un vrai contrat de reprise de session — le contexte entre les tours reste propre. Comparaison avec le `/voice` intégré d'Hermes dans [HERMES_VOICE.fr.md](./HERMES_VOICE.fr.md).
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
Guide officiel : <https://hermes-agent.nousresearch.com>. Vérifiez d'abord le CLI :
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
hermes chat -Q -q "hello"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Configuration
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# .env
|
|
24
|
+
AGENT_BACKEND=hermes
|
|
25
|
+
HERMES_COMMAND="hermes chat -Q -q"
|
|
26
|
+
HERMES_HOME=/Users/you/.hermes
|
|
27
|
+
HERMES_PROJECT_CONTEXT="Project session: ..."
|
|
28
|
+
HERMES_TASK_TIMEOUT_MS=0
|
|
29
|
+
HERMES_CHAT_TIMEOUT_MS=45000
|
|
30
|
+
HERMES_WORKDIR=/Users/you/code/your-project
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Le fichier de session est dans `<repo>/.verbalcoding-session` par défaut (`HERMES_SESSION_FILE` pour surcharger).
|
|
34
|
+
|
|
35
|
+
## Reprise de session
|
|
36
|
+
|
|
37
|
+
Hermes est le seul adaptateur intégré avec reprise. Après chaque tour réussi, l'adaptateur écrit le nouveau `session_id` et préfixe `--resume <id>` au prochain appel. `!session reset` efface.
|
|
38
|
+
|
|
39
|
+
Si un tour est abort avant que Hermes n'émette `session_id:` sur stderr, l'adaptateur lit `~/.hermes/sessions/session_<id>.json` pour retrouver le dernier message assistant.
|
|
40
|
+
|
|
41
|
+
## Progression verbeuse
|
|
42
|
+
|
|
43
|
+
En mode verbeux, l'adaptateur retire `-Q` pour que stdout émette les aperçus `┊ <emoji> <tool>`, résumés en événements de progression (lecture de fichiers, web, terminal). Sans verbeux, seule la réponse finale du cadre est vocale.
|
|
44
|
+
|
|
45
|
+
## Phrases vocales pour basculer vers Hermes
|
|
46
|
+
|
|
47
|
+
- en: `"switch to Hermes"`, `"ask Hermes ..."`
|
|
48
|
+
- fr: `"passe à Hermes"`, `"demande à Hermes"`
|
|
49
|
+
|
|
50
|
+
## Pièges
|
|
51
|
+
|
|
52
|
+
- Le préfixe TTS de handoff est localisé : `"Hermes says: "` / `"Hermes : "`.
|
|
53
|
+
- `HERMES_HOME` est le bouton d'isolation projet le plus utilisé ; typiquement `HERMES_HOME=/Users/you/.hermes/profiles/<project>` dans `.env`.
|
|
54
|
+
- En verbeux, si Hermes termine sur une boîte vide (timeout), l'adaptateur fouille le JSON de session avant d'abandonner.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Hermes Agent — ハーネスノート
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.ja.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.ja.md">ハーネス</a> ·
|
|
6
|
+
<a href="USAGE.ja.md">使い方</a> ·
|
|
7
|
+
<a href="CONFIGURATION.ja.md">設定</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
Hermes Agent は VerbalCoding の既定バックエンドで、真のセッション再開契約を持つ唯一のハーネスです。ターン間のコンテキストがきれいに保たれます。Hermes 内蔵の `/voice` スラッシュコマンドとの位置付け比較は [HERMES_VOICE.ja.md](./HERMES_VOICE.ja.md)。
|
|
11
|
+
|
|
12
|
+
## インストール
|
|
13
|
+
|
|
14
|
+
上流の Hermes Agent インストールガイド: <https://hermes-agent.nousresearch.com>
|
|
15
|
+
|
|
16
|
+
まず CLI 単体で動作確認:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
hermes chat -Q -q "hello"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## VerbalCoding 設定
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# .env
|
|
26
|
+
AGENT_BACKEND=hermes
|
|
27
|
+
# 任意
|
|
28
|
+
HERMES_COMMAND="hermes chat -Q -q" # 既定
|
|
29
|
+
HERMES_HOME=/Users/you/.hermes # インスタンス別 Hermes ホーム
|
|
30
|
+
HERMES_PROJECT_CONTEXT="Project session: ..."
|
|
31
|
+
HERMES_TASK_TIMEOUT_MS=0 # 0 = 無制限
|
|
32
|
+
HERMES_CHAT_TIMEOUT_MS=45000
|
|
33
|
+
HERMES_WORKDIR=/Users/you/code/your-project
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
セッションファイルの既定パスは `<repo>/.verbalcoding-session` (`HERMES_SESSION_FILE` で上書き)。
|
|
37
|
+
|
|
38
|
+
## セッション再開
|
|
39
|
+
|
|
40
|
+
Hermes は内蔵アダプタの中で唯一セッション再開をサポートします。ターン成功ごとに新 `session_id` をディスクに書き、次回呼び出しに `--resume <id>` を前置します。`!session reset` (または `!reset-session`) でクリア。
|
|
41
|
+
|
|
42
|
+
Hermes が stderr に `session_id:` を emit する前にターンが abort された場合、アダプタが `~/.hermes/sessions/session_<id>.json` を直接読み最終応答を復元します。
|
|
43
|
+
|
|
44
|
+
## 詳細進捗
|
|
45
|
+
|
|
46
|
+
詳細モードではアダプタが Hermes の `-Q` quiet フラグを外し、stdout に `┊ <emoji> <tool>` のプレビューが流れます。これらは 1 行進捗イベント(ファイル読み込み、Web 検索、ターミナル実行など)に要約されます。詳細オフ時は最終ボックス内応答のみ音声化。
|
|
47
|
+
|
|
48
|
+
## Hermes へ切り替える音声表現
|
|
49
|
+
|
|
50
|
+
- en: `"switch to Hermes"`, `"ask Hermes ..."`
|
|
51
|
+
- ja: `"Hermes に切り替えて"`, `"Hermes に聞いて"`
|
|
52
|
+
|
|
53
|
+
## 罠
|
|
54
|
+
|
|
55
|
+
- クロスエージェントハンドオフ時の TTS 接頭辞はロケール準拠 (`"Hermes says: "` / `"ヘルメス: "`)。
|
|
56
|
+
- `HERMES_HOME` はプロジェクト別の最も一般的な分離ノブ。インスタンス `.env` は通常 `HERMES_HOME=/Users/you/.hermes/profiles/<project>` を設定。
|
|
57
|
+
- 詳細オン時に Hermes が空ボックスで終了(タイムアウト等)した場合、諦める前にアダプタがセッション JSON を漁って最終応答を取得します。
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Hermes Agent — 하니스 노트
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.ko.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.ko.md">하니스</a> ·
|
|
6
|
+
<a href="USAGE.ko.md">사용법</a> ·
|
|
7
|
+
<a href="CONFIGURATION.ko.md">설정</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
Hermes Agent는 VerbalCoding의 기본 백엔드이고, 진짜 세션 재개 계약이 있는 유일한 하니스야. 턴 사이 컨텍스트가 깔끔하게 유지돼. Hermes 내장 `/voice` 슬래시 명령과의 포지셔닝 비교는 [HERMES_VOICE.ko.md](./HERMES_VOICE.ko.md).
|
|
11
|
+
|
|
12
|
+
## 설치
|
|
13
|
+
|
|
14
|
+
상위 Hermes Agent 설치 가이드: <https://hermes-agent.nousresearch.com>.
|
|
15
|
+
|
|
16
|
+
CLI 단독 동작부터 확인해줘:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
hermes chat -Q -q "hello"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## VerbalCoding 설정
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# .env
|
|
26
|
+
AGENT_BACKEND=hermes
|
|
27
|
+
# 선택
|
|
28
|
+
HERMES_COMMAND="hermes chat -Q -q" # 기본값
|
|
29
|
+
HERMES_HOME=/Users/you/.hermes # 인스턴스별 Hermes 홈
|
|
30
|
+
HERMES_PROJECT_CONTEXT="Project session: ..."
|
|
31
|
+
HERMES_TASK_TIMEOUT_MS=0 # 0 = 무제한
|
|
32
|
+
HERMES_CHAT_TIMEOUT_MS=45000
|
|
33
|
+
HERMES_WORKDIR=/Users/you/code/your-project
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
세션 파일 기본 위치는 `<repo>/.verbalcoding-session` (덮어쓰려면 `HERMES_SESSION_FILE`).
|
|
37
|
+
|
|
38
|
+
## 세션 재개
|
|
39
|
+
|
|
40
|
+
Hermes는 내장 어댑터 중 유일하게 세션 재개를 지원해. 턴이 성공할 때마다 새 `session_id`를 디스크에 쓰고 다음 호출에 `--resume <id>`를 앞에 붙여. `!session reset`(또는 `!reset-session`)으로 그 파일을 지울 수 있어.
|
|
41
|
+
|
|
42
|
+
Hermes가 stderr에 `session_id:`를 emit하기 전에 턴이 abort되면, 어댑터가 `~/.hermes/sessions/session_<id>.json`을 직접 읽어서 마지막 어시스턴트 메시지를 복구해.
|
|
43
|
+
|
|
44
|
+
## 상세 진행
|
|
45
|
+
|
|
46
|
+
상세 모드에서는 어댑터가 Hermes의 `-Q` quiet 플래그를 떼서 stdout으로 `┊ <emoji> <tool>` 미리보기가 흘러나와. 이걸 한 줄짜리 진행 이벤트(파일 읽기, 웹 검색, 터미널 실행 등)로 요약해. 상세 모드가 꺼져 있으면 박스 안의 최종 답변만 음성으로 나가.
|
|
47
|
+
|
|
48
|
+
## Hermes로 전환하는 음성 표현
|
|
49
|
+
|
|
50
|
+
- en: `"switch to Hermes"`, `"ask Hermes ..."`
|
|
51
|
+
- ko: `"헤르메스로 전환"`, `"헤르메스한테 물어봐"`
|
|
52
|
+
|
|
53
|
+
## 함정
|
|
54
|
+
|
|
55
|
+
- 크로스 에이전트 핸드오프 시 TTS 접두사는 로케일에 맞춰서 `"Hermes says: "` / `"헤르메스: "`로 붙어.
|
|
56
|
+
- `HERMES_HOME`은 프로젝트별 격리에 가장 많이 쓰이는 노브야. 인스턴스 `.env`는 보통 `HERMES_HOME=/Users/you/.hermes/profiles/<project>` 식으로 설정.
|
|
57
|
+
- 상세 모드 켜고도 Hermes가 빈 박스로 끝나는 경우(타임아웃 등), 어댑터가 포기하기 전에 세션 JSON을 긁어서 최종 답변을 찾아내.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Hermes Agent — Заметки по harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.ru.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.ru.md">Harness-ы</a> ·
|
|
6
|
+
<a href="USAGE.ru.md">Использование</a> ·
|
|
7
|
+
<a href="CONFIGURATION.ru.md">Настройка</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
Hermes Agent — backend VerbalCoding по умолчанию и единственный harness с настоящим контрактом возобновления сессии: контекст между turn-ами держится чисто. Сравнение со встроенным `/voice` Hermes — в [HERMES_VOICE.ru.md](./HERMES_VOICE.ru.md).
|
|
11
|
+
|
|
12
|
+
## Установка
|
|
13
|
+
|
|
14
|
+
Официальный гайд: <https://hermes-agent.nousresearch.com>. Сначала проверьте CLI:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
hermes chat -Q -q "hello"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Настройка
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# .env
|
|
24
|
+
AGENT_BACKEND=hermes
|
|
25
|
+
HERMES_COMMAND="hermes chat -Q -q"
|
|
26
|
+
HERMES_HOME=/Users/you/.hermes
|
|
27
|
+
HERMES_PROJECT_CONTEXT="Project session: ..."
|
|
28
|
+
HERMES_TASK_TIMEOUT_MS=0
|
|
29
|
+
HERMES_CHAT_TIMEOUT_MS=45000
|
|
30
|
+
HERMES_WORKDIR=/Users/you/code/your-project
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Файл сессии лежит в `<repo>/.verbalcoding-session` (можно переопределить через `HERMES_SESSION_FILE`).
|
|
34
|
+
|
|
35
|
+
## Возобновление сессии
|
|
36
|
+
|
|
37
|
+
Hermes — единственный встроенный адаптер с возобновлением. После каждого успешного turn адаптер пишет новый `session_id` на диск и добавляет `--resume <id>` к следующему вызову. `!session reset` очищает файл.
|
|
38
|
+
|
|
39
|
+
Если turn был abort до того, как Hermes выдал `session_id:` в stderr, адаптер читает `~/.hermes/sessions/session_<id>.json`, чтобы восстановить последний ответ ассистента.
|
|
40
|
+
|
|
41
|
+
## Подробный прогресс
|
|
42
|
+
|
|
43
|
+
В подробном режиме адаптер убирает флаг `-Q`, и в stdout начинают идти превью `┊ <emoji> <tool>`. Они сводятся в однострочные события прогресса (чтение файлов, веб-поиск, терминал). Без подробного режима в голос идёт только финальный ответ в рамке.
|
|
44
|
+
|
|
45
|
+
## Голосовые фразы для переключения на Hermes
|
|
46
|
+
|
|
47
|
+
- en: `"switch to Hermes"`, `"ask Hermes ..."`
|
|
48
|
+
- ru: `"переключись на Hermes"`, `"спроси Hermes"`
|
|
49
|
+
|
|
50
|
+
## Подводные камни
|
|
51
|
+
|
|
52
|
+
- TTS-префикс при handoff локализован: `"Hermes says: "` / `"Hermes: "`.
|
|
53
|
+
- `HERMES_HOME` — самый частый рычаг изоляции проекта; обычно `HERMES_HOME=/Users/you/.hermes/profiles/<project>` в `.env` инстанса.
|
|
54
|
+
- В подробном режиме при пустой рамке от Hermes (таймаут) адаптер залезет в JSON сессии за финальным ответом.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Hermes Agent — Harness 说明
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.zh.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.zh.md">Harness</a> ·
|
|
6
|
+
<a href="USAGE.zh.md">使用</a> ·
|
|
7
|
+
<a href="CONFIGURATION.zh.md">配置</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
Hermes Agent 是 VerbalCoding 的默认后端,也是唯一拥有真正会话续接契约的 harness。turn 之间上下文保持干净。关于 Hermes 内建 `/voice` 的对比,见 [HERMES_VOICE.zh.md](./HERMES_VOICE.zh.md)。
|
|
11
|
+
|
|
12
|
+
## 安装
|
|
13
|
+
|
|
14
|
+
参考上游 Hermes Agent 安装指引: <https://hermes-agent.nousresearch.com>。
|
|
15
|
+
|
|
16
|
+
先确认 CLI 单独可用:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
hermes chat -Q -q "hello"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## VerbalCoding 配置
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# .env
|
|
26
|
+
AGENT_BACKEND=hermes
|
|
27
|
+
# 可选
|
|
28
|
+
HERMES_COMMAND="hermes chat -Q -q" # 默认
|
|
29
|
+
HERMES_HOME=/Users/you/.hermes # 每实例 Hermes 主目录
|
|
30
|
+
HERMES_PROJECT_CONTEXT="Project session: ..."
|
|
31
|
+
HERMES_TASK_TIMEOUT_MS=0 # 0 = 不限
|
|
32
|
+
HERMES_CHAT_TIMEOUT_MS=45000
|
|
33
|
+
HERMES_WORKDIR=/Users/you/code/your-project
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
会话文件默认 `<repo>/.verbalcoding-session` (用 `HERMES_SESSION_FILE` 覆盖)。
|
|
37
|
+
|
|
38
|
+
## 会话续接
|
|
39
|
+
|
|
40
|
+
Hermes 是内建适配器中唯一支持会话续接的。每次成功 turn 后适配器将新 `session_id` 写入磁盘,下次调用前置 `--resume <id>`。`!session reset` (或 `!reset-session`) 清除。
|
|
41
|
+
|
|
42
|
+
若 Hermes 在 stderr 输出 `session_id:` 之前被 abort,适配器会读取 `~/.hermes/sessions/session_<id>.json` 找回最后一条助手消息。
|
|
43
|
+
|
|
44
|
+
## 详细进度
|
|
45
|
+
|
|
46
|
+
详细模式下,适配器去掉 Hermes 的 `-Q` 静默标志,stdout 会流出 `┊ <emoji> <tool>` 预览,被汇总为一行进度事件 (文件读取、网页搜索、终端执行等)。非详细模式只把最终框内回答念出。
|
|
47
|
+
|
|
48
|
+
## 切到 Hermes 的语音表述
|
|
49
|
+
|
|
50
|
+
- en: `"switch to Hermes"`、`"ask Hermes ..."`
|
|
51
|
+
- zh: `"切到 Hermes"`、`"问 Hermes"`
|
|
52
|
+
|
|
53
|
+
## 坑
|
|
54
|
+
|
|
55
|
+
- 跨代理切换时的 TTS 前缀按语言: `"Hermes says: "` / `"Hermes:"`。
|
|
56
|
+
- `HERMES_HOME` 是最常用的项目级隔离开关。实例 `.env` 通常设 `HERMES_HOME=/Users/you/.hermes/profiles/<project>`。
|
|
57
|
+
- 详细模式开启但 Hermes 以空框结束 (超时) 时,适配器会在放弃前抓会话 JSON 找最终回答。
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# OpenClaw — Notas del Harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.es.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.es.md">Harnesses</a> ·
|
|
6
|
+
<a href="USAGE.es.md">Uso</a> ·
|
|
7
|
+
<a href="CONFIGURATION.es.md">Configuración</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenClaw es un agente de codificación de terminal open source. VerbalCoding lo invoca con `openclaw run`.
|
|
11
|
+
|
|
12
|
+
## Instalación
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
openclaw run "hello"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Configuración
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# .env
|
|
22
|
+
AGENT_BACKEND=openclaw
|
|
23
|
+
OPENCLAW_COMMAND="openclaw run"
|
|
24
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
25
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
26
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
27
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Frases de voz para cambiar a OpenClaw
|
|
31
|
+
|
|
32
|
+
- en: `"switch to OpenClaw"`, `"switch to open claw"`
|
|
33
|
+
- es: `"cambia a OpenClaw"`
|
|
34
|
+
|
|
35
|
+
Alias: `openclaw`, `open claw`.
|
|
36
|
+
|
|
37
|
+
## Trampas
|
|
38
|
+
|
|
39
|
+
- **Sin reanudación por defecto.** Añade la flag adecuada en `OPENCLAW_COMMAND` si tu build la soporta.
|
|
40
|
+
- **Progreso detallado.** Igual que OpenCode: keywords + posible LLM summarizer.
|
|
41
|
+
- **Colisión de nombres.** Los alias `openclaw` y la etiqueta `OpenClaw` se distinguen claramente de `claude` / `claude code`; el modo strict del router no los confunde.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# OpenClaw — Notes Harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.fr.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.fr.md">Harnesses</a> ·
|
|
6
|
+
<a href="USAGE.fr.md">Utilisation</a> ·
|
|
7
|
+
<a href="CONFIGURATION.fr.md">Configuration</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenClaw est un agent terminal open source. VerbalCoding l'invoque via `openclaw run`.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
openclaw run "hello"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Configuration
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# .env
|
|
22
|
+
AGENT_BACKEND=openclaw
|
|
23
|
+
OPENCLAW_COMMAND="openclaw run"
|
|
24
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
25
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
26
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
27
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Phrases vocales pour basculer vers OpenClaw
|
|
31
|
+
|
|
32
|
+
- en: `"switch to OpenClaw"`, `"switch to open claw"`
|
|
33
|
+
- fr: `"passe à OpenClaw"`
|
|
34
|
+
|
|
35
|
+
Alias : `openclaw`, `open claw`.
|
|
36
|
+
|
|
37
|
+
## Pièges
|
|
38
|
+
|
|
39
|
+
- **Pas de reprise par défaut.** Ajoutez le flag adéquat à `OPENCLAW_COMMAND` si la build le supporte.
|
|
40
|
+
- **Progression verbeuse.** Identique à OpenCode.
|
|
41
|
+
- **Collision de noms.** Les alias `openclaw` et l'étiquette `OpenClaw` se distinguent clairement de `claude` / `claude code` ; le mode strict du routeur ne les confond pas.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# OpenClaw — ハーネスノート
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.ja.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.ja.md">ハーネス</a> ·
|
|
6
|
+
<a href="USAGE.ja.md">使い方</a> ·
|
|
7
|
+
<a href="CONFIGURATION.ja.md">設定</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenClaw はオープンソースのターミナルコーディングエージェント。VerbalCoding は `openclaw run` で呼び出します。
|
|
11
|
+
|
|
12
|
+
## インストール
|
|
13
|
+
|
|
14
|
+
上流 OpenClaw インストールガイドに従い、確認:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
openclaw run "hello"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## VerbalCoding 設定
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# .env
|
|
24
|
+
AGENT_BACKEND=openclaw
|
|
25
|
+
# 任意
|
|
26
|
+
OPENCLAW_COMMAND="openclaw run" # 既定
|
|
27
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
28
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
29
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
30
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## OpenClaw へ切り替える音声表現
|
|
34
|
+
|
|
35
|
+
- en: `"switch to OpenClaw"`, `"ask OpenClaw ..."`, `"switch to open claw"`
|
|
36
|
+
- ja: `"OpenClaw に切り替えて"`
|
|
37
|
+
|
|
38
|
+
エイリアス: `openclaw`, `open claw`。
|
|
39
|
+
|
|
40
|
+
## 罠
|
|
41
|
+
|
|
42
|
+
- **既定コマンドはセッション再開なし。** ビルドが resume フラグをサポートしていれば `OPENCLAW_COMMAND` に追加。
|
|
43
|
+
- **詳細進捗。** OpenCode と同じく、`SMART_PROGRESS_API_KEY` なしではキーワードベースのラベルにフォールバック。
|
|
44
|
+
- **名前衝突。** パーサのエイリアス `openclaw` とラベル `OpenClaw` は `claude` / `claude code` と明確に区別。strict モードのルータが両者を混同しません。
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# OpenClaw — 하니스 노트
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.ko.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.ko.md">하니스</a> ·
|
|
6
|
+
<a href="USAGE.ko.md">사용법</a> ·
|
|
7
|
+
<a href="CONFIGURATION.ko.md">설정</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenClaw는 오픈소스 터미널 코딩 에이전트. VerbalCoding은 `openclaw run`으로 호출해.
|
|
11
|
+
|
|
12
|
+
## 설치
|
|
13
|
+
|
|
14
|
+
상위 OpenClaw 설치 가이드를 따르고 확인:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
openclaw run "hello"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## VerbalCoding 설정
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# .env
|
|
24
|
+
AGENT_BACKEND=openclaw
|
|
25
|
+
# 선택
|
|
26
|
+
OPENCLAW_COMMAND="openclaw run" # 기본값
|
|
27
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
28
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
29
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
30
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## OpenClaw로 전환하는 음성 표현
|
|
34
|
+
|
|
35
|
+
- en: `"switch to OpenClaw"`, `"ask OpenClaw ..."`, `"switch to open claw"`
|
|
36
|
+
- ko: `"openclaw로 전환"`
|
|
37
|
+
|
|
38
|
+
매처가 받는 별칭: `openclaw`, `open claw`.
|
|
39
|
+
|
|
40
|
+
## 함정
|
|
41
|
+
|
|
42
|
+
- **기본 명령에는 세션 재개 없음.** 빌드가 resume 플래그를 지원하면 `OPENCLAW_COMMAND`에 추가.
|
|
43
|
+
- **상세 진행.** OpenCode와 동일 — `SMART_PROGRESS_API_KEY`가 없으면 키워드 기반 라벨로 fallback.
|
|
44
|
+
- **이름 혼동.** 파서 별칭 `openclaw`와 사용자용 라벨 `OpenClaw`는 `claude` / `claude code`와 명확히 구분돼. strict 모드 라우터가 둘을 혼동하지 않아.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# OpenClaw — Заметки по harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.ru.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.ru.md">Harness-ы</a> ·
|
|
6
|
+
<a href="USAGE.ru.md">Использование</a> ·
|
|
7
|
+
<a href="CONFIGURATION.ru.md">Настройка</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenClaw — open-source терминальный кодинг-агент. VerbalCoding вызывает его через `openclaw run`.
|
|
11
|
+
|
|
12
|
+
## Установка
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
openclaw run "hello"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Настройка
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# .env
|
|
22
|
+
AGENT_BACKEND=openclaw
|
|
23
|
+
OPENCLAW_COMMAND="openclaw run"
|
|
24
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
25
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
26
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
27
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Голосовые фразы для переключения на OpenClaw
|
|
31
|
+
|
|
32
|
+
- en: `"switch to OpenClaw"`, `"switch to open claw"`
|
|
33
|
+
- ru: `"переключись на OpenClaw"`
|
|
34
|
+
|
|
35
|
+
Алиасы: `openclaw`, `open claw`.
|
|
36
|
+
|
|
37
|
+
## Подводные камни
|
|
38
|
+
|
|
39
|
+
- **По умолчанию нет возобновления.** Если сборка поддерживает — добавьте флаг в `OPENCLAW_COMMAND`.
|
|
40
|
+
- **Подробный прогресс.** Как у OpenCode.
|
|
41
|
+
- **Коллизия имён.** Алиас `openclaw` и метка `OpenClaw` чётко отделены от `claude` / `claude code`; strict-режим маршрутизатора их не путает.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# OpenClaw — Harness 说明
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.zh.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.zh.md">Harness</a> ·
|
|
6
|
+
<a href="USAGE.zh.md">使用</a> ·
|
|
7
|
+
<a href="CONFIGURATION.zh.md">配置</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenClaw 是开源终端编码代理。VerbalCoding 通过 `openclaw run` 驱动。
|
|
11
|
+
|
|
12
|
+
## 安装
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
openclaw run "hello"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## VerbalCoding 配置
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# .env
|
|
22
|
+
AGENT_BACKEND=openclaw
|
|
23
|
+
# 可选
|
|
24
|
+
OPENCLAW_COMMAND="openclaw run"
|
|
25
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
26
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
27
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
28
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 切到 OpenClaw 的语音表述
|
|
32
|
+
|
|
33
|
+
- en: `"switch to OpenClaw"`、`"switch to open claw"`
|
|
34
|
+
- zh: `"切到 OpenClaw"`
|
|
35
|
+
|
|
36
|
+
别名: `openclaw`、`open claw`。
|
|
37
|
+
|
|
38
|
+
## 坑
|
|
39
|
+
|
|
40
|
+
- **默认命令无会话续接。** 若构建支持 resume,加入 `OPENCLAW_COMMAND`。
|
|
41
|
+
- **详细进度。** 与 OpenCode 相同 — 无 `SMART_PROGRESS_API_KEY` 时回退到关键字标签。
|
|
42
|
+
- **名称冲突。** 解析器别名 `openclaw` 与用户标签 `OpenClaw` 与 `claude` / `claude code` 明确区分,strict 模式不会混淆。
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# OpenCode — Notas del Harness
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="../../README.es.md">README</a> ·
|
|
5
|
+
<a href="HARNESSES.es.md">Harnesses</a> ·
|
|
6
|
+
<a href="USAGE.es.md">Uso</a> ·
|
|
7
|
+
<a href="CONFIGURATION.es.md">Configuración</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
OpenCode es un agente de codificación de terminal open source. VerbalCoding lo invoca con `opencode run`.
|
|
11
|
+
|
|
12
|
+
## Instalación
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
opencode run "hello"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Configuración
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# .env
|
|
22
|
+
AGENT_BACKEND=opencode
|
|
23
|
+
OPENCODE_COMMAND="opencode run"
|
|
24
|
+
AGENT_PROJECT_CONTEXT="..."
|
|
25
|
+
AGENT_WORKDIR=/Users/you/code/your-project
|
|
26
|
+
AGENT_CHAT_TIMEOUT_MS=45000
|
|
27
|
+
AGENT_TASK_TIMEOUT_MS=0
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Frases de voz para cambiar a OpenCode
|
|
31
|
+
|
|
32
|
+
- en: `"switch to OpenCode"`, `"switch to open code"`
|
|
33
|
+
- es: `"cambia a OpenCode"`
|
|
34
|
+
|
|
35
|
+
Alias: `opencode`, `open code`.
|
|
36
|
+
|
|
37
|
+
## Trampas
|
|
38
|
+
|
|
39
|
+
- **Sin reanudación por defecto.** Si tu build soporta resume, añádelo: `OPENCODE_COMMAND="opencode run --resume"`.
|
|
40
|
+
- **Selección de modelo.** Añade `--model` u otras flags en `OPENCODE_COMMAND`.
|
|
41
|
+
- **Progreso detallado.** Coincidencia por keywords sobre stdout/stderr (lectura, búsqueda, terminal). Sin `SMART_PROGRESS_API_KEY`, fallback a labels raw.
|