Skip to content

fix: resolve executor compile regressions#266

Closed
KooshaPari wants to merge 421 commits intorouter-for-me:mainfrom
KooshaPari:ci-compile-fix-clean-single2
Closed

fix: resolve executor compile regressions#266
KooshaPari wants to merge 421 commits intorouter-for-me:mainfrom
KooshaPari:ci-compile-fix-clean-single2

Conversation

@KooshaPari
Copy link
Copy Markdown

Corrected compile regression fixes only; recreating PR to correct target repo/branch context.

KooshaPari and others added 30 commits February 22, 2026 16:36
# Conflicts:
#	docs/planning/reports/issue-wave-gh-next21-lane-6.md
#	pkg/llmproxy/api/modules/amp/routes_test.go
These fields are not supported by Codex Responses API and cause upstream errors.

Fixes: router-for-me#1667
- Replace manual prefix/suffix checks with strings.TrimPrefix/TrimSuffix
- Remove unused functions and variables in kiro_executor.go and request_logger.go
- Move default case to the end of switch statement in kiro_executor.go
- Fix function signatures and call sites in kiro_executor.go where arguments were immediately overwritten

Co-authored-by: Cursor <cursoragent@cursor.com>
- Added unit tests for internal/auth packages (codex, copilot, gemini, kiro).
- Added unit tests for internal/runtime/executor, specifically for Kiro executor.
- Added unit tests for various internal translators.
- Improved internal/api and sdk test coverage.
- Fixed a race condition in Kiro social authentication callback server.
- Updated .gitignore to exclude build artifacts and coverage files.
- Cleaned up go.mod and go.sum with go mod tidy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…rs and fix kiro_websearch functions

This commit:
- Updates cmd/codegen/main.go to support multiple templates and directories.
- Embeds GeneratedConfig in internal/config/Config.
- Restores SSE and message ID functions in internal/translator/kiro/claude/kiro_websearch.go.
- Adds pkg/llmproxy/ directory structure for shared components.
- Fixes missing strings import in generated config files.

Co-authored-by: Cursor <cursoragent@cursor.com>
Renamed references to CLIProxyAPIPlus to cliproxyapi++ (display) and cliproxyapi-plusplus (technical). Updated GitHub remote and internal URLs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
KooshaPari and others added 26 commits February 22, 2026 21:43
…260223-v2

docs: replace marketing language with concise technical wording
…-20260223

merge: absorb heliosharness parity branch functional delta
@KooshaPari KooshaPari closed this Feb 23, 2026
@KooshaPari KooshaPari deleted the ci-compile-fix-clean-single2 branch February 23, 2026 05:29
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @KooshaPari, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly overhauls the project's foundation by rebranding it to cliproxyapi++ and implementing a library-first architecture. The changes aim to enhance modularity, improve development workflows through new quality gates and CI/CD practices, and provide comprehensive documentation for various user roles. It also expands support for a wider range of LLM providers and refines configuration management for better operational control.

