Skip to content

Conversation

@luispater
Copy link

No description provided.

loocor and others added 7 commits January 2, 2026 17:15
添加 CodMate 应用的描述,提供 CLI AI 会话管理功能。
Added CodMate section to README with app details.
docs: add CodMate to community projects
Moved CodMate entry under ProxyPal in both English and Chinese README files for consistency in structure and better readability.
…g during refresh

Introduced `tokenRefreshTimeout` constant for token refresh operations and enhanced context propagation for `refreshToken` by embedding roundtrip information if available. Adjusted `refreshAuth` to ensure default context initialization and handle cancellation errors appropriately.
…as handling

Implemented `Fork` flag in `ModelNameMapping` to allow aliases as additional models while preserving the original model ID. Updated the `applyOAuthModelMappings` logic, added tests for `Fork` behavior, and updated documentation and examples accordingly.
…o-OpenAI conversion

Fixed incorrect boundary logic for `message_delta` emission, ensuring proper handling of usage updates and `emitMessageStopIfNeeded` within the response loop.
@gemini-code-assist
Copy link

Summary of Changes

Hello @luispater, 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 primarily enhances the model mapping capabilities by introducing a 'fork' option, allowing model aliases to function as separate, discoverable models. It also refines the Antigravity token refresh process for better reliability and corrects a minor sequencing issue in Claude's streaming responses. Additionally, the project documentation has been updated to feature a new integration.

Highlights

  • Enhanced Model Mapping with Forking: Introduced a new 'fork' option in OAuth model mappings, allowing aliases to be presented as distinct models alongside their originals. This provides more flexibility in how models are exposed to clients.
  • Improved Antigravity Token Refresh: Added context propagation and a specific timeout for Antigravity token refresh operations, enhancing the robustness and reliability of authentication.
  • Claude Streaming Response Correction: Adjusted the order of events in Claude streaming responses to ensure 'message_delta' is sent correctly, improving the accuracy of streaming output.
  • README Updates: Included 'CodMate' in the list of projects utilizing CLIProxyAPI in both the English and Chinese READMEs, expanding the project's visibility.

🧠 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.

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.

@luispater luispater merged commit 5ca3508 into router-for-me:main Jan 3, 2026
1 of 2 checks passed
@luispater luispater deleted the plus branch January 3, 2026 17:38
Copy link

@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 a new fork option for OAuth model mappings, which allows a model to be available under both its original name and an alias. This is a useful feature enhancement. The changes also include several important improvements, such as adding a timeout and better context handling for token refresh operations to improve robustness, and fixing a bug in the OpenAI-to-Claude response translator. I appreciate the addition of new tests that cover the new fork functionality, ensuring its correctness.

I have one suggestion to refactor a small piece of duplicated code for better maintainability. Overall, this is a solid pull request.

I am having trouble creating individual review comments. Click here to see my feedback.

sdk/cliproxy/service.go (1271-1287)

medium

The logic to handle cases where a model has no mapping (!ok) or the mapping has an empty alias (mappedID == "") is duplicated. You can combine these two conditions to simplify the code, reduce duplication, and improve readability.

		if !ok || strings.TrimSpace(entry.alias) == "" {
			if _, exists := seen[key]; !exists {
				seen[key] = struct{}{}
				out = append(out, model)
			}
			continue
		}
		mappedID := strings.TrimSpace(entry.alias)

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