chore: 更新openai、claude使用秘钥教程部分
This commit is contained in:
@@ -2341,7 +2341,7 @@ import { applyInterceptWarmup } from '@/components/account/credentialsBuilder'
|
|||||||
import { formatDateTimeLocalInput, parseDateTimeLocalInput } from '@/utils/format'
|
import { formatDateTimeLocalInput, parseDateTimeLocalInput } from '@/utils/format'
|
||||||
import { createStableObjectKeyResolver } from '@/utils/stableObjectKey'
|
import { createStableObjectKeyResolver } from '@/utils/stableObjectKey'
|
||||||
import {
|
import {
|
||||||
OPENAI_WS_MODE_CTX_POOL,
|
// OPENAI_WS_MODE_CTX_POOL,
|
||||||
OPENAI_WS_MODE_OFF,
|
OPENAI_WS_MODE_OFF,
|
||||||
OPENAI_WS_MODE_PASSTHROUGH,
|
OPENAI_WS_MODE_PASSTHROUGH,
|
||||||
isOpenAIWSModeEnabled,
|
isOpenAIWSModeEnabled,
|
||||||
@@ -2542,7 +2542,8 @@ const geminiSelectedTier = computed(() => {
|
|||||||
|
|
||||||
const openAIWSModeOptions = computed(() => [
|
const openAIWSModeOptions = computed(() => [
|
||||||
{ value: OPENAI_WS_MODE_OFF, label: t('admin.accounts.openai.wsModeOff') },
|
{ value: OPENAI_WS_MODE_OFF, label: t('admin.accounts.openai.wsModeOff') },
|
||||||
{ value: OPENAI_WS_MODE_CTX_POOL, label: t('admin.accounts.openai.wsModeCtxPool') },
|
// TODO: ctx_pool 选项暂时隐藏,待测试完成后恢复
|
||||||
|
// { value: OPENAI_WS_MODE_CTX_POOL, label: t('admin.accounts.openai.wsModeCtxPool') },
|
||||||
{ value: OPENAI_WS_MODE_PASSTHROUGH, label: t('admin.accounts.openai.wsModePassthrough') }
|
{ value: OPENAI_WS_MODE_PASSTHROUGH, label: t('admin.accounts.openai.wsModePassthrough') }
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@@ -1273,7 +1273,7 @@ import { applyInterceptWarmup } from '@/components/account/credentialsBuilder'
|
|||||||
import { formatDateTimeLocalInput, parseDateTimeLocalInput } from '@/utils/format'
|
import { formatDateTimeLocalInput, parseDateTimeLocalInput } from '@/utils/format'
|
||||||
import { createStableObjectKeyResolver } from '@/utils/stableObjectKey'
|
import { createStableObjectKeyResolver } from '@/utils/stableObjectKey'
|
||||||
import {
|
import {
|
||||||
OPENAI_WS_MODE_CTX_POOL,
|
// OPENAI_WS_MODE_CTX_POOL,
|
||||||
OPENAI_WS_MODE_OFF,
|
OPENAI_WS_MODE_OFF,
|
||||||
OPENAI_WS_MODE_PASSTHROUGH,
|
OPENAI_WS_MODE_PASSTHROUGH,
|
||||||
isOpenAIWSModeEnabled,
|
isOpenAIWSModeEnabled,
|
||||||
@@ -1388,7 +1388,8 @@ const codexCLIOnlyEnabled = ref(false)
|
|||||||
const anthropicPassthroughEnabled = ref(false)
|
const anthropicPassthroughEnabled = ref(false)
|
||||||
const openAIWSModeOptions = computed(() => [
|
const openAIWSModeOptions = computed(() => [
|
||||||
{ value: OPENAI_WS_MODE_OFF, label: t('admin.accounts.openai.wsModeOff') },
|
{ value: OPENAI_WS_MODE_OFF, label: t('admin.accounts.openai.wsModeOff') },
|
||||||
{ value: OPENAI_WS_MODE_CTX_POOL, label: t('admin.accounts.openai.wsModeCtxPool') },
|
// TODO: ctx_pool 选项暂时隐藏,待测试完成后恢复
|
||||||
|
// { value: OPENAI_WS_MODE_CTX_POOL, label: t('admin.accounts.openai.wsModeCtxPool') },
|
||||||
{ value: OPENAI_WS_MODE_PASSTHROUGH, label: t('admin.accounts.openai.wsModePassthrough') }
|
{ value: OPENAI_WS_MODE_PASSTHROUGH, label: t('admin.accounts.openai.wsModePassthrough') }
|
||||||
])
|
])
|
||||||
const openaiResponsesWebSocketV2Mode = computed({
|
const openaiResponsesWebSocketV2Mode = computed({
|
||||||
|
|||||||
@@ -443,7 +443,22 @@ $env:ANTHROPIC_AUTH_TOKEN="${apiKey}"`
|
|||||||
content = ''
|
content = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
return [{ path, content }]
|
const vscodeSettingsPath = activeTab.value === 'unix'
|
||||||
|
? '~/.claude/settings.json'
|
||||||
|
: '%userprofile%\\.claude\\settings.json'
|
||||||
|
|
||||||
|
const vscodeContent = `{
|
||||||
|
"env": {
|
||||||
|
"ANTHROPIC_BASE_URL": "${baseUrl}",
|
||||||
|
"ANTHROPIC_AUTH_TOKEN": "${apiKey}",
|
||||||
|
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
|
||||||
|
}
|
||||||
|
}`
|
||||||
|
|
||||||
|
return [
|
||||||
|
{ path, content },
|
||||||
|
{ path: vscodeSettingsPath, content: vscodeContent, hint: 'VSCode Claude Code' }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateGeminiCliContent(baseUrl: string, apiKey: string): FileConfig {
|
function generateGeminiCliContent(baseUrl: string, apiKey: string): FileConfig {
|
||||||
@@ -496,16 +511,16 @@ function generateOpenAIFiles(baseUrl: string, apiKey: string): FileConfig[] {
|
|||||||
const configDir = isWindows ? '%userprofile%\\.codex' : '~/.codex'
|
const configDir = isWindows ? '%userprofile%\\.codex' : '~/.codex'
|
||||||
|
|
||||||
// config.toml content
|
// config.toml content
|
||||||
const configContent = `model_provider = "sub2api"
|
const configContent = `model_provider = "OpenAI"
|
||||||
model = "gpt-5.3-codex"
|
model = "gpt-5.3-codex"
|
||||||
model_reasoning_effort = "high"
|
review_model = "gpt-5.3-codex"
|
||||||
network_access = "enabled"
|
model_reasoning_effort = "xhigh"
|
||||||
disable_response_storage = true
|
disable_response_storage = true
|
||||||
|
network_access = "enabled"
|
||||||
windows_wsl_setup_acknowledged = true
|
windows_wsl_setup_acknowledged = true
|
||||||
model_verbosity = "high"
|
|
||||||
|
|
||||||
[model_providers.sub2api]
|
[model_providers.OpenAI]
|
||||||
name = "sub2api"
|
name = "OpenAI"
|
||||||
base_url = "${baseUrl}"
|
base_url = "${baseUrl}"
|
||||||
wire_api = "responses"
|
wire_api = "responses"
|
||||||
requires_openai_auth = true`
|
requires_openai_auth = true`
|
||||||
@@ -533,16 +548,16 @@ function generateOpenAIWsFiles(baseUrl: string, apiKey: string): FileConfig[] {
|
|||||||
const configDir = isWindows ? '%userprofile%\\.codex' : '~/.codex'
|
const configDir = isWindows ? '%userprofile%\\.codex' : '~/.codex'
|
||||||
|
|
||||||
// config.toml content with WebSocket v2
|
// config.toml content with WebSocket v2
|
||||||
const configContent = `model_provider = "sub2api"
|
const configContent = `model_provider = "OpenAI"
|
||||||
model = "gpt-5.3-codex"
|
model = "gpt-5.3-codex"
|
||||||
model_reasoning_effort = "high"
|
review_model = "gpt-5.3-codex"
|
||||||
network_access = "enabled"
|
model_reasoning_effort = "xhigh"
|
||||||
disable_response_storage = true
|
disable_response_storage = true
|
||||||
|
network_access = "enabled"
|
||||||
windows_wsl_setup_acknowledged = true
|
windows_wsl_setup_acknowledged = true
|
||||||
model_verbosity = "high"
|
|
||||||
|
|
||||||
[model_providers.sub2api]
|
[model_providers.OpenAI]
|
||||||
name = "sub2api"
|
name = "OpenAI"
|
||||||
base_url = "${baseUrl}"
|
base_url = "${baseUrl}"
|
||||||
wire_api = "responses"
|
wire_api = "responses"
|
||||||
supports_websockets = true
|
supports_websockets = true
|
||||||
|
|||||||
Reference in New Issue
Block a user