Stabilize pro editing without heavy office runtime

The workspace now carries the pro editing flow, streaming completion path, and lighter Office preview state as one checkpoint so the remote has the current runnable project shape.

Constraint: Preserve the current workspace as a single reviewable project commit while excluding local agent state and verification artifacts. Removed stale Univer runtime dependencies from the lockfile so installs match package.json.

Rejected: Commit runtime screenshots, .omx state, and coverage files | they are local artifacts rather than source state.

Confidence: medium

Scope-risk: broad

Directive: Keep package.json and package-lock.json synchronized when changing frontend dependencies.

Tested: npm run build; C:\Users\ydy\.conda\envs\llmwebsite\python.exe -m pytest backend/tests/test_main_endpoints.py backend/tests/test_main_cancel.py backend/tests/test_llm.py backend/tests/test_llm_extended.py -v -o addopts= (44 passed).

Not-tested: Full pytest with repository coverage addopts currently reports 0% coverage because pytest-cov watches backend.* module names while tests import top-level backend modules.

Co-authored-by: OmX <omx@oh-my-codex.dev>
This commit is contained in:
2026-05-24 23:30:32 +08:00
parent 6dc9933853
commit 59334e4057
41 changed files with 4438 additions and 4875 deletions
+11 -1
View File
@@ -11,6 +11,7 @@ export const useSettingsStore = defineStore('settings', () => {
// 2. Model Behavior
const modelThinking = ref('low') // 'low' | 'medium' | 'high'
const debounceMs = ref(1000) // 1000 - 5000
const proModel = ref('')
// 3. Privacy
const privacyMode = ref(true)
@@ -44,7 +45,10 @@ export const useSettingsStore = defineStore('settings', () => {
// We will let the backend handle 'auto' currency if needed, or stick to auto label.
const t = computed(() => {
return translations[uiLanguage.value] || translations['en']
return {
...translations['en'],
...(translations[uiLanguage.value] || {}),
}
})
const initialMarkdown = computed(() => {
@@ -63,6 +67,7 @@ export const useSettingsStore = defineStore('settings', () => {
if (data.theme) theme.value = data.theme
if (data.modelThinking) modelThinking.value = data.modelThinking
if (data.debounceMs) debounceMs.value = data.debounceMs
if (typeof data.proModel === 'string') proModel.value = data.proModel
if (typeof data.privacyMode === 'boolean') privacyMode.value = data.privacyMode
if (data.language) language.value = data.language
if (data.currency) currency.value = data.currency
@@ -86,6 +91,7 @@ export const useSettingsStore = defineStore('settings', () => {
theme: theme.value,
modelThinking: modelThinking.value,
debounceMs: debounceMs.value,
proModel: proModel.value,
privacyMode: privacyMode.value,
language: language.value,
currency: currency.value,
@@ -105,6 +111,7 @@ export const useSettingsStore = defineStore('settings', () => {
theme.value = 'system'
modelThinking.value = 'low'
debounceMs.value = 1000
proModel.value = ''
privacyMode.value = false
language.value = 'auto'
currency.value = 'auto'
@@ -121,6 +128,7 @@ export const useSettingsStore = defineStore('settings', () => {
theme,
modelThinking,
debounceMs,
proModel,
privacyMode,
language,
currency,
@@ -141,6 +149,7 @@ export const useSettingsStore = defineStore('settings', () => {
theme,
modelThinking,
debounceMs,
proModel,
privacyMode,
language,
currency,
@@ -148,6 +157,7 @@ export const useSettingsStore = defineStore('settings', () => {
backgroundImage,
backgroundOpacity,
ttsInstruct,
detectedTimezone,
uiLanguage,
t,
initialMarkdown,