Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

CaiDingxian
Copy link

Context

The current Fast Apply function is only applicable in two specific scenarios: when the current Provider is Kilo Code API / OpenRouter, or when Morph key is specified as the Fast Apply.

I hope to decouple the Fast Apply function's Provider from the current Provider. Regardless of what the current Provider is, it should allow independent selection of Kilo Code API / OpenRouter / Morph as the Fast Apply Provider.

Implementation

Main Changes

  • change: webview-ui/src/components/settings/FastApplySettings.tsx add a api select
  • change: src/core/tools/editFileTool.ts update the getFastApplyConfiguration function logic

Screenshots

before after
image image

How to Test

  • Set the current API Provider to a Provider that does not support the Fast Apply model
  • In the Experimental tab of the Settings panel, check Enable Fast Apply.
  • Select Fast Apply Model API Provider as Kilo Code and save
  • Create a new file 1.txt under the current workspace directory of VsCode and write any text
  • Switch to code mode in Kilo Code main interface and enter the command "Use Fast Apply to modify the text in 1.txt and insert Hello World"
  • After the Kilo Code edit file is complete, you should see Kilo Code's small rocket icon and Fast Apply reminder

Get in Touch

Wait

Copy link

changeset-bot bot commented Oct 14, 2025

⚠️ No Changeset found

Latest commit: 10c8413

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Author

@CaiDingxian CaiDingxian left a comment

Choose a reason for hiding this comment

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

All reviewed, but I don't know the general process of translation, is it necessary for PR submitters to translate all by themselves? Or will the translation be done by the kilo official themselves?

@mcowger
Copy link
Contributor

mcowger commented Oct 14, 2025

I think this may duplicate #2813

@CaiDingxian
Copy link
Author

I think this may duplicate #2813

OK,can you answer a few questions for me?

I want to know how to correctly create a new LLM client in Kilo code. A while ago, after I updated, I noticed that the option to configure the LLM model for autocomplete disappeared. According to the contributor who deleted the code, Kilo currently does not actually use a mechanism for independent clients. The API directly points to the main API configuration, causing a bug that results in massive token consumption.

Additionally, I want to know why each provider's API key uses a different name instead of adhering to a unified interface. This makes it difficult for us to build an LLM API client based on a non-currently enabled API configuration.

thinks

@mcowger
Copy link
Contributor

mcowger commented Oct 14, 2025

I think this may duplicate #2813

OK,can you answer a few questions for me?

Probably, but its worth mentioning I'm not officially part of Kilo Code - just an interested constributor.

I want to know how to correctly create a new LLM client in Kilo code.

Here's an excellent sample PR the includes a bunch of best practices (like dynamic model fetching, good tests, etc) from @b3nw #2825

A while ago, after I updated, I noticed that the option to configure the LLM model for autocomplete disappeared. According to the contributor who deleted the code,

In that particular case, the code was such that it simply defaulted to the currently selected profile, which meant that people were using expensive, slow models for autocomplete if they didn't change the config.

Kilo currently does not actually use a mechanism for independent clients. The API directly points to the main API configuration, causing a bug that results in massive token consumption.

Not quite. Kilo does have mechanisms for different clients, but only 1 apiConfiguration can be 'active' at a time, which is used for the primary chat interactions. Secondary, non-chat use cases (like FastApply, Indexing, Autocomplete) should be built to point to a specific profileId rather the the current apiConfiguration.

Additionally, I want to know why each provider's API key uses a different name instead of adhering to a unified interface. This makes it difficult for us to build an LLM API client based on a non-currently enabled API configuration.

Yes, this is an artifact of history and a fast growing/changing codebase. I have a proposal for what I believe to be a better solution (#2670) but it has not yet gained traction or review from the Kilo team.

@chrarnoldus
Copy link
Collaborator

Or will the translation be done by the kilo official themselves?

We can do it for you, it's mostly AI generated.

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.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.