Highlights

  • Architectural Refactoring: The project has been refactored from CLIProxyAPIPlus to cliproxyapi++, with core logic moved from internal/ to a reusable pkg/llmproxy library, enabling embedding in other Go applications.
  • Enhanced Build & Deployment: Updated Docker configurations, .goreleaser.yml, and added docker-init.sh to streamline building and deployment, including multi-arch support and environment variable overrides for runtime configuration.
  • Improved Quality Gates & CI/CD: Introduced new GitHub workflow policies and scripts for approved external endpoints, required checks, distributed critical paths, docs secret samples, open items parity, workflow token permissions, and release linting. A Taskfile.yml and .pre-commit-config.yaml were added for unified development experience and quality checks.
  • Comprehensive Documentation: Extensive new documentation has been added under the docs/ directory, covering API references, feature guides (architecture, authentication, security, operations, providers), audience-specific docsets, planning boards, and detailed guides for getting started, installation, and troubleshooting.
  • Expanded Provider Login Options: The cmd/server/main.go now includes new login flags for various providers such as Roo Code, MiniMax, DeepSeek, Groq, Mistral, SiliconFlow, OpenRouter, Together AI, Fireworks AI, and Novita AI, alongside existing ones.
  • Configuration Management Enhancements: Added strict configuration file validation and improved default config path resolution, ensuring more robust and predictable application startup.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .env.example
    • Added Docker runtime configuration variables.
  • .github/ISSUE_TEMPLATE/bug_report.md
    • Updated bug report template fields for clarity and specificity.
  • .github/policies/approved-external-endpoints.txt
    • Added a new policy file listing approved external endpoint hosts.
  • .github/release-required-checks.txt
    • Added a new file specifying required checks for releases.
  • .github/required-checks.txt
    • Added a new file specifying required checks for pull requests.
  • .github/scripts/check-approved-external-endpoints.sh
    • Added a new script to enforce the approved external endpoints policy.
  • .github/scripts/check-distributed-critical-paths.sh
    • Added a new script to validate distributed critical paths.
  • .github/scripts/check-docs-secret-samples.sh
    • Added a new script to check for potential secret samples in documentation.
  • .github/scripts/check-open-items-fragmented-parity.sh
    • Added a new script to ensure parity in open items reports.
  • .github/scripts/check-workflow-token-permissions.sh
    • Added a new script to verify GitHub Actions workflow token permissions.
  • .github/scripts/release-lint.sh
    • Added a new script for release linting and markdown snippet parsing validation.
  • .github/scripts/tests/check-open-items-fragmented-parity-test.sh
    • Added a test script for the open items parity check.
  • .github/scripts/tests/fixtures/open-items-parity/fail-missing-status.md
    • Added a fixture for failing open items status due to missing status mapping.
  • .github/scripts/tests/fixtures/open-items-parity/fail-status-partial.md
    • Added a fixture for failing open items status due to partial implementation status.
  • .github/scripts/tests/fixtures/open-items-parity/pass-hash-status-done.md
    • Added a fixture for passing open items status with '#status: done'.
  • .github/scripts/tests/fixtures/open-items-parity/pass-status-implemented.md
    • Added a fixture for passing open items status with 'Status: Implemented'.
  • .gitignore
    • Updated ignored files to include new build artifacts and documentation build output.
  • .golangci.yml
    • Added a new configuration file for golangci-lint.
  • .goreleaser.yml
    • Updated the binary name and version string for releases.
  • .pre-commit-config.yaml
    • Added pre-commit hooks for automated quality checks.
  • CHANGELOG.md
    • Added a new changelog file to document project changes.
  • CONTRIBUTING.md
    • Added a new contributing guide for developers.
  • Dockerfile
    • Updated the binary name, included docker-init.sh, exposed additional ports, and added new environment variables for runtime configuration.
  • LICENSE
    • Updated copyright information to include KooshaPari.
  • README.md
    • Rewrote the main README to reflect the new project name, architecture, features, and extensive documentation links.
  • README_CN.md
    • Rewrote the Chinese README with similar updates to reflect the new project.
  • README_FA.md
    • Added a new README in Farsi.
  • SECURITY.md
    • Added a new security policy document.
  • Taskfile.yml
    • Added a new Taskfile for defining and running build, test, and quality commands.
  • cmd/boardsync/main.go
    • Added a new Go tool for syncing GitHub sources and generating planning board artifacts.
  • cmd/codegen/main.go
    • Added a new Go tool for code generation related to provider configurations.
  • cmd/releasebatch/main.go
    • Added a new Go tool for managing release tags and generating release notes.
  • cmd/releasebatch/main_test.go
    • Added tests for the release batch tool.
  • cmd/server/config_path.go
    • Added logic for resolving default configuration paths based on environment and deployment context.
  • cmd/server/config_path_test.go
    • Added tests for the config path resolution logic.
  • cmd/server/config_validate.go
    • Added strict configuration file validation using yaml.v3's KnownFields.
  • cmd/server/config_validate_test.go
    • Added tests for the strict config validation.
  • cmd/server/main.go
    • Updated imports from internal to pkg/llmproxy, added new login flags for various providers, and integrated new config path resolution and incognito flag validation.
  • cmd/server/main_kiro_flags_test.go
    • Added tests for Kiro incognito flags validation.
  • config.example.yaml
    • Updated default string values, removed passthrough-headers and claude-header-defaults sections, and added new provider configuration examples.
  • docker-compose.yml
    • Updated the Docker image name, container name, and added new environment variables for runtime configuration overrides.
  • docker-init.sh
    • Added a new script to serve as the Docker entrypoint, handling config generation and environment variable overrides.
  • docs/.vitepress/config.ts
    • Added VitePress configuration for the documentation site.
  • docs/.vitepress/plugins/content-tabs.ts
    • Added a VitePress plugin to support content tabs in markdown.
  • docs/.vitepress/theme/index.ts
    • Added VitePress theme configuration, integrating the content tabs client script.
  • docs/FEATURE_CHANGES_PLUSPLUS.md
    • Added a document detailing feature changes and their impact in cliproxyapi++.
  • docs/README.md
    • Added a comprehensive documentation map.
  • docs/api/index.md
    • Added API index documentation.
  • docs/api/management.md
    • Added management API documentation.
  • docs/api/openai-compatible.md
    • Added OpenAI-compatible API documentation.
  • docs/api/operations.md
    • Added operations API documentation.
  • docs/docsets/agent/index.md
    • Added agent operator docset.
  • docs/docsets/agent/operating-model.md
    • Added agent operating model documentation.
  • docs/docsets/developer/external/index.md
    • Added external developer docset.
  • docs/docsets/developer/external/integration-quickstart.md
    • Added integration quickstart for external developers.
  • docs/docsets/developer/internal/architecture.md
    • Added internal architecture documentation.
  • docs/docsets/developer/internal/index.md
    • Added internal developer docset.
  • docs/docsets/index.md
    • Added docsets index.
  • docs/docsets/user/index.md
    • Added technical user docset.
  • docs/docsets/user/quickstart.md
    • Added technical user quickstart.
  • docs/features/architecture/DEV.md
    • Added developer guide for architecture.
  • docs/features/architecture/SPEC.md
    • Added technical specification for architecture.
  • docs/features/architecture/USER.md
    • Added user guide for architecture.
  • docs/features/architecture/fragemented/.fragmented-candidates.txt
    • Added fragmented candidates file.
  • docs/features/architecture/fragemented/.migration.log
    • Added migration log.
  • docs/features/architecture/fragemented/DEV.md
    • Added fragmented DEV.md.
  • docs/features/architecture/fragemented/README.md
    • Added fragmented README.md.
  • docs/features/architecture/fragemented/SPEC.md
    • Added fragmented SPEC.md.
  • docs/features/architecture/fragemented/USER.md
    • Added fragmented USER.md.
  • docs/features/architecture/fragemented/explanation.md
    • Added fragmented explanation.
  • docs/features/architecture/fragemented/index.md
    • Added fragmented index.
  • docs/features/architecture/fragemented/merged.md
    • Added merged fragmented markdown.
  • docs/features/auth/DEV.md
    • Added developer guide for authentication.
  • docs/features/auth/SPEC.md
    • Added technical specification for authentication.
  • docs/features/auth/USER.md
    • Added user guide for authentication.
  • docs/features/auth/index.md
    • Added authentication feature docs index.
  • docs/features/index.md
    • Added feature guides index.
  • docs/features/operations/SPEC.md
    • Added technical specification for operations.
  • docs/features/operations/USER.md
    • Added user guide for operations.
  • docs/features/operations/index.md
    • Added operations feature docs index.
  • docs/features/providers/SPEC.md
    • Added technical specification for providers.
  • docs/features/providers/USER.md
    • Added user guide for providers.
  • docs/features/providers/fragemented/.fragmented-candidates.txt
    • Added fragmented candidates file.
  • docs/features/providers/fragemented/.migration.log
    • Added migration log.
  • docs/features/providers/fragemented/README.md
    • Added fragmented README.md.
  • docs/features/providers/fragemented/SPEC.md
    • Added fragmented SPEC.md.
  • docs/features/providers/fragemented/USER.md
    • Added fragmented USER.md.
  • docs/features/providers/fragemented/explanation.md
    • Added fragmented explanation.
  • docs/features/providers/fragemented/index.md
    • Added fragmented index.
  • docs/features/providers/fragemented/merged.md
    • Added merged fragmented markdown.
  • docs/features/security/SPEC.md
    • Added technical specification for security hardening.
  • docs/features/security/USER.md
    • Added user guide for security hardening.
  • docs/features/security/index.md
    • Added security feature docs index.
  • docs/getting-started.md
    • Added getting started guide.
  • docs/guides/CHANGELOG_ENTRY_TEMPLATE.md
    • Added changelog entry template.
  • docs/guides/CHANGELOG_PROCESS.md
    • Added changelog process guide.
  • docs/guides/PROJECT_SETUP_STYLE.md
    • Added project setup style guide.
  • docs/guides/release-batching.md
    • Added release batching guide.
  • docs/index.md
    • Added main documentation index.
  • docs/install.md
    • Added installation guide.
  • docs/operations/auth-refresh-failure-symptom-fix.md
    • Added auth refresh failure symptom/fix table.
  • docs/operations/checks-owner-responder-map.md
    • Added checks-to-owner responder map.
  • docs/operations/critical-endpoints-curl-pack.md
    • Added critical endpoints curl pack.
  • docs/operations/distributed-fs-compute-status.md
    • Added distributed FS/compute status document.
  • docs/operations/index.md
    • Added operations response kit index.
  • docs/operations/provider-outage-triage-quick-guide.md
    • Added provider outage triage quick guide.
  • docs/operations/release-governance.md
    • Added release governance and checklist.
  • docs/operations/required-branch-check-ownership.md
    • Added required branch check ownership document.
