优化: 缓存命中字段解析与提示词前缀稳定化
- openai 兼容口径补解析嵌套 cached_tokens - cache 显示区分无数据与真零,估算轮不渲染 - 轨迹展开折叠空过程记录行降噪 - token 统计行恒完整可见不截断 - openai_compat 纳入 system 稳定易变拆分 - 系统警示与主题标记改尾部注入不位移前缀 - 工具结果视图压缩按入库时刻冻结 - 会话内工具集冻结仅增不减 - anthropic 缓存补消息级断点,设置页加开关 - 补 intent 测试对 Agent domain 覆盖
This commit is contained in:
@@ -33,6 +33,24 @@
|
||||
@providers-changed="onProvidersChanged"
|
||||
/>
|
||||
|
||||
<!-- AI Prompt 缓存总开关(KV df-ai-anthropic-cache,默认关;后端每请求读 settings,改后即时生效)
|
||||
开:Anthropic 协议端点 system+历史段显式缓存断点;openai_compat 前缀稳定拆分(易变段挪消息流末尾) -->
|
||||
<section v-if="activeCategory === 'ai-model'" class="panel">
|
||||
<div class="panel-header">
|
||||
<h2>{{ $t('settings.panelAnthropicCache') }}</h2>
|
||||
</div>
|
||||
<SettingRow :label="$t('settings.labelAnthropicCache')" :desc="$t('settings.descAnthropicCache')">
|
||||
<label class="toggle">
|
||||
<input
|
||||
type="checkbox"
|
||||
:checked="anthropicCache"
|
||||
@change="anthropicCache = ($event.target as HTMLInputElement).checked"
|
||||
/>
|
||||
<span class="toggle-slider"></span>
|
||||
</label>
|
||||
</SettingRow>
|
||||
</section>
|
||||
|
||||
<!-- 知识库:auto_extract/trigger_mode/embedding_* -->
|
||||
<KnowledgePanel
|
||||
v-else-if="activeCategory === 'knowledge'"
|
||||
@@ -68,6 +86,7 @@ import { useConfirm } from '@/composables/useConfirm'
|
||||
import { useToast } from '@/composables/useToast'
|
||||
import ConfirmDialog from '@/components/ConfirmDialog.vue'
|
||||
import SettingsNav, { type SettingsCategory } from '@/components/settings/SettingsNav.vue'
|
||||
import SettingRow from '@/components/settings/SettingRow.vue'
|
||||
import ProviderPanel from '@/components/settings/ProviderPanel.vue'
|
||||
import ConnectionPanel from '@/components/settings/ConnectionPanel.vue'
|
||||
import AppearanceSection from '@/components/settings/AppearanceSection.vue'
|
||||
@@ -108,6 +127,10 @@ const activeCategory = computed<SettingsCategory>({
|
||||
set: (v) => { void appSettings.set('df-settings-active-category', v) },
|
||||
})
|
||||
|
||||
// AI Prompt 缓存总开关(KV df-ai-anthropic-cache,默认关,与后端 prompt.rs cache_enabled 同键;
|
||||
// 值落库为 JSON 布尔,后端 "true"/"1" 判定兼容)
|
||||
const anthropicCache = appSettings.useSetting<boolean>('df-ai-anthropic-cache', false)
|
||||
|
||||
// 窄屏响应式:监听窗口宽度,nav 折叠为横向 tab(避免依赖仅 CSS 的 :has,
|
||||
// 并让 SettingsNav 按横向模式渲染 list)
|
||||
const isNarrowScreen = ref(false)
|
||||
|
||||
Reference in New Issue
Block a user