Merge pull request #966 from Jasonzhu1207/main

feat: Disable AI Output Truncation & Optimize max_tokens Settings
This commit is contained in:
cc
2026-05-15 06:32:00 +08:00
committed by GitHub
4 changed files with 12 additions and 12 deletions

View File

@@ -292,7 +292,7 @@ function SettingsPage({ onClose }: SettingsPageProps = {}) {
const [aiModelApiBaseUrl, setAiModelApiBaseUrl] = useState('')
const [aiModelApiKey, setAiModelApiKey] = useState('')
const [aiModelApiModel, setAiModelApiModel] = useState('gpt-4o-mini')
const [aiModelApiMaxTokens, setAiModelApiMaxTokens] = useState(200)
const [aiModelApiMaxTokens, setAiModelApiMaxTokens] = useState(1024)
const [aiInsightSilenceDays, setAiInsightSilenceDays] = useState(3)
const [aiInsightAllowContext, setAiInsightAllowContext] = useState(false)
const [aiInsightAllowMomentsContext, setAiInsightAllowMomentsContext] = useState(false)
@@ -3030,18 +3030,18 @@ function SettingsPage({ onClose }: SettingsPageProps = {}) {
<div className="form-group">
<label> Max Tokens</label>
<span className="form-hint">
token <code>200</code>
token <code>1024</code>
</span>
<input
type="number"
className="field-input"
value={aiModelApiMaxTokens}
min={1}
max={65535}
max={2000000}
step={1}
onChange={(e) => {
const parsed = parseInt(e.target.value, 10)
const val = Math.min(65535, Math.max(1, Number.isFinite(parsed) ? parsed : 200))
const val = Math.min(2000000, Math.max(1, Number.isFinite(parsed) ? parsed : 1024))
setAiModelApiMaxTokens(val)
scheduleConfigSave('aiModelApiMaxTokens', () => configService.setAiModelApiMaxTokens(val))
}}

View File

@@ -1903,13 +1903,13 @@ export async function getAiModelApiMaxTokens(): Promise<number> {
if (typeof value === 'number' && Number.isFinite(value) && value > 0) {
return Math.floor(value)
}
return 200
return 1024
}
export async function setAiModelApiMaxTokens(maxTokens: number): Promise<void> {
const normalized = Number.isFinite(maxTokens)
? Math.min(65535, Math.max(1, Math.floor(maxTokens)))
: 200
? Math.min(2000000, Math.max(1, Math.floor(maxTokens)))
: 1024
await config.set(CONFIG_KEYS.AI_MODEL_API_MAX_TOKENS, normalized)
}