feat: v0.9.3 — 9项Bug修复+ARM性能优化+R2 CDN加速+非商用协议

This commit is contained in:
晴天
2026-03-16 23:45:03 +08:00
parent 51e49d0781
commit 20d80c3ec5
15 changed files with 129 additions and 70 deletions

View File

@@ -13,7 +13,7 @@ export const API_TYPES = [
// 服务商快捷预设
export const PROVIDER_PRESETS = [
{ key: 'qtcool', label: '晴辰云', badge: '推荐', baseUrl: 'https://gpt.qt.cool/v1', api: 'openai-completions', site: 'https://gpt.qt.cool/', desc: '在力所能及的范围内为用户提供不限量的模型支持,动态获取最新可用模型列表' },
{ key: 'qtcool', label: '晴辰云', badge: '推荐', baseUrl: 'https://gpt.qt.cool/v1', api: 'openai-completions', site: 'https://gpt.qt.cool/', desc: '面板用户免费使用部分模型,付费用户享全系列顶级模型支持,全部模型低至 2-3 折' },
{ key: 'shengsuanyun', label: '胜算云', baseUrl: 'https://router.shengsuanyun.com/api/v1', api: 'openai-completions', site: 'https://www.shengsuanyun.com/?from=CH_4BVI0BM2', desc: '国内知名 AI 模型聚合平台,支持多种主流模型' },
{ key: 'siliconflow', label: '硅基流动', baseUrl: 'https://api.siliconflow.cn/v1', api: 'openai-completions', site: 'https://cloud.siliconflow.cn/i/PFrw2an5', desc: '高性价比推理平台,支持 DeepSeek、Qwen 等开源模型' },
{ key: 'volcengine', label: '火山引擎', baseUrl: 'https://ark.cn-beijing.volces.com/api/v3', api: 'openai-completions', site: 'https://volcengine.com/L/Ph1OP5I3_GY', desc: '字节跳动旗下云平台,支持豆包等模型' },

View File

@@ -2570,7 +2570,7 @@ function showSettings() {
<span style="font-size:10px;background:var(--primary);color:#fff;padding:1px 6px;border-radius:8px">推荐</span>
</div>
<div style="font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5;margin-bottom:10px">
在力所能及的范围内为用户提供不限量的模型支持。选择模型后一键接入助手
面板用户免费使用部分模型,付费用户享全系列顶级模型,全部低至 2-3 折。选择模型后一键接入。
</div>
<div style="display:flex;gap:8px;align-items:center;flex-wrap:wrap">
<select id="ast-qtcool-model" class="form-input" style="font-size:12px;padding:5px 10px;min-width:140px;flex:1">

View File

@@ -84,21 +84,29 @@ async function loadDashboardData(page, fullRefresh = false) {
if (servicesRes.status === 'rejected') toast('服务状态加载失败', 'error')
if (versionRes.status === 'rejected') toast('版本信息加载失败', 'error')
// 自愈:补全关键默认值
// 自愈:补全关键默认值(先重新读取最新配置再 patch避免用缓存覆盖其他页面的写入
if (config) {
let patched = false
if (!config.gateway) config.gateway = {}
if (!config.gateway.mode) { config.gateway.mode = 'local'; patched = true }
// 修复旧版错误mode 不应在顶层OpenClaw 不认识)
if (config.mode) { delete config.mode; patched = true }
if (!config.tools || config.tools.profile !== 'full') {
config.tools = { profile: 'full', sessions: { visibility: 'all' }, ...(config.tools || {}) }
config.tools.profile = 'full'
if (!config.tools.sessions) config.tools.sessions = {}
config.tools.sessions.visibility = 'all'
patched = true
let needsPatch = false
if (!config.gateway?.mode) needsPatch = true
if (config.mode) needsPatch = true
if (!config.tools || config.tools.profile !== 'full') needsPatch = true
if (needsPatch) {
try {
const freshConfig = await api.readOpenclawConfig()
let patched = false
if (!freshConfig.gateway) freshConfig.gateway = {}
if (!freshConfig.gateway.mode) { freshConfig.gateway.mode = 'local'; patched = true }
if (freshConfig.mode) { delete freshConfig.mode; patched = true }
if (!freshConfig.tools || freshConfig.tools.profile !== 'full') {
freshConfig.tools = { profile: 'full', sessions: { visibility: 'all' }, ...(freshConfig.tools || {}) }
freshConfig.tools.profile = 'full'
if (!freshConfig.tools.sessions) freshConfig.tools.sessions = {}
freshConfig.tools.sessions.visibility = 'all'
patched = true
}
if (patched) api.writeOpenclawConfig(freshConfig).catch(() => {})
} catch {}
}
if (patched) api.writeOpenclawConfig(config).catch(() => {})
}
renderStatCards(page, services, version, [], config)

View File

@@ -33,7 +33,7 @@ export async function render() {
<span style="font-size:10px;background:var(--primary);color:#fff;padding:1px 6px;border-radius:8px">推荐</span>
</div>
<div style="font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5">
在力所能及的范围内为用户提供不限量的模型支持,动态获取最新可用模型列表
面板用户免费使用部分模型,付费用户享全系列顶级模型支持,全部模型低至 2-3 折
</div>
</div>
<div style="display:flex;gap:8px;align-items:center;flex-shrink:0">