diff --git a/README.md b/README.md index 89160cb1..bd2da6a1 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,17 @@ --- -## ⭐ 如果觉得有用,点个Star支持一下吧! +## 💎 Claude 拼车 - Claude Code 合租服务推荐 -> 开源不易,你的Star是我持续更新的动力 🚀 -> 欢迎加入 [Telegram 公告频道](https://t.me/claude_relay_service) 获取最新动态 +
在 @@ -449,13 +447,59 @@
{{ codexConfigContent.authInstructions.description }}
+ + ++ {{ codexConfigContent.authInstructions.platform.title }}: +
++ {{ codexConfigContent.authInstructions.persistent.title }}: +
++ {{ codexConfigContent.authInstructions.persistent.description }} +
+- 💡 使用与 Claude Code 相同的 API 密钥即可,格式如 cr_xxxxxxxxxx。 -
@@ -917,16 +961,14 @@在 @@ -936,13 +978,59 @@
{{ codexConfigContent.authInstructions.description }}
+ + ++ {{ codexConfigContent.authInstructions.platform.title }}: +
++ {{ codexConfigContent.authInstructions.persistent.title }}: +
++ {{ codexConfigContent.authInstructions.persistent.description }} +
+- 💡 使用与 Claude Code 相同的 API 密钥即可,格式如 cr_xxxxxxxxxx。 -
@@ -1395,16 +1483,14 @@在 @@ -1414,13 +1500,59 @@
{{ codexConfigContent.authInstructions.description }}
+ + ++ {{ codexConfigContent.authInstructions.platform.title }}: +
++ {{ codexConfigContent.authInstructions.persistent.title }}: +
++ {{ codexConfigContent.authInstructions.persistent.description }} +
+- 💡 使用与 Claude Code 相同的 API 密钥即可,格式如 cr_xxxxxxxxxx。 -
@@ -1627,7 +1759,6 @@ const getBaseUrlPrefix = () => { origin = currentUrl.substring(0, pathStart) } else { // 最后的降级方案,使用相对路径 - console.warn('无法获取完整的 origin,将使用相对路径') return '' } } @@ -1649,6 +1780,92 @@ const geminiBaseUrl = computed(() => { const openaiBaseUrl = computed(() => { return getBaseUrlPrefix() + '/openai' }) + +// Codex 配置内容 +const codexConfigContent = computed(() => { + // 根据当前激活的教程系统获取对应的环境变量设置说明 + const getCurrentPlatformAuthInstructions = () => { + const baseInstructions = { + title: '环境变量设置方法', + description: + '💡 将 OPENAI_API_KEY 设置为 null,然后设置环境变量 CRS_OAI_KEY 为您的 API 密钥(格式如 cr_xxxxxxxxxx)。' + } + + switch (activeTutorialSystem.value) { + case 'windows': + return { + ...baseInstructions, + platform: { + title: 'Windows', + command: 'set CRS_OAI_KEY=cr_xxxxxxxxxx' + } + } + case 'macos': + return { + ...baseInstructions, + platform: { + title: 'macOS', + command: 'export CRS_OAI_KEY=cr_xxxxxxxxxx' + }, + persistent: { + title: 'Shell 配置文件(持久保存)', + description: '添加到您的 shell 配置文件中:', + commands: [ + '# 对于 zsh (默认)', + 'echo "export CRS_OAI_KEY=cr_xxxxxxxxxx" >> ~/.zshrc', + 'source ~/.zshrc', + '', + '# 对于 bash', + 'echo "export CRS_OAI_KEY=cr_xxxxxxxxxx" >> ~/.bash_profile', + 'source ~/.bash_profile' + ] + } + } + case 'linux': + return { + ...baseInstructions, + platform: { + title: 'Linux', + command: 'export CRS_OAI_KEY=cr_xxxxxxxxxx' + }, + persistent: { + title: 'Shell 配置文件(持久保存)', + description: '添加到您的 shell 配置文件中:', + commands: [ + '# 对于 bash (默认)', + 'echo "export CRS_OAI_KEY=cr_xxxxxxxxxx" >> ~/.bashrc', + 'source ~/.bashrc', + '', + '# 对于 zsh', + 'echo "export CRS_OAI_KEY=cr_xxxxxxxxxx" >> ~/.zshrc', + 'source ~/.zshrc' + ] + } + } + default: + return baseInstructions + } + } + + return { + configToml: [ + 'model_provider = "crs"', + 'model = "gpt-5-codex"', + 'model_reasoning_effort = "high"', + 'disable_response_storage = true', + 'preferred_auth_method = "apikey"', + '', + '[model_providers.crs]', + 'name = "crs"', + `base_url = "${openaiBaseUrl.value}"`, + 'wire_api = "responses"', + 'requires_openai_auth = true', + 'env_key = "CRS_OAI_KEY"' + ], + authJson: ['{', ' "OPENAI_API_KEY": null', '}'], + authInstructions: getCurrentPlatformAuthInstructions() + } +})