Ignored Files
  • Ignored by pattern: .github/workflows/** (8)
    • .github/workflows/ci-rerun-flaky.yml
    • .github/workflows/codeql.yml
    • .github/workflows/pr-path-guard.yml
    • .github/workflows/pr-test-build.yml
    • .github/workflows/release-batch.yaml
    • .github/workflows/release.yaml
    • .github/workflows/required-check-names-guard.yml
    • .github/workflows/vitepress-pages.yml
Activity
  • KooshaPari opened this pull request to fix executor compile regressions.
  • The pull request includes a significant amount of new files, primarily for documentation and CI/CD scripts.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces significant changes across the project, primarily focusing on enhancing CI/CD, documentation, and Docker deployment. Key updates include a comprehensive refactoring of GitHub Actions workflows with new scripts for checking external endpoints, distributed critical paths, documentation secret samples, open-item parity, and workflow token permissions. New configuration files for golangci-lint and pre-commit hooks are added, alongside a structured CHANGELOG.md and an updated CONTRIBUTING.md that clarifies governance and a 'Path Guard' mechanism. The project's naming convention is updated from 'cli-proxy-api-plus' to 'cliproxyapi++', reflected in .goreleaser.yml, Dockerfile, docker-compose.yml, and README.md files. The Dockerfile is further enhanced with a new docker-init.sh entrypoint script to manage configuration and environment variable overrides, and the .env.example file is updated to reflect these new Docker runtime configuration options. The cmd/server/main.go file sees updates to its import paths, moving from internal/ to pkg/llmproxy/ for core components, and introduces new CLI flags for various provider logins and a setup wizard, along with improved config path resolution and validation. The config.example.yaml file is updated with new provider blocks (Cursor, MiniMax, Roo, Kilo, DeepSeek, Groq, Mistral, SiliconFlow, OpenRouter, Together, Fireworks, Novita) and removes passthrough-headers and claude-header-defaults. Documentation under docs/ is extensively updated to reflect the new cliproxyapi++ branding, features, and architectural changes, including new guides for developers, users, and agent operators, and detailed technical specifications for architecture, authentication, operations, and providers. Review comments highlight a critical issue in docker-init.sh where sed commands for environment variable overrides incorrectly handle YAML indentation, potentially leading to silent failures, and point out a misleading filename README_FA.md which contains Chinese content instead of Farsi, suggesting it should be renamed or removed.

Comment on lines +74 to +96
if [ -n "${CLIPROXY_SECRET_KEY}" ]; then
echo "[docker-init] Setting management secret-key from env"
sed -i "s/secret-key:.*/secret-key: \"${CLIPROXY_SECRET_KEY}\"/" "${CONFIG_FILE}" 2>/dev/null || \
sed -i '' "s/secret-key:.*/secret-key: \"${CLIPROXY_SECRET_KEY}\"/" "${CONFIG_FILE}" 2>/dev/null || true
fi

