From 2c2f87d7d4cf3da6fc9eb3fd4a8ede17fbe5e445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A4=EC=B0=AC?= Date: Sat, 11 Apr 2026 09:29:06 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20V2-6=EC=B0=A8=20[L]=20qwen3=20reasoning?= =?UTF-8?q?=20=EB=AA=A8=EB=93=9C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- memory/project_status.md | 1 + 1 file changed, 1 insertion(+) diff --git a/memory/project_status.md b/memory/project_status.md index 6efed65..dbea666 100644 --- a/memory/project_status.md +++ b/memory/project_status.md @@ -133,6 +133,7 @@ V2 6์ฐจ ๊ณ ๋„ํ™” (2026-04-11): - [I] ๐Ÿ› fix(desktop): ํ•ซํ‚ค ๋ˆ„๋ฅผ ๋•Œ macOS ์‹œ์Šคํ…œ beep โ€” uiohook-napi๋Š” ๊ธ€๋กœ๋ฒŒ ๋ชจ๋‹ˆํ„ฐ๋ง๋งŒ ํ•˜๊ณ  OS swallow ์•ˆ ํ•จ. ํ‚ค๊ฐ€ ๋ฐ›๋Š” ๊ณณ ์—†์–ด NSBeep ๋ฐœ์ƒ. `HotkeyService`์— Electron `globalShortcut` ํ†ตํ•ฉ. `bindingToAccelerator(binding)`์ด Windows VK + modifier โ†’ Electron Accelerator string ๋ณ€ํ™˜ (mac์€ `Cmd`, win์€ `Super`). `globalShortcut.register(accel, noop)`๋กœ OS swallow + uiohook์€ ๊ทธ๋Œ€๋กœ hold/release ์ฒ˜๋ฆฌ. `HotkeyConfig.acceleratorString` ํ•„๋“œ ์ถ”๊ฐ€. unregister/stop์—์„œ cleanup. ๋‹จ์ผ modifier ํ‚ค๋งŒ ๋“ฑ๋ก ์‹œ(Right Alt ๋‹จ๋… ๋“ฑ) accelerator ๋ณ€ํ™˜ ๋ถˆ๊ฐ€ํ•˜๋ฉด globalShortcut ๊ฑด๋„ˆ๋›ฐ๊ณ  uiohook๋งŒ ์‚ฌ์šฉ. - [J] ๐Ÿ› fix(desktop): sidecar ๋™์  ํฌํŠธ + orphan ์ถฉ๋Œ โ€” dev mode HMR ์žฌ์‹œ์ž‘ ์‹œ ์ด์ „ sidecar python์ด orphan์œผ๋กœ 18765 ์ ์œ . ์ƒˆ main์ด spawnํ•˜๋ฉด EADDRINUSE๋กœ ์ฆ‰์‹œ exit. `LocalSTTService._findFreePort(start, max=20)` ์ถ”๊ฐ€ (`net.createServer().listen(port, '127.0.0.1')`๋กœ free ํฌํŠธ ํƒ์ƒ‰), spawn ์ง„์ž… ์‹œ `this._port` ๋™์  ๊ฐฑ์‹ . health/load/transcribe URL์ด ์ž๋™์œผ๋กœ ์ƒˆ ํฌํŠธ ์‚ฌ์šฉ. - [K] ๐Ÿ› fix(desktop): macOS ํ…์ŠคํŠธ ๋ถ™์—ฌ๋„ฃ๊ธฐ โ€” `TextInsertService._insertViaClipboard`๊ฐ€ `nut.Key.LeftControl + V` ํ•˜๋“œ์ฝ”๋”ฉ์ด๋ผ macOS์—์„œ๋Š” paste ์•ˆ ๋จ (Cmd+V์—ฌ์•ผ). `pasteModKey = process.platform === 'darwin' ? LeftSuper : LeftControl` ๋ถ„๊ธฐ. ์ž˜๋ชป๋œ ํด๋ฆฝ๋ณด๋“œ ๊ฒ€์ฆ("text ๊ทธ๋Œ€๋กœ๋ฉด ์ •์ƒ") ๋กœ์ง ์ œ๊ฑฐ (macOS๋Š” Ctrl+V๊ฐ€ noop์ด๋ผ ํ•ญ์ƒ ๊ฑฐ์ง“ ์–‘์„ฑ). macOS๋Š” paste ํ›„ sleep 250ms. +- [L] ๐Ÿ› fix(desktop): qwen3 reasoning 39์ดˆ + ๋นˆ ์‘๋‹ต โ€” qwen3:4b๋Š” reasoning model์ด๋ผ ์‘๋‹ต์— `...` ๋ธ”๋ก์„ ๊ธธ๊ฒŒ ์ถœ๋ ฅ, ๋ณธ๋ฌธ์ด ๋น„์–ด _completeSession("")๋กœ paste ํ˜ธ์ถœ ์•ˆ ๋จ. SYSTEM_PROMPTS ์ „์ฒด์— `/no_think` ํ† ํฐ ์ถ”๊ฐ€ (qwen3 ๋น„ํ™œ์„ฑํ™”, ๋‹ค๋ฅธ ๋ชจ๋ธ์€ ๋ฌด์‹œ). `stripReasoningBlocks()` ์ถ”๊ฐ€ โ€” ``/`` ํƒœ๊ทธ ์•ˆ์ „๋ง. `processText`๊ฐ€ stripped ๊ฒฐ๊ณผ ๊ธธ์ด 0์ด๋ฉด ์›๋ณธ transcript fallback + warn ๋กœ๊ทธ. ## SaaS ์•„ํ‚คํ…์ฒ˜ ์ง„๋‹จ (2026-04-11)