v1.2修复优化

This commit is contained in:
2026-05-08 10:05:31 +08:00
parent 80b71a973a
commit 4cf6bd4b4b
12 changed files with 238 additions and 128 deletions

View File

@@ -97,28 +97,37 @@ const ChatManager = {
// 清除文件
UploadManager.clearFiles();
// 获取当前配置
const provider = document.getElementById('providerSelect')?.value || 'newapi';
const model = document.getElementById('modelSelect')?.value || 'gpt-3.5-turbo';
const thinkingMode = document.getElementById('thinkingMode')?.checked || false;
// 获取当前配置
const provider = document.getElementById('providerSelect')?.value || 'newapi';
const model = document.getElementById('modelSelect')?.value || 'gpt-3.5-turbo';
const thinkingMode = document.getElementById('thinkingMode')?.checked || false;
// 获取人格提示词
let systemPrompt = '';
const personalitySelect = document.getElementById('personalitySelect');
if (personalitySelect && personalitySelect.value) {
const personality = personalitiesData.find(p => p.id == personalitySelect.value);
if (personality) {
systemPrompt = personality.prompt || '';
}
}
// SSE 流式请求
this.isStreaming = true;
this.updateSendButton();
// SSE 流式请求
this.isStreaming = true;
this.updateSendButton();
try {
await this.streamChat(provider, model, thinkingMode);
} catch (err) {
this.addErrorMessage(err.message);
} finally {
this.isStreaming = false;
this.updateSendButton();
}
},
try {
await this.streamChat(provider, model, thinkingMode, systemPrompt);
} catch (err) {
this.addErrorMessage(err.message);
} finally {
this.isStreaming = false;
this.updateSendButton();
}
},
async streamChat(provider, model, thinkingMode) {
const token = Storage.getToken();
async streamChat(provider, model, thinkingMode, systemPrompt) {
const token = Storage.getToken();
// 构建消息历史(只取 role 和 content
const messages = this.messages.map(m => ({
@@ -138,7 +147,8 @@ const ChatManager = {
'Authorization': 'Bearer ' + token
},
body: JSON.stringify({
provider, model, messages, stream: true, thinkingMode
provider, model, messages, stream: true, thinkingMode,
systemPrompt: systemPrompt || ''
})
});

View File

@@ -158,8 +158,10 @@ const InstallWizard = {
});
});
if (providers.length === 0 || !providers[0].name || !providers[0].apiKey) {
alert('请至少配置一个完整的供应商');
// 供应商配置可选,跳过不完整的条目
const validProviders = providers.filter(p => p.name && p.apiKey);
if (validProviders.length === 0 && providers.length > 0) {
alert('供应商信息不完整,请填写名称和 API Key或删除该条目');
return;
}
@@ -180,7 +182,7 @@ const InstallWizard = {
jwtSecret: document.getElementById('jwtSecret').value || undefined,
jwtExpiry: parseInt(document.getElementById('jwtExpiry').value) || 86400
},
providers: providers
providers: validProviders.length > 0 ? validProviders : []
};
try {

View File

@@ -84,7 +84,7 @@ $envChecks = json_encode([
<div class="step-content" id="step2">
<div class="step-header">
<h2>数据库配置</h2>
<p class="step-desc">填写 MySQL 数据库连接信息</p>
<p class="step-desc">填写 MySQL 数据库连接信息。请确保数据库已提前创建。</p>
</div>
<div class="form-row">
<div class="form-group col-flex-2">
@@ -175,7 +175,7 @@ $envChecks = json_encode([
<div class="step-content" id="step5">
<div class="step-header">
<h2>AI 供应商配置</h2>
<p class="step-desc">至少配置一个 AI 供应商,安装后在设置中添加更多</p>
<p class="step-desc">可选步骤。现在配置或安装后在设置页面中添加</p>
</div>
<div id="providerList">
<!-- 由 JS 动态管理 -->