if [ -n "${CLIPROXY_ALLOW_REMOTE}" ]; then
echo "[docker-init] Setting allow-remote from env: ${CLIPROXY_ALLOW_REMOTE}"
sed -i "s/allow-remote:.*/allow-remote: ${CLIPROXY_ALLOW_REMOTE}/" "${CONFIG_FILE}" 2>/dev/null || \
sed -i '' "s/allow-remote:.*/allow-remote: ${CLIPROXY_ALLOW_REMOTE}/" "${CONFIG_FILE}" 2>/dev/null || true
fi

if [ -n "${CLIPROXY_DEBUG}" ]; then
echo "[docker-init] Setting debug from env: ${CLIPROXY_DEBUG}"
sed -i "s/^debug:.*/debug: ${CLIPROXY_DEBUG}/" "${CONFIG_FILE}" 2>/dev/null || \
sed -i '' "s/^debug:.*/debug: ${CLIPROXY_DEBUG}/" "${CONFIG_FILE}" 2>/dev/null || true
fi

if [ -n "${CLIPROXY_ROUTING_STRATEGY}" ]; then
echo "[docker-init] Setting routing strategy from env: ${CLIPROXY_ROUTING_STRATEGY}"
sed -i "s/strategy:.*/strategy: \"${CLIPROXY_ROUTING_STRATEGY}\"/" "${CONFIG_FILE}" 2>/dev/null || \
sed -i '' "s/strategy:.*/strategy: \"${CLIPROXY_ROUTING_STRATEGY}\"/" "${CONFIG_FILE}" 2>/dev/null || true
fi
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The sed commands for overriding nested configuration keys like secret-key, allow-remote, and strategy are incorrect as they don't account for YAML indentation. This will cause the environment variable overrides to fail silently. To make these replacements robust, the sed commands should capture and preserve the leading whitespace.

