Rename app to WakeHermesClaw

This commit is contained in:
Yu-ga
2026-05-20 10:38:26 +09:00
parent 4a9b88dbf3
commit 2a7787de38
32 changed files with 195 additions and 195 deletions
+5 -5
View File
@@ -1,8 +1,8 @@
# Agent Voice for Android 🦞
# WakeHermesClaw for Android 🦞
> **A native Android voice client for OpenClaw and Hermes Agent.**
>
> Agent Voice is the successor to *OpenClaw Assistant*. It keeps every
> WakeHermesClaw is the successor to *OpenClaw Assistant*. It keeps every
> OpenClaw feature you already have — wake word, Voice Overlay, Gateway
> + HTTP backends, Wear OS, on-device node capabilities, continuous
> conversation — and adds first-class support for **Hermes Agent** as a
@@ -13,7 +13,7 @@
> - OpenClaw HTTP (OpenAI-compatible chat)
> - Hermes API Server (`/v1/chat/completions` streaming + `/v1/runs` Runs API)
>
> **Mobile Bridge (optional, off by default).** Agent Voice can expose a
> **Mobile Bridge (optional, off by default).** WakeHermesClaw can expose a
> bearer-token-protected local HTTP service that lets Hermes reach a
> curated set of Android capabilities. See
> [`docs/hermes-mobile-bridge.md`](docs/hermes-mobile-bridge.md) and
@@ -29,12 +29,12 @@
> **Hermes setup in 30 seconds.** Run `hermes gateway` with the API
> server enabled (default port `8642`), bind it to your LAN/VPN,
> generate an API key, and add it in **Settings → Backends → Add Hermes
> API Server**. Agent Voice accepts both `http://host:8642` and
> API Server**. WakeHermesClaw accepts both `http://host:8642` and
> `http://host:8642/v1`. Authentication uses `Authorization: Bearer
> <key>`; the default model name is `hermes-agent`. Connection test
> calls `GET /v1/models` and falls back to `/health`.
>
> **Hermes-Relay feature parity.** Agent Voice mirrors the patterns in
> **Hermes-Relay feature parity.** WakeHermesClaw mirrors the patterns in
> [hermes-relay](https://codename-11.github.io/hermes-relay/):
> 6-character pairing codes + deep-link QR payload (`agentvoice://pair?...`),
> multi-endpoint candidates (LAN + Tailscale + public) raced in parallel on
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Debug-Agent Voice</string>
<string name="app_name">Debug-WakeHermesClaw</string>
</resources>
+3 -3
View File
@@ -132,7 +132,7 @@
android:exported="false"
android:theme="@style/Theme.OpenClawAssistant" />
<!-- Agent Voice multi-backend UI -->
<!-- WakeHermesClaw multi-backend UI -->
<activity
android:name="com.openclaw.assistant.ui.backend.BackendListActivity"
android:label="@string/backends_title"
@@ -151,7 +151,7 @@
android:name="com.openclaw.assistant.ui.setup.AgentVoiceSetupActivity"
android:exported="false"
android:theme="@style/Theme.OpenClawAssistant" />
<!-- Deep-link target for Agent Voice pairing QR codes. Any QR scanner on the
<!-- Deep-link target for WakeHermesClaw pairing QR codes. Any QR scanner on the
phone (including the stock camera app on modern Android) routes
agentvoice://setup?... or agentvoice://hermes/setup?... here. -->
<activity
@@ -236,7 +236,7 @@
android:exported="false"
android:foregroundServiceType="dataSync" />
<!-- Agent Voice Accessibility Bridge — off by default. User must enable
<!-- WakeHermesClaw Accessibility Bridge — off by default. User must enable
from Settings → Accessibility. -->
<service
android:name="com.openclaw.assistant.bridge.accessibility.AgentVoiceAccessibilityService"
@@ -222,7 +222,7 @@ class MainActivity : ComponentActivity(), TextToSpeech.OnInitListener {
setContent {
OpenClawAssistantTheme {
val hasCompletedSetup by remember { mutableStateOf(settings.hasCompletedSetup) }
// Agent Voice users who already configured at least one backend
// WakeHermesClaw users who already configured at least one backend
// (either via migration from a legacy OpenClaw install, or
// through the new BackendListActivity) should skip the legacy
// OpenClaw setup guide entirely.
@@ -141,8 +141,8 @@ class PermissionRequester(private val activity: ComponentActivity) {
AlertDialog.Builder(activity)
.setTitle("Notification Access Required")
.setMessage(
"Agent Voice needs notification access to read and manage your notifications. " +
"Tap \"Open Settings\", enable Agent Voice, then return to the app."
"WakeHermesClaw needs notification access to read and manage your notifications. " +
"Tap \"Open Settings\", enable WakeHermesClaw, then return to the app."
)
.setPositiveButton("Open Settings") { _, _ ->
activity.startActivity(Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS))
@@ -10,7 +10,7 @@ import com.openclaw.assistant.api.OpenClawClient
* The existing OpenClaw Gateway and HTTP code paths are deeply integrated with the
* UI, Voice Overlay, HotwordService, and node-capability stack, so they are NOT
* routed through this interface today. These adapters exist so the rest of the
* Agent Voice surface (Settings UI, Backend list, connection test) can treat all
* WakeHermesClaw surface (Settings UI, Backend list, connection test) can treat all
* backends uniformly.
*
* OpenClaw HTTP can send directly through [OpenClawClient]. OpenClaw Gateway is
@@ -61,7 +61,7 @@ private fun ApprovalPane(
onDeny: () -> Unit,
) {
Column(modifier = Modifier.fillMaxSize().padding(24.dp)) {
Text("Agent Voice - " + androidx.compose.ui.res.stringResource(com.openclaw.assistant.R.string.mobile_bridge_title), style = MaterialTheme.typography.titleLarge)
Text("WakeHermesClaw - " + androidx.compose.ui.res.stringResource(com.openclaw.assistant.R.string.mobile_bridge_title), style = MaterialTheme.typography.titleLarge)
Spacer(Modifier.height(8.dp))
if (destructive) {
Text(
@@ -194,7 +194,7 @@ object CameraCapturePhotoCapability : BridgeCapability {
override fun isAvailable(context: Context) = false
override suspend fun execute(context: Context, arguments: JsonObject): JsonObject = buildJsonObject {
put("captured", false)
put("reason", "interactive capture must be triggered from the Agent Voice UI")
put("reason", "interactive capture must be triggered from the WakeHermesClaw UI")
}
}
@@ -130,7 +130,7 @@ open class MobileBridgeServer(
// /health is unauthenticated by design.
if (req.method == "GET" && req.path == "/health") {
return HttpResponse(200, buildJsonObject {
put("status", "ok"); put("app", "Agent Voice"); put("bridge", true)
put("status", "ok"); put("app", "WakeHermesClaw"); put("bridge", true)
}.toString())
}
// /pair is the only OTHER unauthenticated endpoint — by definition,
@@ -89,7 +89,7 @@ class MobileBridgeService : Service() {
if (nm.getNotificationChannel(CHANNEL_ID) == null) {
nm.createNotificationChannel(
NotificationChannel(CHANNEL_ID, "Mobile Bridge", NotificationManager.IMPORTANCE_LOW).apply {
description = "Agent Voice Mobile Bridge is exposing local capabilities"
description = "WakeHermesClaw Mobile Bridge is exposing local capabilities"
}
)
}
@@ -104,7 +104,7 @@ class MobileBridgeService : Service() {
Notification.Builder(this)
}
return builder
.setContentTitle("Agent Voice Bridge")
.setContentTitle("WakeHermesClaw Bridge")
.setContentText("Local bridge is running on port ${MobileBridgeConfig.getInstance(this).port.value}")
.setSmallIcon(applicationInfo.icon)
.setOngoing(true)
@@ -18,7 +18,7 @@ import kotlinx.serialization.json.put
* Mirrors Hermes-Relay's "notifications" surface. Reads the current active
* notifications via [OpenClawNotificationListenerService] (which Android
* grants only after the user has explicitly enabled
* "Notification access" for Agent Voice).
* "Notification access" for WakeHermesClaw).
*
* `isAvailable` checks the system-level grant via
* [NotificationManagerCompat.getEnabledListenerPackages]; if the package is
@@ -9,7 +9,7 @@ import android.view.accessibility.AccessibilityEvent
* Accessibility Bridge — Hermes-Relay's "the agent reads your screen and acts
* on it: tap, type, swipe, screenshots, clipboard, media, notifications".
*
* The user must explicitly enable Agent Voice in Android Settings →
* The user must explicitly enable WakeHermesClaw in Android Settings →
* Accessibility before any of the screen.* capabilities can run. The service
* is intentionally a thin "remote control" — it has no auto-behaviour, no
* background scraping, no event-stream broadcasting. It only acts when a
@@ -47,7 +47,7 @@ class SystemHandler(private val appContext: Context) {
}
} ?: return GatewaySession.InvokeResult.error("INVALID_REQUEST", "Expected JSON object")
val title = (params["title"] as? JsonPrimitive)?.content ?: "Agent Voice"
val title = (params["title"] as? JsonPrimitive)?.content ?: "WakeHermesClaw"
// Support both "body" (original spec) and "message" (legacy fallback)
val body = (params["body"] as? JsonPrimitive)?.content
?: (params["message"] as? JsonPrimitive)?.content
@@ -1590,7 +1590,7 @@ private suspend fun sendSetupProbeMessage(
context: Context,
target: AgentBackendConfig,
): String {
val prompt = "Setup check: reply with a short confirmation that Agent Voice can reach you."
val prompt = "Setup check: reply with a short confirmation that WakeHermesClaw can reach you."
return when (target.type) {
BackendType.OPENCLAW_GATEWAY -> {
PrimaryBackendDispatcher.send(context, prompt, backendId = target.id, sessionId = "agent-voice-setup-check")?.text.orEmpty()
@@ -57,7 +57,7 @@ import com.openclaw.assistant.backend.BackendRepository
* Step 1 — Welcome
* Step 2 — Tick the backends you want to set up (Hermes / OpenClaw)
* Step 3 — Per-backend setup, only for ticked options:
* • Agent Voice helper: run `agentvoice-pair` on the host. It
* • WakeHermesClaw helper: run `agentvoice-pair` on the host. It
* auto-detects Hermes, OpenClaw, and Tailscale, then prints one
* QR for this app to scan.
* Step 4 — Done
@@ -64,7 +64,7 @@ import java.util.Base64
import java.util.Locale
/**
* Deep-link target for external-camera Agent Voice setup links. App-internal QR
* Deep-link target for external-camera WakeHermesClaw setup links. App-internal QR
* scanning uses the JSON form directly, while this Activity keeps deep-link
* compatibility:
*
@@ -12,7 +12,7 @@ val OpenClawTextPrimary = Color(0xFFEEEEEE)
val OpenClawTextSecondary = Color(0xFFB0B0B0)
val OpenClawError = Color(0xFFD32F2F)
// Agent Voice onboarding tokens. Keep this flow calmer than the legacy lobster palette:
// WakeHermesClaw onboarding tokens. Keep this flow calmer than the legacy lobster palette:
// it has to read like a setup tool for OpenClaw + Hermes, not a promo screen.
val OnboardingGradientStart = Color(0xFFF8FAFC)
val OnboardingGradientMid = Color(0xFF4F46E5)
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">Wake-Word-Dienst</string>
<string name="notification_channel_description">Ständig verfügbarer Spracherkennungsdienst</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">Sagen Sie zum Aktivieren „%s“.</string>
<string name="default_session_title_format">Sprachsitzung %s</string>
<string name="chat_session_title_format">Chat %s</string>
@@ -48,7 +48,7 @@
<string name="processing">Verarbeitung…</string>
<string name="error_label">Fehler</string>
<string name="try_again_button">Versuchen Sie es erneut</string>
<string name="ask_hint">Fragen Sie Agent Voice</string>
<string name="ask_hint">Fragen Sie WakeHermesClaw</string>
<string name="send_description">Schicken</string>
<string name="stop_description">Stoppen</string>
<string name="start_listening_description">Zuhören starten</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">Google App-Einstellung</string>
<string name="google_app_setting_desc">Öffnen Sie die Google App → Tippen Sie auf „Profil“ → „Einstellungen“ → „Google Assistant“ → „Allgemein“ → Deaktivieren Sie „Google Assistant“, wenn es weiterhin stört.</string>
<string name="refresh_binding_title">Bindung aktualisieren</string>
<string name="refresh_binding_desc">Wenn der Status \'Aktiv\' lautet, es aber immer noch nicht funktioniert, versuchen Sie, die \'Digital Assistant-App\' auf \'Keine\' und dann zurück auf \'Agent Voice\' zu ändern.</string>
<string name="refresh_binding_desc">Wenn der Status \'Aktiv\' lautet, es aber immer noch nicht funktioniert, versuchen Sie, die \'Digital Assistant-App\' auf \'Keine\' und dann zurück auf \'WakeHermesClaw\' zu ändern.</string>
<string name="debug_force_start">Debug: Sitzungsstart erzwingen</string>
<string name="connection">Verbindung</string>
<string name="voice">Stimme</string>
@@ -399,7 +399,7 @@ Weitere Informationen finden Sie auf der offiziellen Website von VOICEVOX.</stri
<string name="update_action">Aktualisieren</string>
<string name="update_dismiss_action">Schließen</string>
<string name="setup_guide_first_run">ERSTER RUN</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">Schritt %1$d von %2$d</string>
<string name="setup_guide_welcome_title">Was Sie bekommen</string>
<string name="setup_guide_welcome_bullet_1">Steuern Sie das Gateway und den Operator-Chat von einer mobilen Oberfläche aus.</string>
@@ -574,9 +574,9 @@ Weitere Informationen finden Sie auf der offiziellen Website von VOICEVOX.</stri
<string name="action_show_api_key">API-Schlüssel anzeigen</string>
<string name="action_refresh_agents">Agenten aktualisieren</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Agent Voice einrichten</string>
<string name="av_setup_welcome_title">Willkommen bei Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">WakeHermesClaw einrichten</string>
<string name="av_setup_welcome_title">Willkommen bei WakeHermesClaw</string>
<string name="av_setup_welcome_body">Ein nativer Android-Sprachclient für Hermes Agent und OpenClaw. Führen Sie den Pairing-Helper auf dem Computer aus, wählen Sie Hermes, OpenClaw und Tailscale aus und scannen Sie einen einzigen QR in dieser App.</string>
<string name="av_setup_choose_title">Welche Backends nutzt du?</string>
<string name="av_setup_choose_hint">Mindestens eines auswählen. Weitere kannst du später unter Einstellungen → Backends hinzufügen.</string>
@@ -593,10 +593,10 @@ Weitere Informationen finden Sie auf der offiziellen Website von VOICEVOX.</stri
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP. Derselbe Helper erkennt OpenClaw und fügt den Setup-Code zum gemeinsamen QR hinzu.</string>
<string name="av_backend_open_openclaw_setup">OpenClaw-Einrichtung öffnen</string>
<string name="av_hermes_card_title">Agent Voice · Einrichtung mit einem QR</string>
<string name="av_hermes_card_step1">1. Auf dem Computer mit Hermes/OpenClaw den Agent Voice Pairing-Helper installieren:</string>
<string name="av_hermes_card_title">WakeHermesClaw · Einrichtung mit einem QR</string>
<string name="av_hermes_card_step1">1. Auf dem Computer mit Hermes/OpenClaw den WakeHermesClaw Pairing-Helper installieren:</string>
<string name="av_hermes_card_step2">2. Starte den Helper. Er liest lokale Hermes/OpenClaw-Einstellungen, erkennt Tailscale und zeigt einen QR-Code:</string>
<string name="av_hermes_card_step3">3. Scannen Sie diesen QR in Agent Voice. Wenn Hermes und OpenClaw enthalten sind, werden beide Einstellungen gemeinsam angewendet.</string>
<string name="av_hermes_card_step3">3. Scannen Sie diesen QR in WakeHermesClaw. Wenn Hermes und OpenClaw enthalten sind, werden beide Einstellungen gemeinsam angewendet.</string>
<string name="av_hermes_card_note">Für Nutzung unterwegs die Tailscale/VPN-Frage mit Ja beantworten, damit der QR LAN- und Tailscale-Endpunkte enthält.</string>
<string name="av_openclaw_card_title">OpenClaw · QR vom Server scannen</string>
@@ -635,7 +635,7 @@ Weitere Informationen finden Sie auf der offiziellen Website von VOICEVOX.</stri
<string name="av_bridge_play_warning">Dieser Build ist für Play konfiguriert: Accessibility-Bridge und SMS sind ausgeblendet.</string>
<string name="av_selfcheck_title">Selbsttest</string>
<string name="av_selfcheck_intro">Zustands-Snapshot von Agent Voice. Nach Behebung eines Punktes „Erneut ausführen“ antippen.</string>
<string name="av_selfcheck_intro">Zustands-Snapshot von WakeHermesClaw. Nach Behebung eines Punktes „Erneut ausführen“ antippen.</string>
<string name="av_selfcheck_rerun">Erneut ausführen</string>
<string name="av_selfcheck_backends_configured">Backends konfiguriert</string>
<string name="av_selfcheck_backends_none">Keine. Fügen Sie eines unter Backends hinzu.</string>
@@ -686,11 +686,11 @@ Weitere Informationen finden Sie auf der offiziellen Website von VOICEVOX.</stri
<string name="av_connection_testing">Teste…</string>
<string name="av_chat_no_backend">Kein Backend</string>
<string name="av_chat_primary_target">Primär: %1$s</string>
<string name="av_import_title">Agent Voice Backends hinzufügen</string>
<string name="av_import_title">WakeHermesClaw Backends hinzufügen</string>
<string name="av_import_missing">Dieser Pairing-QR enthält nicht alle erforderlichen Informationen.</string>
<string name="av_import_close">Schließen</string>
<string name="av_import_review">Prüfen Sie die im QR gefundenen Einstellungen vor dem Speichern.</string>
<string name="av_import_add_open">Hinzufügen und Agent Voice öffnen</string>
<string name="av_import_add_open">Hinzufügen und WakeHermesClaw öffnen</string>
<string name="av_import_no_hermes">Dieser QR enthält kein Hermes-Backend.</string>
<string name="av_import_test_hermes">Hermes-Verbindung testen</string>
<string name="av_import_test_openclaw">OpenClaw-Verbindung testen</string>
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">Servicio Wake Word</string>
<string name="notification_channel_description">Servicio de detección de voz siempre activo</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">Di \"%s\" para activar</string>
<string name="default_session_title_format">Sesión de voz %s</string>
<string name="chat_session_title_format">Chat %s</string>
@@ -48,7 +48,7 @@
<string name="processing">Procesando…</string>
<string name="error_label">Error</string>
<string name="try_again_button">Inténtalo de nuevo</string>
<string name="ask_hint">Pregunte a Agent Voice</string>
<string name="ask_hint">Pregunte a WakeHermesClaw</string>
<string name="send_description">Enviar</string>
<string name="stop_description">Detener</string>
<string name="start_listening_description">Empezar a escuchar</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">Configuración de la aplicación Google</string>
<string name="google_app_setting_desc">Abre la aplicación de Google → Toca Perfil → Configuración → Asistente de Google → General → Desactiva el \'Asistente de Google\' si aún interfiere.</string>
<string name="refresh_binding_title">Actualizar enlace</string>
<string name="refresh_binding_desc">Si el estado es \'Activo\' pero aún así no funciona, intente cambiar \'Aplicación de asistente digital\' a \'Ninguno\' y luego vuelva a \'Agent Voice\'.</string>
<string name="refresh_binding_desc">Si el estado es \'Activo\' pero aún así no funciona, intente cambiar \'Aplicación de asistente digital\' a \'Ninguno\' y luego vuelva a \'WakeHermesClaw\'.</string>
<string name="debug_force_start">Depuración: Forzar inicio de sesión</string>
<string name="connection">Conexión</string>
<string name="voice">Voz</string>
@@ -400,7 +400,7 @@ Para más detalles, consulta el sitio oficial de VOICEVOX.</string>
<string name="update_action">Actualizar</string>
<string name="update_dismiss_action">Cerrar</string>
<string name="setup_guide_first_run">PRIMERA EJECUCIÓN</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">Paso %1$d de %2$d</string>
<string name="setup_guide_welcome_title">Lo que obtienes</string>
<string name="setup_guide_welcome_bullet_1">Controle la puerta de enlace y el chat del operador desde una superficie móvil.</string>
@@ -575,9 +575,9 @@ Para más detalles, consulta el sitio oficial de VOICEVOX.</string>
<string name="action_show_api_key">Mostrar clave API</string>
<string name="action_refresh_agents">Actualizar agentes</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Configurar Agent Voice</string>
<string name="av_setup_welcome_title">Bienvenido a Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">Configurar WakeHermesClaw</string>
<string name="av_setup_welcome_title">Bienvenido a WakeHermesClaw</string>
<string name="av_setup_welcome_body">Un cliente de voz Android nativo para Hermes Agent y OpenClaw. Ejecuta el helper de emparejamiento en tu equipo, elige si incluir Hermes, OpenClaw y Tailscale, y escanea un único QR dentro de esta app.</string>
<string name="av_setup_choose_title">¿Qué backends vas a usar?</string>
<string name="av_setup_choose_hint">Selecciona al menos uno. Puedes añadir más en Ajustes → Backends.</string>
@@ -594,10 +594,10 @@ Para más detalles, consulta el sitio oficial de VOICEVOX.</string>
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP. El mismo helper detecta OpenClaw y añade su setup code al QR compartido.</string>
<string name="av_backend_open_openclaw_setup">Abrir configuración de OpenClaw</string>
<string name="av_hermes_card_title">Agent Voice · configuración con un QR</string>
<string name="av_hermes_card_step1">1. En la máquina que ejecuta Hermes/OpenClaw, instala el helper de Agent Voice:</string>
<string name="av_hermes_card_title">WakeHermesClaw · configuración con un QR</string>
<string name="av_hermes_card_step1">1. En la máquina que ejecuta Hermes/OpenClaw, instala el helper de WakeHermesClaw:</string>
<string name="av_hermes_card_step2">2. Ejecuta el helper. Lee la configuración local de Hermes/OpenClaw, detecta Tailscale y muestra un QR:</string>
<string name="av_hermes_card_step3">3. Escanea ese QR dentro de Agent Voice. Si incluye Hermes y OpenClaw, ambas configuraciones se aplican juntas.</string>
<string name="av_hermes_card_step3">3. Escanea ese QR dentro de WakeHermesClaw. Si incluye Hermes y OpenClaw, ambas configuraciones se aplican juntas.</string>
<string name="av_hermes_card_note">Para usarlo fuera de casa, responde sí a la pregunta de Tailscale/VPN para incluir candidatos LAN + Tailscale en el QR.</string>
<string name="av_openclaw_card_title">OpenClaw · escanea un QR desde tu servidor</string>
@@ -636,7 +636,7 @@ Para más detalles, consulta el sitio oficial de VOICEVOX.</string>
<string name="av_bridge_play_warning">Esta build es para Play: el Puente de accesibilidad y SMS están ocultos.</string>
<string name="av_selfcheck_title">Diagnóstico</string>
<string name="av_selfcheck_intro">Estado de Agent Voice. Toca «Reintentar» tras corregir cualquier punto.</string>
<string name="av_selfcheck_intro">Estado de WakeHermesClaw. Toca «Reintentar» tras corregir cualquier punto.</string>
<string name="av_selfcheck_rerun">Reintentar</string>
<string name="av_selfcheck_backends_configured">Backends configurados</string>
<string name="av_selfcheck_backends_none">Ninguno. Añada uno en Backends.</string>
@@ -687,11 +687,11 @@ Para más detalles, consulta el sitio oficial de VOICEVOX.</string>
<string name="av_connection_testing">Probando…</string>
<string name="av_chat_no_backend">Sin backend</string>
<string name="av_chat_primary_target">Principal: %1$s</string>
<string name="av_import_title">Añadir backends de Agent Voice</string>
<string name="av_import_title">Añadir backends de WakeHermesClaw</string>
<string name="av_import_missing">Este QR de emparejamiento no incluye la información necesaria.</string>
<string name="av_import_close">Cerrar</string>
<string name="av_import_review">Revisa los ajustes encontrados en el QR antes de guardarlos.</string>
<string name="av_import_add_open">Añadir y abrir Agent Voice</string>
<string name="av_import_add_open">Añadir y abrir WakeHermesClaw</string>
<string name="av_import_no_hermes">Este QR no incluye un backend de Hermes.</string>
<string name="av_import_test_hermes">Probar conexión Hermes</string>
<string name="av_import_test_openclaw">Probar conexión OpenClaw</string>
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">Service Wake Word</string>
<string name="notification_channel_description">Service de détection vocale toujours actif</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">Dites \"%s\" pour activer</string>
<string name="default_session_title_format">Séance vocale %s</string>
<string name="chat_session_title_format">Chat %s</string>
@@ -48,7 +48,7 @@
<string name="processing">Traitement…</string>
<string name="error_label">Erreur</string>
<string name="try_again_button">Réessayer</string>
<string name="ask_hint">Demandez à Agent Voice</string>
<string name="ask_hint">Demandez à WakeHermesClaw</string>
<string name="send_description">Envoyer</string>
<string name="stop_description">Arrêter</string>
<string name="start_listening_description">Commencer à écouter</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">Paramètres de l\'application Google</string>
<string name="google_app_setting_desc">Ouvrez l\'application Google → Appuyez sur Profil → Paramètres → Assistant Google → Général → Désactivez « Assistant Google » s\'il continue d\'interférer.</string>
<string name="refresh_binding_title">Actualiser la liaison</string>
<string name="refresh_binding_desc">Si l\'état est « Actif » mais que cela ne fonctionne toujours pas, essayez de remplacer « Application d\'assistant numérique » par « Aucun », puis revenez à « Agent Voice ».</string>
<string name="refresh_binding_desc">Si l\'état est « Actif » mais que cela ne fonctionne toujours pas, essayez de remplacer « Application d\'assistant numérique » par « Aucun », puis revenez à « WakeHermesClaw ».</string>
<string name="debug_force_start">Débogage : forcer le démarrage de la session</string>
<string name="connection">Connexion</string>
<string name="voice">Voix</string>
@@ -400,7 +400,7 @@ Pour plus de détails, consultez le site officiel de VOICEVOX.</string>
<string name="update_action">Mise à jour</string>
<string name="update_dismiss_action">Fermer</string>
<string name="setup_guide_first_run">PREMIÈRE EXÉCUTION</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">Étape %1$d de %2$d</string>
<string name="setup_guide_welcome_title">Ce que vous obtenez</string>
<string name="setup_guide_welcome_bullet_1">Contrôlez la passerelle et le chat de l\'opérateur depuis une seule surface mobile.</string>
@@ -575,9 +575,9 @@ Pour plus de détails, consultez le site officiel de VOICEVOX.</string>
<string name="action_show_api_key">Afficher la clé API</string>
<string name="action_refresh_agents">Actualiser les agents</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Configurer Agent Voice</string>
<string name="av_setup_welcome_title">Bienvenue dans Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">Configurer WakeHermesClaw</string>
<string name="av_setup_welcome_title">Bienvenue dans WakeHermesClaw</string>
<string name="av_setup_welcome_body">Un client vocal Android natif pour Hermes Agent et OpenClaw. Lancez le helper d\'appairage sur votre ordinateur, choisissez Hermes, OpenClaw et Tailscale, puis scannez un seul QR dans cette app.</string>
<string name="av_setup_choose_title">Quels backends allez-vous utiliser ?</string>
<string name="av_setup_choose_hint">Cochez-en au moins un. Vous pourrez en ajouter plus tard dans Paramètres → Backends.</string>
@@ -594,10 +594,10 @@ Pour plus de détails, consultez le site officiel de VOICEVOX.</string>
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP. Le même helper détecte OpenClaw et ajoute son setup code au QR partagé.</string>
<string name="av_backend_open_openclaw_setup">Ouvrir la configuration OpenClaw</string>
<string name="av_hermes_card_title">Agent Voice · configuration avec un QR</string>
<string name="av_hermes_card_step1">1. Sur la machine qui exécute Hermes/OpenClaw, installez le helper Agent Voice :</string>
<string name="av_hermes_card_title">WakeHermesClaw · configuration avec un QR</string>
<string name="av_hermes_card_step1">1. Sur la machine qui exécute Hermes/OpenClaw, installez le helper WakeHermesClaw :</string>
<string name="av_hermes_card_step2">2. Lancez lassistant. Il lit les réglages locaux Hermes/OpenClaw, détecte Tailscale, puis affiche un QR code :</string>
<string name="av_hermes_card_step3">3. Scannez ce QR dans Agent Voice. Si Hermes et OpenClaw sont inclus, les deux configurations sont appliquées ensemble.</string>
<string name="av_hermes_card_step3">3. Scannez ce QR dans WakeHermesClaw. Si Hermes et OpenClaw sont inclus, les deux configurations sont appliquées ensemble.</string>
<string name="av_hermes_card_note">Pour l\'utiliser hors de chez vous, répondez oui à la question Tailscale/VPN afin d\'inclure les candidats LAN + Tailscale dans le QR.</string>
<string name="av_openclaw_card_title">OpenClaw · scannez un QR depuis votre serveur</string>
@@ -636,7 +636,7 @@ Pour plus de détails, consultez le site officiel de VOICEVOX.</string>
<string name="av_bridge_play_warning">Cette version est destinée à Play : Pont d\'accessibilité et SMS sont masqués.</string>
<string name="av_selfcheck_title">Diagnostic</string>
<string name="av_selfcheck_intro">État de santé d\'Agent Voice. Tapez « Relancer » après avoir corrigé un point ci-dessous.</string>
<string name="av_selfcheck_intro">État de santé d\'WakeHermesClaw. Tapez « Relancer » après avoir corrigé un point ci-dessous.</string>
<string name="av_selfcheck_rerun">Relancer</string>
<string name="av_selfcheck_backends_configured">Backends configurés</string>
<string name="av_selfcheck_backends_none">Aucun. Ajoutez-en un dans Backends.</string>
@@ -687,11 +687,11 @@ Pour plus de détails, consultez le site officiel de VOICEVOX.</string>
<string name="av_connection_testing">Test…</string>
<string name="av_chat_no_backend">Aucun backend</string>
<string name="av_chat_primary_target">Principal : %1$s</string>
<string name="av_import_title">Ajouter des backends Agent Voice</string>
<string name="av_import_title">Ajouter des backends WakeHermesClaw</string>
<string name="av_import_missing">Ce QR d\'appairage ne contient pas les informations requises.</string>
<string name="av_import_close">Fermer</string>
<string name="av_import_review">Vérifiez les réglages trouvés dans le QR avant de les enregistrer.</string>
<string name="av_import_add_open">Ajouter et ouvrir Agent Voice</string>
<string name="av_import_add_open">Ajouter et ouvrir WakeHermesClaw</string>
<string name="av_import_no_hermes">Ce QR ne contient aucun backend Hermes.</string>
<string name="av_import_test_hermes">Tester la connexion Hermes</string>
<string name="av_import_test_openclaw">Tester la connexion OpenClaw</string>
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">जागो वर्ड सर्विस</string>
<string name="notification_channel_description">हमेशा चालू रहने वाली ध्वनि पहचान सेवा</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">सक्रिय करने के लिए \"%s\" कहें</string>
<string name="default_session_title_format">ध्वनि सत्र %s</string>
<string name="chat_session_title_format">चैट %s</string>
@@ -48,7 +48,7 @@
<string name="processing">प्रसंस्करण…</string>
<string name="error_label">गलती</string>
<string name="try_again_button">पुनः प्रयास करें</string>
<string name="ask_hint">Agent Voice से पूछें...</string>
<string name="ask_hint">WakeHermesClaw से पूछें...</string>
<string name="send_description">भेजना</string>
<string name="stop_description">रुकना</string>
<string name="start_listening_description">सुनना शुरू करें</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">Google ऐप सेटिंग</string>
<string name="google_app_setting_desc">Google ऐप खोलें → प्रोफ़ाइल → सेटिंग्स → Google Assistant → सामान्य → अगर यह अभी भी हस्तक्षेप करता है तो \'Google Assistant\' को बंद कर दें।</string>
<string name="refresh_binding_title">रिफ्रेश बाइंडिंग</string>
<string name="refresh_binding_desc">यदि स्थिति \'सक्रिय\' है लेकिन यह अभी भी काम नहीं करेगा, तो \'डिजिटल असिस्टेंट ऐप\' को \'कोई नहीं\' में बदलने का प्रयास करें और फिर वापस \'Agent Voice\' पर जाएं।</string>
<string name="refresh_binding_desc">यदि स्थिति \'सक्रिय\' है लेकिन यह अभी भी काम नहीं करेगा, तो \'डिजिटल असिस्टेंट ऐप\' को \'कोई नहीं\' में बदलने का प्रयास करें और फिर वापस \'WakeHermesClaw\' पर जाएं।</string>
<string name="debug_force_start">डीबग: बलपूर्वक प्रारंभ सत्र</string>
<string name="connection">संबंध</string>
<string name="voice">आवाज़</string>
@@ -400,7 +400,7 @@
<string name="update_action">अद्यतन</string>
<string name="update_dismiss_action">बंद करें</string>
<string name="setup_guide_first_run">पहली दौड़</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">%2$d का चरण %1$d</string>
<string name="setup_guide_welcome_title">आपको क्या मिलता है</string>
<string name="setup_guide_welcome_bullet_1">एक मोबाइल सतह से गेटवे और ऑपरेटर चैट को नियंत्रित करें।</string>
@@ -575,9 +575,9 @@
<string name="action_show_api_key">API कुंजी दिखाएं</string>
<string name="action_refresh_agents">एजेंट अपडेट करें</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Agent Voice सेट करें</string>
<string name="av_setup_welcome_title">Agent Voice में आपका स्वागत है</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">WakeHermesClaw सेट करें</string>
<string name="av_setup_welcome_title">WakeHermesClaw में आपका स्वागत है</string>
<string name="av_setup_welcome_body">Hermes Agent और OpenClaw के लिए Android नेटिव वॉइस क्लाइंट। कंप्यूटर पर pairing helper चलाएँ, Hermes, OpenClaw और Tailscale को शामिल करना है या नहीं चुनें, फिर इस ऐप में एक QR स्कैन करें।</string>
<string name="av_setup_choose_title">कौन-कौन से बैकएंड उपयोग करेंगे?</string>
<string name="av_setup_choose_hint">कम से कम एक चुनें। बाद में «सेटिंग्स → Backends» से और जोड़ सकते हैं।</string>
@@ -594,10 +594,10 @@
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP। वही helper OpenClaw को पहचानता है और उसके setup code को साझा QR में जोड़ता है।</string>
<string name="av_backend_open_openclaw_setup">OpenClaw सेटअप खोलें</string>
<string name="av_hermes_card_title">Agent Voice · एक QR से सेटअप</string>
<string name="av_hermes_card_step1">1. Hermes/OpenClaw चलाने वाली मशीन पर Agent Voice pairing helper इंस्टॉल करें:</string>
<string name="av_hermes_card_title">WakeHermesClaw · एक QR से सेटअप</string>
<string name="av_hermes_card_step1">1. Hermes/OpenClaw चलाने वाली मशीन पर WakeHermesClaw pairing helper इंस्टॉल करें:</string>
<string name="av_hermes_card_step2">2. helper चलाएँ। यह स्थानीय Hermes/OpenClaw सेटिंग पढ़ेगा, Tailscale का पता लगाएगा और एक QR दिखाएगा:</string>
<string name="av_hermes_card_step3">3. उस QR को Agent Voice में स्कैन करें। यदि Hermes और OpenClaw दोनों शामिल हैं, तो दोनों सेटिंग एक साथ लागू होंगी।</string>
<string name="av_hermes_card_step3">3. उस QR को WakeHermesClaw में स्कैन करें। यदि Hermes और OpenClaw दोनों शामिल हैं, तो दोनों सेटिंग एक साथ लागू होंगी।</string>
<string name="av_hermes_card_note">घर से बाहर उपयोग के लिए Tailscale/VPN वाले सवाल में हाँ चुनें, ताकि QR में LAN + Tailscale endpoint candidates शामिल हों।</string>
<string name="av_openclaw_card_title">OpenClaw · सर्वर से QR स्कैन करें</string>
@@ -636,7 +636,7 @@
<string name="av_bridge_play_warning">यह बिल्ड Play वितरण के लिए कॉन्फ़िगर है: सुलभता ब्रिज और SMS छिपे हैं।</string>
<string name="av_selfcheck_title">स्व-जाँच</string>
<string name="av_selfcheck_intro">Agent Voice की स्थिति का स्नैपशॉट। नीचे के किसी मुद्दे को ठीक करने के बाद «पुनः चलाएँ» दबाएँ।</string>
<string name="av_selfcheck_intro">WakeHermesClaw की स्थिति का स्नैपशॉट। नीचे के किसी मुद्दे को ठीक करने के बाद «पुनः चलाएँ» दबाएँ।</string>
<string name="av_selfcheck_rerun">पुनः चलाएँ</string>
<string name="av_selfcheck_backends_configured">बैकएंड कॉन्फ़िगर किए गए</string>
<string name="av_selfcheck_backends_none">कोई नहीं। Backends में एक जोड़ें।</string>
@@ -687,11 +687,11 @@
<string name="av_connection_testing">टेस्ट हो रहा है...</string>
<string name="av_chat_no_backend">कोई बैकएंड नहीं</string>
<string name="av_chat_primary_target">प्राथमिक: %1$s</string>
<string name="av_import_title">Agent Voice बैकएंड जोड़ें</string>
<string name="av_import_title">WakeHermesClaw बैकएंड जोड़ें</string>
<string name="av_import_missing">इस pairing QR में जरूरी जानकारी नहीं है.</string>
<string name="av_import_close">बंद करें</string>
<string name="av_import_review">सेव करने से पहले QR से मिली सेटिंग्स देखें.</string>
<string name="av_import_add_open">जोड़ें और Agent Voice खोलें</string>
<string name="av_import_add_open">जोड़ें और WakeHermesClaw खोलें</string>
<string name="av_import_no_hermes">इस QR में Hermes backend नहीं है.</string>
<string name="av_import_test_hermes">Hermes कनेक्शन टेस्ट करें</string>
<string name="av_import_test_openclaw">OpenClaw कनेक्शन टेस्ट करें</string>
+20 -20
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">ホットワードサービス</string>
<string name="notification_channel_description">常時音声検知サービス</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">「%s」と話しかけてください</string>
<string name="default_session_title_format">音声セッション %s</string>
<string name="chat_session_title_format">チャット %s</string>
@@ -61,7 +61,7 @@
<string name="processing">処理中…</string>
<string name="error_label">エラー</string>
<string name="try_again_button">もう一度試す</string>
<string name="ask_hint">Agent Voiceに質問…</string>
<string name="ask_hint">WakeHermesClawに質問…</string>
<string name="send_description">送信</string>
<string name="stop_description">停止</string>
<string name="start_listening_description">聴き始める</string>
@@ -105,7 +105,7 @@
<string name="google_app_setting_title">Googleアプリの設定</string>
<string name="google_app_setting_desc">Googleアプリを開く → プロフィールをタップ → 設定 → Googleアシスタント → 一般 → 干渉が続く場合は「Googleアシスタント」をオフにする</string>
<string name="refresh_binding_title">バインドの更新</string>
<string name="refresh_binding_desc">ステータスが「有効」なのに動作しない場合、「デジタルアシスタントアプリ」を「なし」に変更してから「Agent Voice」に戻してみてください。</string>
<string name="refresh_binding_desc">ステータスが「有効」なのに動作しない場合、「デジタルアシスタントアプリ」を「なし」に変更してから「WakeHermesClaw」に戻してみてください。</string>
<string name="debug_force_start">デバッグ: 強制セッション開始</string>
<string name="connection">接続</string>
<string name="voice">音声</string>
@@ -415,7 +415,7 @@
<string name="update_action">更新</string>
<string name="update_dismiss_action">閉じる</string>
<string name="setup_guide_first_run">初回起動</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">ステップ %1$d / %2$d</string>
<string name="setup_guide_welcome_title">できること</string>
<string name="setup_guide_welcome_bullet_1">OpenClaw と Hermes Agent を同じネイティブ音声クライアントから使えます。</string>
@@ -444,10 +444,10 @@
<string name="setup_guide_finish">完了</string>
<string name="setup_guide_next">次へ</string>
<string name="setup_guide_next_after_qr">先にQRを読み取ってください</string>
<string name="setup_guide_connection_waiting">まだバックエンドが取り込まれていません。helperが表示するAgent Voice QRを読み取ってください。</string>
<string name="setup_guide_connection_waiting">まだバックエンドが取り込まれていません。helperが表示するWakeHermesClaw QRを読み取ってください。</string>
<string name="setup_guide_connection_ready">%1$d個のバックエンドを取り込みました。権限設定へ進めます。</string>
<string name="setup_guide_configured_backends">%1$d件設定済み</string>
<string name="setup_guide_no_backends_yet">バックエンドがまだ設定されていません。戻ってAgent Voice QRを読み取ってください。</string>
<string name="setup_guide_no_backends_yet">バックエンドがまだ設定されていません。戻ってWakeHermesClaw QRを読み取ってください。</string>
<string name="setup_guide_invalid_code">セットアップコードが無効です。</string>
<string name="setup_guide_invalid_url">GatewayのURLが無効です。</string>
<string name="http_use_gateway_url">GatewayのURLを使用</string>
@@ -601,9 +601,9 @@
<string name="action_show_api_key">APIキーを表示</string>
<string name="action_refresh_agents">エージェントを更新</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Agent Voice のセットアップ</string>
<string name="av_setup_welcome_title">Agent Voice へようこそ</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">WakeHermesClaw のセットアップ</string>
<string name="av_setup_welcome_title">WakeHermesClaw へようこそ</string>
<string name="av_setup_welcome_body">Hermes Agent と OpenClaw に対応した Android ネイティブ音声クライアントです。PC側のペアリングhelperでHermes、OpenClaw、Tailscaleを含めるか選び、最後に出る1つのQRをこのアプリ内で読み取れば完了します。</string>
<string name="av_setup_choose_title">どの backend を使いますか?</string>
<string name="av_setup_choose_hint">最低 1 つ選んでください。後から「設定 → Backends」で追加もできます。</string>
@@ -621,29 +621,29 @@
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP。同じhelperがOpenClawを検出し、setup codeを共通QRに含めます。</string>
<string name="av_backend_open_openclaw_setup">OpenClaw のセットアップを開く</string>
<string name="av_pairing_card_title">1つのQRでAgent Voiceをセットアップ</string>
<string name="av_pairing_card_title">1つのQRでWakeHermesClawをセットアップ</string>
<string name="av_setup_scope_both">Hermes Agent と OpenClaw を1つのQRにまとめます。</string>
<string name="av_setup_scope_hermes">Hermes Agent だけをQRに含めます。</string>
<string name="av_setup_scope_openclaw">OpenClaw だけをQRに含めます。</string>
<string name="av_pairing_card_step1">1. Hermes または OpenClaw を動かしているPCで、Agent Voiceのペアリングhelperをインストールします。</string>
<string name="av_pairing_card_step1">1. Hermes または OpenClaw を動かしているPCで、WakeHermesClawのペアリングhelperをインストールします。</string>
<string name="av_pairing_card_step2">2. helperを実行します。ローカルのHermes/OpenClaw設定を読み取り、Tailscaleを検出し、スマホが同じLAN/VPNにいない場合は一時公開トンネルも使います。</string>
<string name="av_pairing_card_step3">3. Agent Voice内でQRを読み取ります。QRに含まれるbackendがまとめて保存されます。</string>
<string name="av_pairing_card_step3">3. WakeHermesClaw内でQRを読み取ります。QRに含まれるbackendがまとめて保存されます。</string>
<string name="av_pairing_card_note">公開トンネルはセットアップ用の一時URLです。普段使いはTailscale/VPNまたは信頼できるLANを推奨します。</string>
<string name="av_pairing_scan_qr">ペアリングQRを読み取る</string>
<string name="av_setup_copy_command">コマンドをコピー</string>
<string name="av_setup_command_copied">コマンドをコピーしました</string>
<string name="av_hermes_card_title">Agent Voice · 1つのQRでセットアップ</string>
<string name="av_hermes_card_step1">1. Hermes/OpenClaw を動かしているマシンでAgent Voiceのペアリングhelperをインストール:</string>
<string name="av_hermes_card_title">WakeHermesClaw · 1つのQRでセットアップ</string>
<string name="av_hermes_card_step1">1. Hermes/OpenClaw を動かしているマシンでWakeHermesClawのペアリングhelperをインストール:</string>
<string name="av_hermes_card_step2">2. helperを実行します。ローカルのHermes/OpenClaw設定を読み取り、Tailscaleを検出して、1つのQRを表示します:</string>
<string name="av_hermes_card_step3">3. Agent Voice内でQRを読み取ります。HermesとOpenClawを両方含めた場合は、両方の設定がまとめて適用されます。</string>
<string name="av_hermes_card_step3">3. WakeHermesClaw内でQRを読み取ります。HermesとOpenClawを両方含めた場合は、両方の設定がまとめて適用されます。</string>
<string name="av_hermes_card_note">外出先でも使う場合は、Tailscale/VPNを含める質問で「はい」を選んでください。LAN + Tailscale候補をQRに入れられます。</string>
<string name="av_hermes_use_runs_api">Runs API を使う</string>
<string name="av_hermes_stream_responses">レスポンスをストリーミングする</string>
<string name="av_openclaw_card_title">OpenClaw · QRでペアリング</string>
<string name="av_openclaw_card_step1">1. OpenClawサーバーでセットアップQRを表示します:</string>
<string name="av_openclaw_card_step2">2. Agent Voice内でQRを読み取ります。Gatewayペアリング、TLS信頼、agent discovery はOpenClawが処理します。</string>
<string name="av_openclaw_card_step2">2. WakeHermesClaw内でQRを読み取ります。Gatewayペアリング、TLS信頼、agent discovery はOpenClawが処理します。</string>
<string name="av_backends_test">接続テスト</string>
<string name="av_backends_edit">編集</string>
@@ -677,7 +677,7 @@
<string name="av_bridge_play_warning">このビルドは Play 配布向けのため、Accessibility Bridge と SMS は無効化されています。</string>
<string name="av_selfcheck_title">セルフチェック</string>
<string name="av_selfcheck_intro">Agent Voice の状態スナップショットです。問題を解消したら「再実行」を押してください。</string>
<string name="av_selfcheck_intro">WakeHermesClaw の状態スナップショットです。問題を解消したら「再実行」を押してください。</string>
<string name="av_selfcheck_rerun">再実行</string>
<string name="av_selfcheck_backends_configured">接続先の設定</string>
<string name="av_selfcheck_backends_none">未設定です。Backends から追加してください。</string>
@@ -735,11 +735,11 @@
<string name="chat_settings_hermes_model">Hermesモデル</string>
<string name="chat_settings_hermes_model_help">通常は default のままで問題ありません。Hermesのプロファイルやモデルを指定する場合だけ変更します。</string>
<string name="av_import_title">Agent Voice の接続先を追加</string>
<string name="av_import_title">WakeHermesClaw の接続先を追加</string>
<string name="av_import_missing">このペアリングQRには必要な情報がありません。</string>
<string name="av_import_close">閉じる</string>
<string name="av_import_review">保存する前に、QRから読み取った設定を確認してください。</string>
<string name="av_import_add_open">追加してAgent Voiceを開く</string>
<string name="av_import_add_open">追加してWakeHermesClawを開く</string>
<string name="av_import_no_hermes">このQRにHermes接続先は含まれていません。</string>
<string name="av_import_test_hermes">Hermes接続をテスト</string>
<string name="av_import_test_openclaw">OpenClaw接続をテスト</string>
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">Служба Wake Word</string>
<string name="notification_channel_description">Постоянная служба распознавания голоса</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">Скажите «%s», чтобы активировать</string>
<string name="default_session_title_format">Голосовая сессия %s</string>
<string name="chat_session_title_format">Чат %s</string>
@@ -48,7 +48,7 @@
<string name="processing">Обработка…</string>
<string name="error_label">Ошибка</string>
<string name="try_again_button">Попробуйте еще раз</string>
<string name="ask_hint">Спросите Agent Voice</string>
<string name="ask_hint">Спросите WakeHermesClaw</string>
<string name="send_description">Отправить</string>
<string name="stop_description">Стоп</string>
<string name="start_listening_description">Начать прослушивание</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">Настройка приложения Google</string>
<string name="google_app_setting_desc">Откройте приложение Google → нажмите «Профиль» → «Настройки» → «Google Ассистент» → «Основные» → выключите «Google Ассистент», если он все еще мешает.</string>
<string name="refresh_binding_title">Обновить привязку</string>
<string name="refresh_binding_desc">Если статус «Активный», но он по-прежнему не работает, попробуйте изменить «Приложение цифрового помощника» на «Нет», а затем вернуться к «Agent Voice».</string>
<string name="refresh_binding_desc">Если статус «Активный», но он по-прежнему не работает, попробуйте изменить «Приложение цифрового помощника» на «Нет», а затем вернуться к «WakeHermesClaw».</string>
<string name="debug_force_start">Отладка: Принудительный запуск сеанса</string>
<string name="connection">Связь</string>
<string name="voice">Голос</string>
@@ -400,7 +400,7 @@
<string name="update_action">Обновление</string>
<string name="update_dismiss_action">Закрыть</string>
<string name="setup_guide_first_run">ПЕРВЫЙ ЗАПУСК</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">Шаг %1$d из %2$d</string>
<string name="setup_guide_welcome_title">Что вы получаете</string>
<string name="setup_guide_welcome_bullet_1">Управляйте шлюзом и чатом оператора с одной мобильной поверхности.</string>
@@ -575,9 +575,9 @@
<string name="action_show_api_key">Показать ключ API</string>
<string name="action_refresh_agents">Обновить агентов</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Настройка Agent Voice</string>
<string name="av_setup_welcome_title">Добро пожаловать в Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">Настройка WakeHermesClaw</string>
<string name="av_setup_welcome_title">Добро пожаловать в WakeHermesClaw</string>
<string name="av_setup_welcome_body">Нативный голосовой клиент Android для Hermes Agent и OpenClaw. Запустите helper сопряжения на компьютере, выберите Hermes, OpenClaw и Tailscale, затем отсканируйте один QR в этом приложении.</string>
<string name="av_setup_choose_title">Какие бэкенды вы будете использовать?</string>
<string name="av_setup_choose_hint">Выберите хотя бы один. Позже можно добавить ещё в «Настройки → Backends».</string>
@@ -594,10 +594,10 @@
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP. Тот же helper обнаруживает OpenClaw и добавляет setup code в общий QR.</string>
<string name="av_backend_open_openclaw_setup">Открыть настройку OpenClaw</string>
<string name="av_hermes_card_title">Agent Voice · настройка одним QR</string>
<string name="av_hermes_card_step1">1. На машине с Hermes/OpenClaw установите helper Agent Voice:</string>
<string name="av_hermes_card_title">WakeHermesClaw · настройка одним QR</string>
<string name="av_hermes_card_step1">1. На машине с Hermes/OpenClaw установите helper WakeHermesClaw:</string>
<string name="av_hermes_card_step2">2. Запустите helper. Он прочитает локальные настройки Hermes/OpenClaw, обнаружит Tailscale и покажет один QR:</string>
<string name="av_hermes_card_step3">3. Отсканируйте этот QR в Agent Voice. Если включены Hermes и OpenClaw, обе настройки применяются вместе.</string>
<string name="av_hermes_card_step3">3. Отсканируйте этот QR в WakeHermesClaw. Если включены Hermes и OpenClaw, обе настройки применяются вместе.</string>
<string name="av_hermes_card_note">Для использования вне дома ответьте да на вопрос Tailscale/VPN, чтобы QR включал LAN + Tailscale endpoints.</string>
<string name="av_openclaw_card_title">OpenClaw · отсканируйте QR с сервера</string>
@@ -636,7 +636,7 @@
<string name="av_bridge_play_warning">Эта сборка предназначена для Play: мост спецвозможностей и SMS скрыты.</string>
<string name="av_selfcheck_title">Самопроверка</string>
<string name="av_selfcheck_intro">Снимок состояния Agent Voice. После исправления нажмите «Повторить».</string>
<string name="av_selfcheck_intro">Снимок состояния WakeHermesClaw. После исправления нажмите «Повторить».</string>
<string name="av_selfcheck_rerun">Повторить</string>
<string name="av_selfcheck_backends_configured">Бэкенды настроены</string>
<string name="av_selfcheck_backends_none">Нет. Добавьте один в Backends.</string>
@@ -687,11 +687,11 @@
<string name="av_connection_testing">Проверка…</string>
<string name="av_chat_no_backend">Нет бэкенда</string>
<string name="av_chat_primary_target">Основной: %1$s</string>
<string name="av_import_title">Добавить backends Agent Voice</string>
<string name="av_import_title">Добавить backends WakeHermesClaw</string>
<string name="av_import_missing">В этом QR для сопряжения нет обязательных данных.</string>
<string name="av_import_close">Закрыть</string>
<string name="av_import_review">Проверьте настройки из QR перед сохранением.</string>
<string name="av_import_add_open">Добавить и открыть Agent Voice</string>
<string name="av_import_add_open">Добавить и открыть WakeHermesClaw</string>
<string name="av_import_no_hermes">В этом QR нет backend Hermes.</string>
<string name="av_import_test_hermes">Проверить подключение Hermes</string>
<string name="av_import_test_openclaw">Проверить подключение OpenClaw</string>
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">唤醒词服务</string>
<string name="notification_channel_description">始终开启的语音检测服务</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">说“%s”即可激活</string>
<string name="default_session_title_format">语音会话 %s</string>
<string name="chat_session_title_format">聊天 %s</string>
@@ -48,7 +48,7 @@
<string name="processing">处理中…</string>
<string name="error_label">错误</string>
<string name="try_again_button">重试</string>
<string name="ask_hint">询问 Agent Voice...</string>
<string name="ask_hint">询问 WakeHermesClaw...</string>
<string name="send_description">发送</string>
<string name="stop_description">停止</string>
<string name="start_listening_description">开始聆听</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">Google 应用程序设置</string>
<string name="google_app_setting_desc">打开 Google 应用程序 → 点击个人资料 → 设置 → Google Assistant → 常规 → 如果“Google Assistant”仍然干扰,请将其关闭。</string>
<string name="refresh_binding_title">刷新绑定</string>
<string name="refresh_binding_desc">如果状态为“活动”但仍无法正常工作,请尝试将“数字助理应用程序”更改为“无”,然后返回“Agent Voice”。</string>
<string name="refresh_binding_desc">如果状态为“活动”但仍无法正常工作,请尝试将“数字助理应用程序”更改为“无”,然后返回“WakeHermesClaw”。</string>
<string name="debug_force_start">调试:强制启动会话</string>
<string name="connection">连接</string>
<string name="voice">语音</string>
@@ -400,7 +400,7 @@
<string name="update_action">更新</string>
<string name="update_dismiss_action">关闭</string>
<string name="setup_guide_first_run">首次运行</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">%2$d 的步骤 %1$d</string>
<string name="setup_guide_welcome_title">您得到什么</string>
<string name="setup_guide_welcome_bullet_1">从一个移动表面控制网关和操作员聊天。</string>
@@ -575,9 +575,9 @@
<string name="action_show_api_key">显示 API 密钥</string>
<string name="action_refresh_agents">刷新代理</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">设置 Agent Voice</string>
<string name="av_setup_welcome_title">欢迎使用 Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">设置 WakeHermesClaw</string>
<string name="av_setup_welcome_title">欢迎使用 WakeHermesClaw</string>
<string name="av_setup_welcome_body">支持 Hermes Agent 和 OpenClaw 的 Android 原生语音客户端。在电脑上运行配对 helper,选择是否包含 Hermes、OpenClaw 和 Tailscale,然后在本应用内扫描一个 QR 即可完成。</string>
<string name="av_setup_choose_title">使用哪些后端?</string>
<string name="av_setup_choose_hint">至少选择一个。之后可在「设置 → Backends」中添加更多。</string>
@@ -594,10 +594,10 @@
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP。同一个 helper 会检测 OpenClaw,并把 setup code 加入共享 QR。</string>
<string name="av_backend_open_openclaw_setup">打开 OpenClaw 设置</string>
<string name="av_hermes_card_title">Agent Voice · 一个 QR 完成设置</string>
<string name="av_hermes_card_step1">1. 在运行 Hermes/OpenClaw 的机器上安装 Agent Voice 配对 helper:</string>
<string name="av_hermes_card_title">WakeHermesClaw · 一个 QR 完成设置</string>
<string name="av_hermes_card_step1">1. 在运行 Hermes/OpenClaw 的机器上安装 WakeHermesClaw 配对 helper:</string>
<string name="av_hermes_card_step2">2. 运行 helper。它会读取本机 Hermes/OpenClaw 设置,检测 Tailscale,然后显示一个 QR:</string>
<string name="av_hermes_card_step3">3. 在 Agent Voice 内扫描这个 QR。若同时包含 Hermes 和 OpenClaw,两者设置会一起应用。</string>
<string name="av_hermes_card_step3">3. 在 WakeHermesClaw 内扫描这个 QR。若同时包含 Hermes 和 OpenClaw,两者设置会一起应用。</string>
<string name="av_hermes_card_note">如果要在外出时使用,请在 Tailscale/VPN 提问中选择“是”,让 QR 包含 LAN + Tailscale 候选地址。</string>
<string name="av_openclaw_card_title">OpenClaw · 扫描服务器上的 QR</string>
@@ -636,7 +636,7 @@
<string name="av_bridge_play_warning">此构建针对 Play 发行,Accessibility Bridge 与 SMS 已隐藏。</string>
<string name="av_selfcheck_title">自检</string>
<string name="av_selfcheck_intro">Agent Voice 状态快照。修复问题后请点击「重新运行」。</string>
<string name="av_selfcheck_intro">WakeHermesClaw 状态快照。修复问题后请点击「重新运行」。</string>
<string name="av_selfcheck_rerun">重新运行</string>
<string name="av_selfcheck_backends_configured">已配置后端</string>
<string name="av_selfcheck_backends_none">无。请在 Backends 中添加一个。</string>
@@ -687,11 +687,11 @@
<string name="av_connection_testing">测试中...</string>
<string name="av_chat_no_backend">无后端</string>
<string name="av_chat_primary_target">主用:%1$s</string>
<string name="av_import_title">添加 Agent Voice 后端</string>
<string name="av_import_title">添加 WakeHermesClaw 后端</string>
<string name="av_import_missing">此配对 QR 缺少必要信息。</string>
<string name="av_import_close">关闭</string>
<string name="av_import_review">保存前请检查 QR 中读取到的设置。</string>
<string name="av_import_add_open">添加并打开 Agent Voice</string>
<string name="av_import_add_open">添加并打开 WakeHermesClaw</string>
<string name="av_import_no_hermes">此 QR 不包含 Hermes 后端。</string>
<string name="av_import_test_hermes">测试 Hermes 连接</string>
<string name="av_import_test_openclaw">测试 OpenClaw 连接</string>
+14 -14
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">喚醒詞服務</string>
<string name="notification_channel_description">始終在線的語音檢測服務</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="notification_content">說「%s」即可激活</string>
<string name="default_session_title_format">語音會話 %s</string>
<string name="chat_session_title_format">聊天 %s</string>
@@ -48,7 +48,7 @@
<string name="processing">加工…</string>
<string name="error_label">錯誤</string>
<string name="try_again_button">再試一次</string>
<string name="ask_hint">詢問 Agent Voice...</string>
<string name="ask_hint">詢問 WakeHermesClaw...</string>
<string name="send_description">傳送</string>
<string name="stop_description">停止</string>
<string name="start_listening_description">開始聆聽</string>
@@ -92,7 +92,7 @@
<string name="google_app_setting_title">谷歌應用程式設定</string>
<string name="google_app_setting_desc">開啟 Google 應用程式 → 點擊個人資料 → 設定 → Google Assistant → 常規 → 如果「Google Assistant」仍然有乾擾,請關閉它。</string>
<string name="refresh_binding_title">刷新綁定</string>
<string name="refresh_binding_desc">如果狀態為“活動”但仍然無法運作,請嘗試將“數位助理應用程式”變更為“無”,然後返回“Agent Voice”。</string>
<string name="refresh_binding_desc">如果狀態為“活動”但仍然無法運作,請嘗試將“數位助理應用程式”變更為“無”,然後返回“WakeHermesClaw”。</string>
<string name="debug_force_start">調試:強制啟動會話</string>
<string name="connection">聯繫</string>
<string name="voice">嗓音</string>
@@ -399,7 +399,7 @@
<string name="update_action">更新</string>
<string name="update_dismiss_action">關閉</string>
<string name="setup_guide_first_run">第一次運行</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">%2$d 的步驟 %1$d</string>
<string name="setup_guide_welcome_title">你得到什麼</string>
<string name="setup_guide_welcome_bullet_1">從一個移動表面控制網關和操作員聊天。</string>
@@ -574,9 +574,9 @@
<string name="action_show_api_key">顯示 API 金鑰</string>
<string name="action_refresh_agents">重新整理代理程式</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">設定 Agent Voice</string>
<string name="av_setup_welcome_title">歡迎使用 Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">設定 WakeHermesClaw</string>
<string name="av_setup_welcome_title">歡迎使用 WakeHermesClaw</string>
<string name="av_setup_welcome_body">支援 Hermes Agent 與 OpenClaw 的 Android 原生語音用戶端。在電腦上執行配對 helper,選擇是否包含 Hermes、OpenClaw 與 Tailscale,最後在本 App 內掃描一個 QR 即可完成。</string>
<string name="av_setup_choose_title">使用哪些後端?</string>
<string name="av_setup_choose_hint">至少選擇一個。稍後可從「設定 → Backends」新增。</string>
@@ -593,10 +593,10 @@
<string name="av_backend_openclaw_subtitle">OpenClaw Gateway / HTTP。同一個 helper 會偵測 OpenClaw,並把 setup code 加入共用 QR。</string>
<string name="av_backend_open_openclaw_setup">開啟 OpenClaw 設定</string>
<string name="av_hermes_card_title">Agent Voice · 一個 QR 完成設定</string>
<string name="av_hermes_card_step1">1. 在執行 Hermes/OpenClaw 的機器上安裝 Agent Voice 配對 helper:</string>
<string name="av_hermes_card_title">WakeHermesClaw · 一個 QR 完成設定</string>
<string name="av_hermes_card_step1">1. 在執行 Hermes/OpenClaw 的機器上安裝 WakeHermesClaw 配對 helper:</string>
<string name="av_hermes_card_step2">2. 執行 helper。它會讀取本機 Hermes/OpenClaw 設定,偵測 Tailscale,然後顯示一個 QR:</string>
<string name="av_hermes_card_step3">3. 在 Agent Voice 內掃描這個 QR。若同時包含 Hermes 與 OpenClaw,兩者設定會一起套用。</string>
<string name="av_hermes_card_step3">3. 在 WakeHermesClaw 內掃描這個 QR。若同時包含 Hermes 與 OpenClaw,兩者設定會一起套用。</string>
<string name="av_hermes_card_note">若要在外出時使用,請在 Tailscale/VPN 提問中選擇「是」,讓 QR 包含 LAN + Tailscale 候選位址。</string>
<string name="av_openclaw_card_title">OpenClaw · 掃描伺服器上的 QR</string>
@@ -635,7 +635,7 @@
<string name="av_bridge_play_warning">此版本為 Play 發行版,Accessibility Bridge 與 SMS 已隱藏。</string>
<string name="av_selfcheck_title">自我檢查</string>
<string name="av_selfcheck_intro">Agent Voice 的狀態快照。修正問題後請點「重新執行」。</string>
<string name="av_selfcheck_intro">WakeHermesClaw 的狀態快照。修正問題後請點「重新執行」。</string>
<string name="av_selfcheck_rerun">重新執行</string>
<string name="av_selfcheck_backends_configured">已設定後端</string>
<string name="av_selfcheck_backends_none">無。請在 Backends 中新增一個。</string>
@@ -686,11 +686,11 @@
<string name="av_connection_testing">測試中...</string>
<string name="av_chat_no_backend">無後端</string>
<string name="av_chat_primary_target">主用:%1$s</string>
<string name="av_import_title">新增 Agent Voice 後端</string>
<string name="av_import_title">新增 WakeHermesClaw 後端</string>
<string name="av_import_missing">此配對 QR 缺少必要資訊。</string>
<string name="av_import_close">關閉</string>
<string name="av_import_review">儲存前請檢查 QR 中讀取到的設定。</string>
<string name="av_import_add_open">新增並開啟 Agent Voice</string>
<string name="av_import_add_open">新增並開啟 WakeHermesClaw</string>
<string name="av_import_no_hermes">此 QR 不包含 Hermes 後端。</string>
<string name="av_import_test_hermes">測試 Hermes 連線</string>
<string name="av_import_test_openclaw">測試 OpenClaw 連線</string>
+22 -22
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Agent Voice</string>
<string name="app_name">WakeHermesClaw</string>
<string name="notification_channel_name">Wake Word Service</string>
<string name="notification_channel_description">Always-on voice detection service</string>
<string name="notification_title">Agent Voice</string>
<string name="notification_title">WakeHermesClaw</string>
<string name="agent_voice_subtitle">Voice client for OpenClaw and Hermes Agent</string>
<string name="backends_title">Backends</string>
<string name="backends_empty">No backends configured yet</string>
@@ -15,12 +15,12 @@
<string name="bridge_token">Bridge token</string>
<string name="bridge_generate_token">Generate new token</string>
<string name="bridge_warning_lan">LAN bind exposes this device on the network. Use Tailscale or a trusted Wi-Fi.</string>
<string name="bridge_approval_required">Agent Voice action approval</string>
<string name="accessibility_bridge_description">Lets Agent Voice tap, swipe, type, and read on-screen content on behalf of a paired Hermes agent. Off by default. Every gesture requires an explicit, time-limited grant from you.</string>
<string name="bridge_approval_required">WakeHermesClaw action approval</string>
<string name="accessibility_bridge_description">Lets WakeHermesClaw tap, swipe, type, and read on-screen content on behalf of a paired Hermes agent. Off by default. Every gesture requires an explicit, time-limited grant from you.</string>
<!-- Agent Voice setup wizard -->
<string name="av_setup_title">Set up Agent Voice</string>
<string name="av_setup_welcome_title">Welcome to Agent Voice</string>
<!-- WakeHermesClaw setup wizard -->
<string name="av_setup_title">Set up WakeHermesClaw</string>
<string name="av_setup_welcome_title">Welcome to WakeHermesClaw</string>
<string name="av_setup_welcome_body">A native Android voice client for Hermes Agent and OpenClaw. Run the pairing helper on your computer, answer whether to include Hermes, OpenClaw, and Tailscale, then scan one QR in this app.</string>
<string name="av_setup_choose_title">Which backends will you use?</string>
<string name="av_setup_choose_hint">Tick at least one. You can add more later in Settings → Backends.</string>
@@ -40,23 +40,23 @@
<string name="av_backend_open_openclaw_setup">Open OpenClaw setup</string>
<!-- Unified pairing card -->
<string name="av_pairing_card_title">One QR sets up Agent Voice</string>
<string name="av_pairing_card_title">One QR sets up WakeHermesClaw</string>
<string name="av_setup_scope_both">Hermes Agent and OpenClaw will be included in one QR.</string>
<string name="av_setup_scope_hermes">Only Hermes Agent will be included in the QR.</string>
<string name="av_setup_scope_openclaw">Only OpenClaw will be included in the QR.</string>
<string name="av_pairing_card_step1">1. On the computer running Hermes or OpenClaw, install the Agent Voice pairing helper:</string>
<string name="av_pairing_card_step1">1. On the computer running Hermes or OpenClaw, install the WakeHermesClaw pairing helper:</string>
<string name="av_pairing_card_step2">2. Run the helper. It reads local Hermes/OpenClaw settings, detects Tailscale, and uses a temporary public tunnel when the phone is not on the same LAN/VPN:</string>
<string name="av_pairing_card_step3">3. Scan that QR inside Agent Voice. Included backends are saved together.</string>
<string name="av_pairing_card_step3">3. Scan that QR inside WakeHermesClaw. Included backends are saved together.</string>
<string name="av_pairing_card_note">The public tunnel is temporary and useful for setup from cellular networks. For daily use, prefer Tailscale/VPN or a trusted LAN.</string>
<string name="av_pairing_scan_qr">Scan pairing QR</string>
<string name="av_setup_copy_command">Copy command</string>
<string name="av_setup_command_copied">Command copied</string>
<!-- Hermes QR card -->
<string name="av_hermes_card_title">Agent Voice · one QR setup</string>
<string name="av_hermes_card_step1">1. On the machine running Hermes/OpenClaw, install the Agent Voice pairing helper:</string>
<string name="av_hermes_card_title">WakeHermesClaw · one QR setup</string>
<string name="av_hermes_card_step1">1. On the machine running Hermes/OpenClaw, install the WakeHermesClaw pairing helper:</string>
<string name="av_hermes_card_step2">2. Run the helper. It reads local Hermes/OpenClaw settings, detects Tailscale, and prints one QR:</string>
<string name="av_hermes_card_step3">3. Scan that QR in Agent Voice. Hermes and OpenClaw settings are applied together when both are included.</string>
<string name="av_hermes_card_step3">3. Scan that QR in WakeHermesClaw. Hermes and OpenClaw settings are applied together when both are included.</string>
<string name="av_hermes_card_note">For use away from home, answer yes to the Tailscale/VPN prompt so the QR includes LAN + Tailscale endpoint candidates.</string>
<string name="av_hermes_use_runs_api">Use Runs API</string>
<string name="av_hermes_stream_responses">Stream responses</string>
@@ -64,7 +64,7 @@
<!-- OpenClaw card -->
<string name="av_openclaw_card_title">OpenClaw · pair with QR</string>
<string name="av_openclaw_card_step1">1. On your OpenClaw server, print a setup QR:</string>
<string name="av_openclaw_card_step2">2. Scan it in Agent Voice. OpenClaw handles Gateway pairing, TLS trust, and agent discovery.</string>
<string name="av_openclaw_card_step2">2. Scan it in WakeHermesClaw. OpenClaw handles Gateway pairing, TLS trust, and agent discovery.</string>
<!-- Backend list -->
<string name="av_backends_test">Test connection</string>
@@ -101,7 +101,7 @@
<!-- Self-check -->
<string name="av_selfcheck_title">Self-check</string>
<string name="av_selfcheck_intro">Health snapshot of Agent Voice. Tap Re-run after fixing anything below.</string>
<string name="av_selfcheck_intro">Health snapshot of WakeHermesClaw. Tap Re-run after fixing anything below.</string>
<string name="av_selfcheck_rerun">Re-run</string>
<string name="av_selfcheck_backends_configured">Backends configured</string>
<string name="av_selfcheck_backends_none">None. Add one in Backends.</string>
@@ -163,11 +163,11 @@
<string name="chat_settings_hermes_model_help">Usually keep default. Change it only for a specific Hermes profile or model.</string>
<!-- Pairing import -->
<string name="av_import_title">Add Agent Voice backends</string>
<string name="av_import_title">Add WakeHermesClaw backends</string>
<string name="av_import_missing">This pairing QR is missing required information.</string>
<string name="av_import_close">Close</string>
<string name="av_import_review">Review the settings found in the QR before saving them.</string>
<string name="av_import_add_open">Add and open Agent Voice</string>
<string name="av_import_add_open">Add and open WakeHermesClaw</string>
<string name="av_import_no_hermes">No Hermes backend in this QR.</string>
<string name="av_import_test_hermes">Test Hermes connection</string>
<string name="av_import_test_openclaw">Test OpenClaw connection</string>
@@ -248,7 +248,7 @@
<string name="processing">Processing…</string>
<string name="error_label">Error</string>
<string name="try_again_button">Try again</string>
<string name="ask_hint">Ask Agent Voice</string>
<string name="ask_hint">Ask WakeHermesClaw</string>
<string name="send_description">Send</string>
<string name="stop_description">Stop</string>
<string name="start_listening_description">Start listening</string>
@@ -299,7 +299,7 @@
<string name="google_app_setting_title">Google App Setting</string>
<string name="google_app_setting_desc">Open Google App → Tap Profile → Settings → Google Assistant → General → Turn off \'Google Assistant\' if it still interferes.</string>
<string name="refresh_binding_title">Refresh Binding</string>
<string name="refresh_binding_desc">If status is \'Active\' but it still won\'t work, try changing \'Digital assistant app\' to \'None\' and then back to \'Agent Voice\'.</string>
<string name="refresh_binding_desc">If status is \'Active\' but it still won\'t work, try changing \'Digital assistant app\' to \'None\' and then back to \'WakeHermesClaw\'.</string>
<string name="debug_force_start">Debug: Force Start Session</string>
<!-- Settings Screen -->
@@ -674,7 +674,7 @@
<!-- Setup Guide -->
<string name="setup_guide_first_run">FIRST RUN</string>
<string name="setup_guide_title">Agent Voice\nfor Android</string>
<string name="setup_guide_title">WakeHermesClaw\nfor Android</string>
<string name="setup_guide_step_format">Step %1$d of %2$d</string>
<string name="setup_guide_welcome_title">What You Get</string>
<string name="setup_guide_welcome_bullet_1">Use OpenClaw and Hermes Agent from the same native voice client.</string>
@@ -703,10 +703,10 @@
<string name="setup_guide_finish">Finish</string>
<string name="setup_guide_next">Next</string>
<string name="setup_guide_next_after_qr">Scan QR first</string>
<string name="setup_guide_connection_waiting">No backend has been imported yet. Scan the Agent Voice QR generated by the helper.</string>
<string name="setup_guide_connection_waiting">No backend has been imported yet. Scan the WakeHermesClaw QR generated by the helper.</string>
<string name="setup_guide_connection_ready">%1$d backend(s) imported. Continue to permissions.</string>
<string name="setup_guide_configured_backends">%1$d configured</string>
<string name="setup_guide_no_backends_yet">No backend is configured yet. Go back and scan the Agent Voice QR.</string>
<string name="setup_guide_no_backends_yet">No backend is configured yet. Go back and scan the WakeHermesClaw QR.</string>
<string name="setup_guide_invalid_code">Invalid setup code.</string>
<string name="setup_guide_invalid_url">Invalid gateway URL.</string>
+6 -6
View File
@@ -1,7 +1,7 @@
# Agent Voice Mobile Bridge for Hermes
# WakeHermesClaw Mobile Bridge for Hermes
The **Mobile Bridge** is an optional, opt-in HTTP service exposed by the
Agent Voice for Android app. It lets Hermes Agent (or any other authenticated
WakeHermesClaw for Android app. It lets Hermes Agent (or any other authenticated
caller) invoke a curated set of on-device Android capabilities — listing
installed apps, reading the clipboard, getting device info, etc.
@@ -12,7 +12,7 @@ always in control of.
## Security model in one paragraph
The bridge is **disabled by default**. The user must flip it on inside
Agent Voice settings. When enabled, the app generates a 256-bit random
WakeHermesClaw settings. When enabled, the app generates a 256-bit random
**bridge token** that every request (except `/health`) must send as
`Authorization: Bearer <token>`. By default the server binds to
`127.0.0.1`, so only software running on the phone (an adb-forwarded
@@ -23,7 +23,7 @@ in `EncryptedSharedPreferences` and is **never written to logs**.
## Enabling the bridge
1. Open Agent Voice**Settings → Mobile Bridge**.
1. Open WakeHermesClaw**Settings → Mobile Bridge**.
2. Toggle **Enable Mobile Bridge**.
3. Pick a **bind mode**:
- **Local only** (default, recommended) — phone software only.
@@ -84,7 +84,7 @@ the train, or via Tailscale without reconfiguration.
### Accessibility Bridge
Sideload-only capability group `accessibility` (gated by
`BuildConfig.IS_SIDELOAD`). The user must enable the Agent Voice
`BuildConfig.IS_SIDELOAD`). The user must enable the WakeHermesClaw
Accessibility service in **Settings → Accessibility** before any of
`screen.tap`, `screen.swipe`, `screen.home`, `screen.back`, or
`screen.window.describe` appear in `/manifest`. The service has no
@@ -95,7 +95,7 @@ to it.
```bash
export BRIDGE=http://192.168.1.42:8787
export TOKEN=... # from the Agent Voice UI
export TOKEN=... # from the WakeHermesClaw UI
# Liveness
curl -s $BRIDGE/health
+7 -7
View File
@@ -1,6 +1,6 @@
# Agent Voice pairing helper
# WakeHermesClaw pairing helper
The fastest way to set up Agent Voice is to install the host-side helper, then
The fastest way to set up WakeHermesClaw is to install the host-side helper, then
scan the one QR it prints:
```bash
@@ -9,9 +9,9 @@ agentvoice-pair
```
The helper checks whether Hermes, OpenClaw, and Tailscale are installed locally,
asks which backends to include, and creates one Agent Voice setup QR. If the QR
asks which backends to include, and creates one WakeHermesClaw setup QR. If the QR
is too large for the current terminal, it opens a generated SVG QR image instead
of printing an unreadable terminal block. Scanning that single QR in Agent Voice
of printing an unreadable terminal block. Scanning that single QR in WakeHermesClaw
can configure both Hermes and OpenClaw.
If you want the phone to work outside your LAN, answer yes when it asks about
Tailscale/VPN endpoint candidates.
@@ -20,7 +20,7 @@ Tailscale/VPN endpoint candidates.
# hermes-mobile-bridge
Python helper for calling the **Agent Voice for Android** Mobile Bridge
Python helper for calling the **WakeHermesClaw for Android** Mobile Bridge
from a Hermes Agent toolchain.
The bridge itself is documented at
@@ -40,7 +40,7 @@ The helper reads two environment variables:
| Variable | Description |
|-----------------------------|--------------------------------------------|
| `AGENT_VOICE_BRIDGE_URL` | e.g. `http://192.168.1.42:8787` |
| `AGENT_VOICE_BRIDGE_TOKEN` | The token shown in Agent Voice Settings |
| `AGENT_VOICE_BRIDGE_TOKEN` | The token shown in WakeHermesClaw Settings |
Never commit the token; it grants execute access to opt-in capabilities.
@@ -57,7 +57,7 @@ print(bridge.execute("device.info"))
```python
# Launch an app — assumes the user has approved apps.launch in
# Agent Voice and is on hand to confirm the medium-risk prompt.
# WakeHermesClaw and is on hand to confirm the medium-risk prompt.
bridge.execute("apps.launch", {"packageName": "com.android.settings"})
```
@@ -1,9 +1,9 @@
---
name: agent-voice-self-setup
description: Diagnose and repair an Agent Voice install end-to-end. Use when the user reports that paired devices stopped working, when bridge auto-disabled, or when "is everything wired correctly?" — equivalent to running `hermes-status` plus walking through the Agent Voice setup wizard.
description: Diagnose and repair an WakeHermesClaw install end-to-end. Use when the user reports that paired devices stopped working, when bridge auto-disabled, or when "is everything wired correctly?" — equivalent to running `hermes-status` plus walking through the WakeHermesClaw setup wizard.
---
# Agent Voice - self-setup / status skill
# WakeHermesClaw - self-setup / status skill
Use this skill when:
@@ -14,7 +14,7 @@ Use this skill when:
## What to do
1. **Read the manifest** (`GET /manifest` on the Agent Voice Mobile Bridge).
1. **Read the manifest** (`GET /manifest` on the WakeHermesClaw Mobile Bridge).
If it 401s, the token rotated → ask the user to re-pair via
`agentvoice-pair` on the PC and re-scan the QR.
2. **Cross-check expected capabilities**. The minimum a healthy install
@@ -37,7 +37,7 @@ Use this skill when:
## When NOT to use this skill
- The user's question is about modifying a Hermes prompt or model, not
the Agent Voice connection.
the WakeHermesClaw connection.
- They explicitly want to factory-reset; use a teardown skill instead.
## What to report back
+5 -5
View File
@@ -1,11 +1,11 @@
---
name: agent-voice-mobile-bridge
description: Drive an Android phone (running Agent Voice for Android) through its opt-in Mobile Bridge HTTP API. Use whenever Hermes needs to list installed apps, read the clipboard, fetch device info, or otherwise reach Android capabilities the user has explicitly enabled.
description: Drive an Android phone (running WakeHermesClaw for Android) through its opt-in Mobile Bridge HTTP API. Use whenever Hermes needs to list installed apps, read the clipboard, fetch device info, or otherwise reach Android capabilities the user has explicitly enabled.
---
# Agent Voice — Mobile Bridge skill
# WakeHermesClaw — Mobile Bridge skill
The Agent Voice for Android app exposes a small HTTP service called the
The WakeHermesClaw for Android app exposes a small HTTP service called the
**Mobile Bridge** that Hermes can call to interact with the user's
phone. Use this skill whenever a task requires reaching into Android.
@@ -20,7 +20,7 @@ phone. Use this skill whenever a task requires reaching into Android.
- The user is asking about a remote desktop, a different device, or
a service unrelated to their phone. The bridge is phone-only.
- The action is destructive (e.g. delete contacts, send SMS) and the
user has not explicitly granted that capability group in Agent Voice.
user has not explicitly granted that capability group in WakeHermesClaw.
## How to call it
@@ -35,7 +35,7 @@ allowed = {cap["name"] for cap in manifest["capabilities"]}
# 2) Refuse early if the requested capability is not in the allowlist.
if "apps.list" not in allowed:
raise MobileBridgeError("apps.list is not enabled in Agent Voice settings")
raise MobileBridgeError("apps.list is not enabled in WakeHermesClaw settings")
# 3) Execute. `execute` raises if the bridge replied status=failed,
# surfacing the structured error (unsupported_capability, approval_required, …)
@@ -1,12 +1,12 @@
#!/usr/bin/env python3
"""agentvoice-pair / hermes-pair — print one QR for Agent Voice setup.
"""agentvoice-pair / hermes-pair — print one QR for WakeHermesClaw setup.
The helper is intentionally host-side and mostly automatic:
1. Detect whether Hermes, OpenClaw, and Tailscale are installed locally.
2. Read common env vars, .env files, and config JSON files before asking.
3. Include detected Hermes/OpenClaw/Tailscale candidates automatically.
4. Print one Agent Voice setup JSON QR. Scanning that single QR in Agent Voice
4. Print one WakeHermesClaw setup JSON QR. Scanning that single QR in WakeHermesClaw
can configure both Hermes Agent and OpenClaw. A deep-link fallback is also
printed for external camera apps.
@@ -343,7 +343,7 @@ def maybe_configure_hermes_remote_access(hermes_key: Optional[str], remote_host:
if not is_port_open("127.0.0.1", 8642):
return hermes_key
print("Hermes API Server is reachable only from this Mac right now.")
print(f"To use Agent Voice from your phone, Hermes must listen on Tailscale/LAN: http://{remote_host}:8642")
print(f"To use WakeHermesClaw from your phone, Hermes must listen on Tailscale/LAN: http://{remote_host}:8642")
if not ask_yes_no("Configure Hermes API Server for phone access and restart it now?", True):
return hermes_key
env_path = Path.home() / ".hermes" / ".env"
@@ -674,7 +674,7 @@ def openclaw_setup_code_from_cli() -> Optional[str]:
def openclaw_setup_code_from_local_install() -> Optional[str]:
# Prefer local config credentials when available. Current OpenClaw `qr`
# emits a bootstrapToken for device pairing; Agent Voice also opens an
# emits a bootstrapToken for device pairing; WakeHermesClaw also opens an
# operator session, so include both the local password and bootstrapToken
# when we can resolve them on the user's own machine.
config_code = openclaw_setup_code_from_config()
@@ -1175,7 +1175,7 @@ def main(argv: Optional[List[str]] = None) -> int:
discovered_hermes_url = discover_hermes_url()
discovered_openclaw_setup_code = args.openclaw_setup_code or discover_openclaw_setup_code() or openclaw_setup_code_from_local_install()
print("Agent Voice pairing helper")
print("WakeHermesClaw pairing helper")
print(f" Hermes: {'found' if hermes_installed else 'not found'}; API port {'open' if hermes_port_open else 'not detected'}; dashboard {'open' if dashboard_port_open else 'not detected'}")
print(f" OpenClaw: {'found' if openclaw_installed else 'not found'}; gateway port {'open' if openclaw_port_open else 'not detected'}")
print(f" Tailscale:{' found' if tailscale_installed else ' not found'}")
@@ -1336,7 +1336,7 @@ def main(argv: Optional[List[str]] = None) -> int:
cols, rows = shutil.get_terminal_size(fallback=(80, 24))
fits_terminal = terminal_width <= cols and terminal_height + 8 <= rows
print("\nScan this one QR inside Agent Voice:")
print("\nScan this one QR inside WakeHermesClaw:")
opened = False if args.no_open else open_file(qr_path)
print(f" QR image: {qr_path}")
if opened:
@@ -1350,7 +1350,7 @@ def main(argv: Optional[List[str]] = None) -> int:
print("(QR rendering unavailable on this machine.)")
else:
print(f" Terminal QR omitted because it is {terminal_width}x{terminal_height} cells and your terminal is {cols}x{rows}.")
print("\nQR payload for Agent Voice in-app scanner:")
print("\nQR payload for WakeHermesClaw in-app scanner:")
print(f" {qr_payload}\n")
print("External-camera fallback link:")
print(f" {deep_link}\n")
@@ -1,4 +1,4 @@
"""Python helper for the Agent Voice for Android Mobile Bridge.
"""Python helper for the WakeHermesClaw for Android Mobile Bridge.
Designed to be dropped into a Hermes Agent tool directory. Reads
`AGENT_VOICE_BRIDGE_URL` and `AGENT_VOICE_BRIDGE_TOKEN` from the