Switch to double quotes and reformat codebase with Biome

This commit is contained in:
Mohamed Boudra
2026-03-21 20:22:15 +07:00
parent ab40786882
commit f6579dbeb4
805 changed files with 38132 additions and 40175 deletions
+60 -31
View File
@@ -1,15 +1,15 @@
import { createFileRoute } from '@tanstack/react-router'
import { pageMeta } from '~/meta'
import { createFileRoute } from "@tanstack/react-router";
import { pageMeta } from "~/meta";
export const Route = createFileRoute('/docs/voice')({
export const Route = createFileRoute("/docs/voice")({
head: () => ({
meta: pageMeta(
'Voice - Paseo Docs',
'Paseo voice architecture, local-first model execution, and provider configuration.',
"Voice - Paseo Docs",
"Paseo voice architecture, local-first model execution, and provider configuration.",
),
}),
component: VoiceDocs,
})
});
function VoiceDocs() {
return (
@@ -17,17 +17,17 @@ function VoiceDocs() {
<div>
<h1 className="text-3xl font-medium font-title mb-4">Voice</h1>
<p className="text-white/60 leading-relaxed">
Paseo has first-class voice support for dictation and realtime conversations with your coding
environment.
Paseo has first-class voice support for dictation and realtime conversations with your
coding environment.
</p>
</div>
<section className="space-y-4">
<h2 className="text-xl font-medium">Philosophy</h2>
<p className="text-white/60 leading-relaxed">
Voice is local-first. You can run speech fully on-device, or choose OpenAI for speech features.
For voice reasoning/orchestration, Paseo reuses agent providers already installed and authenticated
on your machine.
Voice is local-first. You can run speech fully on-device, or choose OpenAI for speech
features. For voice reasoning/orchestration, Paseo reuses agent providers already
installed and authenticated on your machine.
</p>
<p className="text-white/60 leading-relaxed">
This keeps credentials and execution in your environment and avoids introducing a separate
@@ -38,9 +38,16 @@ function VoiceDocs() {
<section className="space-y-4">
<h2 className="text-xl font-medium">Architecture</h2>
<ul className="text-white/60 space-y-2 list-disc list-inside">
<li>Speech I/O: STT and TTS providers per feature (<code className="font-mono">local</code> or <code className="font-mono">openai</code>)</li>
<li>
Speech I/O: STT and TTS providers per feature (<code className="font-mono">local</code>{" "}
or <code className="font-mono">openai</code>)
</li>
<li>Local speech runtime: ONNX models executed on CPU by default</li>
<li>Voice LLM orchestration: hidden agent session using your configured provider (<code className="font-mono">claude</code>, <code className="font-mono">codex</code>, or <code className="font-mono">opencode</code>)</li>
<li>
Voice LLM orchestration: hidden agent session using your configured provider (
<code className="font-mono">claude</code>, <code className="font-mono">codex</code>, or{" "}
<code className="font-mono">opencode</code>)
</li>
<li>Tooling path: MCP stdio bridge for voice tools and agent control</li>
</ul>
</section>
@@ -48,16 +55,17 @@ function VoiceDocs() {
<section className="space-y-4">
<h2 className="text-xl font-medium">Local Speech</h2>
<p className="text-white/60 leading-relaxed">
Local speech defaults to model IDs <code className="font-mono">parakeet-tdt-0.6b-v3-int8</code>{' '}
(STT) and <code className="font-mono">kokoro-en-v0_19</code> (TTS, speaker 0 / voice 00).
Local speech defaults to model IDs{" "}
<code className="font-mono">parakeet-tdt-0.6b-v3-int8</code> (STT) and{" "}
<code className="font-mono">kokoro-en-v0_19</code> (TTS, speaker 0 / voice 00).
</p>
<p className="text-white/60 leading-relaxed">
Missing models are downloaded at daemon startup into{' '}
<code className="font-mono">$PASEO_HOME/models/local-speech</code>.
Downloads happen only for missing files.
Missing models are downloaded at daemon startup into{" "}
<code className="font-mono">$PASEO_HOME/models/local-speech</code>. Downloads happen only
for missing files.
</p>
<pre className="bg-card border border-border rounded-lg p-4 font-mono text-sm overflow-x-auto text-white/80">
{`{
{`{
"version": 1,
"features": {
"dictation": { "stt": { "provider": "local", "model": "parakeet-tdt-0.6b-v3-int8" } },
@@ -79,11 +87,12 @@ function VoiceDocs() {
<section className="space-y-4">
<h2 className="text-xl font-medium">OpenAI Speech Option</h2>
<p className="text-white/60 leading-relaxed">
You can switch dictation, voice STT, and voice TTS to OpenAI by setting provider fields to{' '}
<code className="font-mono">openai</code> and providing <code className="font-mono">OPENAI_API_KEY</code>.
You can switch dictation, voice STT, and voice TTS to OpenAI by setting provider fields to{" "}
<code className="font-mono">openai</code> and providing{" "}
<code className="font-mono">OPENAI_API_KEY</code>.
</p>
<pre className="bg-card border border-border rounded-lg p-4 font-mono text-sm overflow-x-auto text-white/80">
{`{
{`{
"version": 1,
"features": {
"dictation": { "stt": { "provider": "openai" } },
@@ -102,22 +111,42 @@ function VoiceDocs() {
<section className="space-y-4">
<h2 className="text-xl font-medium">Environment Variables</h2>
<ul className="text-white/60 space-y-2 list-disc list-inside">
<li><code className="font-mono">OPENAI_API_KEY</code> — OpenAI speech credentials</li>
<li><code className="font-mono">PASEO_VOICE_LLM_PROVIDER</code> — voice agent provider override</li>
<li><code className="font-mono">PASEO_LOCAL_MODELS_DIR</code> — local model storage directory</li>
<li><code className="font-mono">PASEO_DICTATION_LOCAL_STT_MODEL</code> — local dictation STT model ID</li>
<li><code className="font-mono">PASEO_VOICE_LOCAL_STT_MODEL</code>, <code className="font-mono">PASEO_VOICE_LOCAL_TTS_MODEL</code> — local voice STT/TTS model IDs</li>
<li><code className="font-mono">PASEO_VOICE_LOCAL_TTS_SPEAKER_ID</code>, <code className="font-mono">PASEO_VOICE_LOCAL_TTS_SPEED</code> — optional local voice TTS tuning</li>
<li>
<code className="font-mono">OPENAI_API_KEY</code> — OpenAI speech credentials
</li>
<li>
<code className="font-mono">PASEO_VOICE_LLM_PROVIDER</code> — voice agent provider
override
</li>
<li>
<code className="font-mono">PASEO_LOCAL_MODELS_DIR</code> — local model storage
directory
</li>
<li>
<code className="font-mono">PASEO_DICTATION_LOCAL_STT_MODEL</code> — local dictation STT
model ID
</li>
<li>
<code className="font-mono">PASEO_VOICE_LOCAL_STT_MODEL</code>,{" "}
<code className="font-mono">PASEO_VOICE_LOCAL_TTS_MODEL</code> — local voice STT/TTS
model IDs
</li>
<li>
<code className="font-mono">PASEO_VOICE_LOCAL_TTS_SPEAKER_ID</code>,{" "}
<code className="font-mono">PASEO_VOICE_LOCAL_TTS_SPEED</code> — optional local voice
TTS tuning
</li>
</ul>
</section>
<section className="space-y-4">
<h2 className="text-xl font-medium">Operational Notes</h2>
<p className="text-white/60 leading-relaxed">
Realtime voice can launch and control agents. Treat voice prompts with the same care as direct
agent instructions, especially when specifying working directories or destructive operations.
Realtime voice can launch and control agents. Treat voice prompts with the same care as
direct agent instructions, especially when specifying working directories or destructive
operations.
</p>
</section>
</div>
)
);
}