For example, for secret-key, the command should be:
sed -i "s/^[[:space:]]*secret-key:.*/ secret-key: \"${CLIPROXY_SECRET_KEY}\"/" "${CONFIG_FILE}"

This ensures the replacement respects the YAML structure. A similar change is needed for allow-remote and strategy.

if [ -n "${CLIPROXY_SECRET_KEY}" ]; then
    echo "[docker-init] Setting management secret-key from env"
    sed -i "s/^[[:space:]]*secret-key:.*/  secret-key: \"${CLIPROXY_SECRET_KEY}\"/" "${CONFIG_FILE}" 2>/dev/null || \
    sed -i '' "s/^[[:space:]]*secret-key:.*/  secret-key: \"${CLIPROXY_SECRET_KEY}\"/" "${CONFIG_FILE}" 2>/dev/null || true
fi

if [ -n "${CLIPROXY_ALLOW_REMOTE}" ]; then
    echo "[docker-init] Setting allow-remote from env: ${CLIPROXY_ALLOW_REMOTE}"
    sed -i "s/^[[:space:]]*allow-remote:.*/  allow-remote: ${CLIPROXY_ALLOW_REMOTE}/" "${CONFIG_FILE}" 2>/dev/null || \
    sed -i '' "s/^[[:space:]]*allow-remote:.*/  allow-remote: ${CLIPROXY_ALLOW_REMOTE}/" "${CONFIG_FILE}" 2>/dev/null || true
fi

if [ -n "${CLIPROXY_DEBUG}" ]; then
    echo "[docker-init] Setting debug from env: ${CLIPROXY_DEBUG}"
    sed -i "s/^debug:.*/debug: ${CLIPROXY_DEBUG}/" "${CONFIG_FILE}" 2>/dev/null || \
    sed -i '' "s/^debug:.*/debug: ${CLIPROXY_DEBUG}/" "${CONFIG_FILE}" 2>/dev/null || true
fi

if [ -n "${CLIPROXY_ROUTING_STRATEGY}" ]; then
    echo "[docker-init] Setting routing strategy from env: ${CLIPROXY_ROUTING_STRATEGY}"
    sed -i "s/^[[:space:]]*strategy:.*/  strategy: \"${CLIPROXY_ROUTING_STRATEGY}\"/" "${CONFIG_FILE}" 2>/dev/null || \
    sed -i '' "s/^[[:space:]]*strategy:.*/  strategy: \"${CLIPROXY_ROUTING_STRATEGY}\"/" "${CONFIG_FILE}" 2>/dev/null || true
fi

Comment on lines +1 to +100
# CLIProxyAPI Plus

[English](README.md) | 中文

这是 [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI) 的 Plus 版本,在原有基础上增加了第三方供应商的支持。

所有的第三方供应商支持都由第三方社区维护者提供,CLIProxyAPI 不提供技术支持。如需取得支持,请与对应的社区维护者联系。

该 Plus 版本的主线功能与主线功能强制同步。

## 与主线版本版本差异

- 新增 GitHub Copilot 支持(OAuth 登录),由[em4go](https://github.com/em4go/CLIProxyAPI/tree/feature/github-copilot-auth)提供
- 新增 Kiro (AWS CodeWhisperer) 支持 (OAuth 登录), 由[fuko2935](https://github.com/fuko2935/CLIProxyAPI/tree/feature/kiro-integration)、[Ravens2121](https://github.com/Ravens2121/CLIProxyAPIPlus/)提供

## 新增功能 (Plus 增强版)

- **OAuth Web 认证**: 基于浏览器的 Kiro OAuth 登录,提供美观的 Web UI
- **请求限流器**: 内置请求限流,防止 API 滥用
- **后台令牌刷新**: 过期前 10 分钟自动刷新令牌
- **监控指标**: 请求指标收集,用于监控和调试
- **设备指纹**: 设备指纹生成,增强安全性
- **冷却管理**: 智能冷却机制,应对 API 速率限制
- **用量检查器**: 实时用量监控和配额管理
- **模型转换器**: 跨供应商的统一模型名称转换
- **UTF-8 流处理**: 改进的流式响应处理

## Kiro 认证

### 网页端 OAuth 登录

访问 Kiro OAuth 网页认证界面:

```
http://your-server:8080/v0/oauth/kiro
```

提供基于浏览器的 Kiro (AWS CodeWhisperer) OAuth 认证流程,支持:
- AWS Builder ID 登录
- AWS Identity Center (IDC) 登录
- 从 Kiro IDE 导入令牌

## Docker 快速部署

### 一键部署

```bash
# 创建部署目录
mkdir -p ~/cli-proxy && cd ~/cli-proxy

# 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
cli-proxy-api:
image: eceasy/cli-proxy-api-plus:latest
container_name: cli-proxy-api-plus
ports:
- "8317:8317"
volumes:
- ./config.yaml:/CLIProxyAPI/config.yaml
- ./auths:/root/.cli-proxy-api
- ./logs:/CLIProxyAPI/logs
restart: unless-stopped
EOF

# 下载示例配置
curl -o config.yaml https://raw.githubusercontent.com/router-for-me/CLIProxyAPIPlus/main/config.example.yaml

# 拉取并启动
docker compose pull && docker compose up -d
```

### 配置说明

启动前请编辑 `config.yaml`:

```yaml
# 基本配置示例
server:
port: 8317

# 在此添加你的供应商配置
```

### 更新到最新版本

```bash
cd ~/cli-proxy
docker compose pull && docker compose up -d
```

## 贡献

该项目仅接受第三方供应商支持的 Pull Request。任何非第三方供应商支持的 Pull Request 都将被拒绝。

如果需要提交任何非第三方供应商支持的 Pull Request,请提交到[主线](https://github.com/router-for-me/CLIProxyAPI)版本。

## 许可证

此项目根据 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The filename README_FA.md suggests the content is in Farsi, but the content itself is in Chinese. This is confusing and appears to be a mistake. Please either rename the file to README_CN.md (if it's an alternative version) or translate the content to Farsi. If this file was added by mistake, it should be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants