Gate loopback logs behind DEBUG env

This commit is contained in:
2026-05-02 21:54:49 +09:00
parent 962ff7037b
commit 48937c684b
4 changed files with 23 additions and 8 deletions

View File

@@ -15,6 +15,10 @@ const envSchema = z.object({
LOCAL_AI_VENV_PATH: z.string().min(1).default(".local-ai/.venv"),
LOCAL_AI_PYTHON: emptyToUndefined,
AUDIO_SOURCE: emptyToUndefined,
DEBUG: z
.string()
.optional()
.transform((value) => value?.trim().toLowerCase() === "true"),
WHISPER_MODEL: z.string().min(1).default("large-v3-turbo"),
WHISPER_LANGUAGE: z.string().min(1).default("ko"),
WHISPER_DEVICE: z.enum(["auto", "cuda", "cpu"]).default("auto"),

View File

@@ -10,7 +10,7 @@ const mode = process.argv[2] ?? "loopback";
async function runLoopback(): Promise<void> {
const config = loadConfig();
const logger = new Logger(config.LOG_LEVEL);
const logger = new Logger(config.DEBUG ? config.LOG_LEVEL : "error");
const stt = new FasterWhisperSttService(config, logger);
let capture = null as ReturnType<typeof spawnLoopbackCapture> | null;
let shuttingDown: Promise<void> | null = null;
@@ -95,8 +95,12 @@ async function runLoopback(): Promise<void> {
logger.info("빈 전사 결과");
} else {
logger.info("Transcript", { index: next.index, text });
if (config.DEBUG_TRANSCRIPTS) {
console.log(`\n[text] ${text}\n`);
if (config.DEBUG) {
if (config.DEBUG_TRANSCRIPTS) {
console.log(`\n[text] ${text}\n`);
}
} else {
console.log(text);
}
}
} catch (error) {
@@ -183,11 +187,13 @@ async function runLoopback(): Promise<void> {
}
});
console.log("실시간 출력장치 STT를 시작합니다. Ctrl+C 로 종료합니다.");
console.log(`source: ${config.AUDIO_SOURCE ?? "unset"}`);
console.log(`model: ${config.WHISPER_MODEL}`);
console.log(`language: ${config.WHISPER_LANGUAGE}`);
console.log(`beam: ${config.WHISPER_BEAM_SIZE}`);
if (config.DEBUG) {
console.log("실시간 출력장치 STT를 시작합니다. Ctrl+C 로 종료합니다.");
console.log(`source: ${config.AUDIO_SOURCE ?? "unset"}`);
console.log(`model: ${config.WHISPER_MODEL}`);
console.log(`language: ${config.WHISPER_LANGUAGE}`);
console.log(`beam: ${config.WHISPER_BEAM_SIZE}`);
}
setInterval(() => {
const now = Date.now();