fix(release): stop shipping native modules built for the wrong runtime
Some checks failed
deploy-site / deploy (push) Failing after 14m16s
Some checks failed
deploy-site / deploy (push) Failing after 14m16s
The released installer could not start: it carried a better-sqlite3 build for the host Node runtime instead of Electron, so the app died immediately with a module version mismatch when it opened its database. Packaging now proves the Electron build of every runtime-sensitive native module before an installer or archive exists, and installers are produced only from that verified tree, so the mistake cannot pass silently. The release pipelines run the same check. The default local model also pointed at a retired model: a *.gguf name that Ollama cannot serve, while the settings, onboarding, and guide screens recommended an older model. All of them now use the model the service code already preferred.
This commit is contained in:
parent
0fbbbc1756
commit
1af3cf75c7
42 changed files with 473 additions and 83 deletions
|
|
@ -20,6 +20,8 @@ files:
|
|||
- "!out/**/*.map"
|
||||
# ffmpeg 정적 바이너리(61MB)는 설치본에 넣지 않는다 — 필요할 때 런타임으로 내려받는다
|
||||
- "!node_modules/@ffmpeg-installer/**"
|
||||
# ffmpeg 정적 바이너리(61MB)는 설치본에 넣지 않는다 — 필요할 때 런타임으로 내려받는다
|
||||
- "!node_modules/@ffmpeg-installer/**"
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────
|
||||
# 자동 업데이트 feed — 이 설정이 있어야 electron-builder가
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/desktop",
|
||||
"version": "1.3.2",
|
||||
"version": "1.3.3",
|
||||
"productName": "d3ro-voice",
|
||||
"description": "로컬 AI 음성 어시스턴트 (Electron)",
|
||||
"main": "./out/main/index.js",
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ const CONFIG_DEFAULTS: AppConfig = {
|
|||
ttsSpeed: 1.0,
|
||||
onlineApiUrl: 'http://127.0.0.1:5000',
|
||||
localModelsDir: '',
|
||||
llmModelId: 'gemma-2-2b-it.Q4_K_M.gguf',
|
||||
llmModelId: 'gemma4:e4b',
|
||||
ollamaServerUrl: 'http://127.0.0.1:11434',
|
||||
appUsageMode: null,
|
||||
authToken: null,
|
||||
|
|
|
|||
|
|
@ -663,7 +663,7 @@ class LocalLLMService extends EventEmitter {
|
|||
return {
|
||||
connectionState,
|
||||
serverUrl: getOllamaServerUrl(),
|
||||
activeModel: configGet('llmModelId') || 'gemma2:2b',
|
||||
activeModel: configGet('llmModelId') || 'gemma4:e4b',
|
||||
serverVersion: this._serverVersion
|
||||
}
|
||||
}
|
||||
|
|
@ -686,7 +686,7 @@ class LocalLLMService extends EventEmitter {
|
|||
}
|
||||
|
||||
const serverUrl = getOllamaServerUrl()
|
||||
const model = options?.model ?? configGet('llmModelId') ?? 'gemma2:2b'
|
||||
const model = options?.model ?? configGet('llmModelId') ?? 'gemma4:e4b'
|
||||
|
||||
this._abortController = new AbortController()
|
||||
this._state = LLMState.Generating
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ export function OllamaGuideModal({ open, onClose }: OllamaGuideModalProps): Reac
|
|||
const { t } = useI18n()
|
||||
const [llmStatus, setLlmStatus] = useState<LLMStatus | null>(null)
|
||||
const [installedModels, setInstalledModels] = useState<LLMModel[]>([])
|
||||
const [activeModel, setActiveModel] = useState<string>('gemma2:2b')
|
||||
const [activeModel, setActiveModel] = useState<string>('gemma4:e4b')
|
||||
const [checking, setChecking] = useState(false)
|
||||
const [starting, setStarting] = useState(false)
|
||||
const [startMessage, setStartMessage] = useState<string | null>(null)
|
||||
|
|
@ -582,7 +582,7 @@ export function OllamaGuideModal({ open, onClose }: OllamaGuideModalProps): Reac
|
|||
<Typography sx={{ fontSize: '11px', color: d3roPalette.text.dimLabel }}>
|
||||
직접 터미널에서 다운로드하려면 아래 명령어를 실행하세요:
|
||||
</Typography>
|
||||
<CodeBlock code="ollama pull gemma2:2b" />
|
||||
<CodeBlock code="ollama pull gemma4:e4b" />
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ export function OnboardingModal({ open, onClose }: OnboardingModalProps): React.
|
|||
// Local Ollama State
|
||||
const [ollamaStatus, setOllamaStatus] = useState<LLMStatus | null>(null)
|
||||
const [installedModels, setInstalledModels] = useState<LLMModel[]>([])
|
||||
const [activeModel, setActiveModel] = useState<string>('gemma2:2b')
|
||||
const [activeModel, setActiveModel] = useState<string>('gemma4:e4b')
|
||||
const [checkingOllama, setCheckingOllama] = useState(false)
|
||||
const [startingOllama, setStartingOllama] = useState(false)
|
||||
const [ollamaMsg, setOllamaMsg] = useState<string | null>(null)
|
||||
|
|
@ -498,7 +498,7 @@ export function OnboardingModal({ open, onClose }: OnboardingModalProps): React.
|
|||
<Button
|
||||
variant="contained"
|
||||
startIcon={<Download size={14} />}
|
||||
onClick={() => handlePullModel('gemma2:2b')}
|
||||
onClick={() => handlePullModel('gemma4:e4b')}
|
||||
disabled={!isOllamaConnected}
|
||||
sx={{
|
||||
fontWeight: 500,
|
||||
|
|
|
|||
|
|
@ -723,7 +723,7 @@ export function SettingsModal({ open, initialTab = 0, onClose }: SettingsModalPr
|
|||
: 'Ollama 오프라인 (서버 실행 필요)'}
|
||||
</Typography>
|
||||
<Typography sx={{ fontSize: '11px', color: d3roPalette.text.secondary }}>
|
||||
설치된 모델: {ollamaModels.length}개 | 현재 활성: {config.llmModelId ?? 'gemma2:2b'}
|
||||
설치된 모델: {ollamaModels.length}개 | 현재 활성: {config.llmModelId ?? 'gemma4:e4b'}
|
||||
</Typography>
|
||||
</Box>
|
||||
</Box>
|
||||
|
|
@ -800,7 +800,7 @@ export function SettingsModal({ open, initialTab = 0, onClose }: SettingsModalPr
|
|||
<InputLabel>활성 Ollama 모델</InputLabel>
|
||||
<Select
|
||||
label="활성 Ollama 모델"
|
||||
value={config.llmModelId ?? 'gemma2:2b'}
|
||||
value={config.llmModelId ?? 'gemma4:e4b'}
|
||||
onChange={(e) => {
|
||||
const val = e.target.value
|
||||
updateConfig('llmModelId', val)
|
||||
|
|
@ -815,7 +815,7 @@ export function SettingsModal({ open, initialTab = 0, onClose }: SettingsModalPr
|
|||
))}
|
||||
{/* 설치된 모델 목록이 없거나 기본 추천 추가 */}
|
||||
{ollamaModels.length === 0 && (
|
||||
<MenuItem value="gemma2:2b">gemma2:2b (추천)</MenuItem>
|
||||
<MenuItem value="gemma4:e4b">gemma4:e4b (추천)</MenuItem>
|
||||
)}
|
||||
{!ollamaModels.some((m) => m.name === 'llama3.2:3b') && (
|
||||
<MenuItem value="llama3.2:3b">llama3.2:3b</MenuItem>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue