feat(codex): 拆分openai:compact为独立端点,简化Codex请求为透传模式

- 新增openai:compact端点类型(EndpointKind.COMPACT),独立于openai:cli
- OpenAICompactAdapter继承OpenAICliAdapter,自动标记compact模式
- Codex请求补丁改为纯透传:仅清理内部标记,不再修改客户端payload
- stream_policy支持openai:compact独立策略,compact端点移除stream字段
- candidate_builder支持compact回退到cli端点
- auth_type: vertex_ai重命名为service_account,保持向后兼容
- Vertex Provider新增api_formats与auth_type组合校验
- KeyAllowedModels对话框改为从Provider获取模型,展示provider_model_name
- Dialog内Select组件自动禁用Portal,修复层级遮挡问题
- 新增Codex compact端点回填迁移脚本
This commit is contained in:
fawney19
2026-03-01 23:55:26 +08:00
parent 4bf3a453e7
commit 97d42703da
37 changed files with 650 additions and 286 deletions

View File

@@ -92,8 +92,9 @@
</template>
<script setup lang="ts">
import { computed, useSlots, type Component } from 'vue'
import { computed, provide, useSlots, type Component } from 'vue'
import { useEscapeKey } from '@/composables/useEscapeKey'
import { DIALOG_CONTEXT_KEY } from './context'
// Props 定义
const props = defineProps<{
@@ -116,6 +117,8 @@ const emit = defineEmits<{
'update:modelValue': [value: boolean]
}>()
provide(DIALOG_CONTEXT_KEY, true)
// 获取 slots 以便在模板中使用
const slots = useSlots()

View File

@@ -0,0 +1,3 @@
import type { InjectionKey } from 'vue'
export const DIALOG_CONTEXT_KEY: InjectionKey<boolean> = Symbol('dialog-context')