-
Notifications
You must be signed in to change notification settings - Fork 1.9k
feat: add individual tool controls to settings #5964
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
f825bff
to
276d61e
Compare
I love this! ive been running similar setup on my fork for a month almost but my UI isn't very good, additionally i have an option to make #MODES part also granular so each mode can select which mode should be visible in its system prompt ( this helps when u have multiple agents packaged with specific workflows so they do not conflict with each other ) |
This feature allows users to selectively disable tools they never plan to use, which removes those tool descriptions from the system prompt and saves context tokens. The implementation includes: - New settings schema for individual tool controls - New ToolsSettings UI component with checkboxes for each tool - Logic to filter tools based on these settings - Integration with the system prompt generation Fixes: #5963 Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
This commit adds missing translations for the following locales: - French (fr) - Hindi (hi) - Indonesian (id) - Italian (it) - Japanese (ja) - Korean (ko) - Dutch (nl) - Polish (pl) - Brazilian Portuguese (pt-BR) - Russian (ru) - Turkish (tr) - Vietnamese (vi) - Simplified Chinese (zh-CN) - Traditional Chinese (zh-TW) All translations were added to the respective `settings.json` files and verified using the `find-missing-translations.js` script. Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
276d61e
to
56049f5
Compare
I have not reviewed in depth but the MCP portion of the tools are already excluded if you have MCP disabled. This seems redundant. Same with apply_diff. |
Thanks for doing this @KJ7LNW ! We really need some way to start excluding tools at a project level. There are now hyper specific MCP's like "Apple Development Docs" - https://github.com/kimsungwhee/apple-docs-mcp that I really only want to use by flagging something for Swift projects only. |
Hey @KJ7LNW, I really like the implementation, it looks super clean. I think there are a few things worth considering:
It might make sense to split this into a couple of smaller PRs so each part is easier to test and validate. Let me know what you think! |
that is a good idea, I have always thought the tools should only be mentioned in the specific tool section
certainly I think you can completely remove the Browser items on the LHS of the global settings since it does is turn it off. I am not sure what to suggest about MCP, but you guys seem to have a plan on how to do that, I have not used MCP so I do not have any feedback there---however if you are going to have a global tools list to turn things on and off I think it should always contain all tools and there should be a test to enforce that for when new tools are added.
extending this to apply to modes is a great idea --- actually that would be the preferred implementation, but it was more complex than I wanted to tackle.
All of those are great ideas. I do not have time to work on it so if you would like to assign this to someone else, then please do. |
Context
This PR adds the ability to selectively enable/disable individual tools in the settings UI. This allows users to remove tools they never plan to use from the system prompt, saving valuable context tokens.
Implementation
How to Test
Get in Touch
Discord: KJ7LNW
Fixes #5963
Important
This PR adds UI and backend support for enabling/disabling individual tools in settings, affecting system prompt generation and tool availability.
global-settings.ts
.ToolsSettings
component inToolsSettings.tsx
with checkboxes for each tool.ToolsSettings
intoSettingsView.tsx
.tools/index.ts
to filter tools based on new settings.generateSystemPrompt.ts
to incorporate tool settings.ExtensionStateContext.tsx
to include tool settings.webviewMessageHandler.ts
.settings.json
for tool-related strings.This description was created by
for f825bff. You can customize this summary. It will automatically update as commits are pushed.