[GH-ISSUE #4932] [FEAT]: Add "Always-On Agent" Mode for Automatic Tool Invocation Without @agent Prefix #3094

Closed
opened 2026-02-22 18:32:35 -05:00 by yindo · 5 comments
Owner

Originally created by @unixzilla on GitHub (Jan 28, 2026).
Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/4932

What would you like to see?

First, thank you for building such a powerful and flexible platform! The custom agent skill system works great once activated.
However, we'd like to request a new "Always-On Agent" mode that allows the LLM to automatically analyze user intent and invoke custom skills without requiring the user to type @agent.

Current Behavior
Currently, the embedded chat widget does not support invoking agent skills at all, and regular end-users are generally unaware of — or unfamiliar with — the concept of AI "skills" or the need to use a special command like @agent to trigger them.

Proposed Feature
Add a workspace-level toggle: "Enable Always-On Agent" (off by default for safety).
When enabled, the LLM continuously evaluates whether a custom skill should be invoked based on user input—just like in systems such as Claude or Cursor.
All existing security and logging mechanisms (e.g., this.logger, skill permissions) would still apply.

Use Case
We’ve built a custom skill to send inquiry emails to our sales team when a user requests follow-up. We want this to happen seamlessly—e.g., when a user says “Please have someone contact me about pricing,” the agent should auto-trigger the email skill without any special syntax.

This would significantly improve usability in production deployments (especially via the embeddable chat widget) while maintaining control via explicit opt-in at the workspace level.
Thanks for considering this enhancement!

Originally created by @unixzilla on GitHub (Jan 28, 2026). Original GitHub issue: https://github.com/Mintplex-Labs/anything-llm/issues/4932 ### What would you like to see? First, thank you for building such a powerful and flexible platform! The custom agent skill system works great once activated. However, we'd like to request a new "Always-On Agent" mode that allows the LLM to automatically analyze user intent and invoke custom skills without requiring the user to type @agent. **Current Behavior** Currently, the embedded chat widget does not support invoking agent skills at all, and regular end-users are generally unaware of — or unfamiliar with — the concept of AI "skills" or the need to use a special command like @agent to trigger them. **Proposed Feature** Add a workspace-level toggle: "Enable Always-On Agent" (off by default for safety). When enabled, the LLM continuously evaluates whether a custom skill should be invoked based on user input—just like in systems such as Claude or Cursor. All existing security and logging mechanisms (e.g., this.logger, skill permissions) would still apply. **Use Case** We’ve built a custom skill to send inquiry emails to our sales team when a user requests follow-up. We want this to happen seamlessly—e.g., when a user says “Please have someone contact me about pricing,” the agent should auto-trigger the email skill without any special syntax. This would significantly improve usability in production deployments (especially via the embeddable chat widget) while maintaining control via explicit opt-in at the workspace level. Thanks for considering this enhancement!
yindo added the enhancementfeature request labels 2026-02-22 18:32:35 -05:00
Author
Owner

@timothycarambat commented on GitHub (Jan 28, 2026):

This is in PR #3483

The only reason it has not been merged in yet was some overhauling on the agent tool calling we have been doing + how local models will sometimes just have the absolute worst behavior if a single tool is in the chat. Like for example, if using llama 3.3 1B or gemma3 (any size) you would just say "hello" and it will start trying to scrape websites.

@timothycarambat commented on GitHub (Jan 28, 2026): This is in PR #3483 The only reason it has not been merged in yet was some overhauling on the agent tool calling we have been doing + how local models will sometimes just have the absolute _worst_ behavior if a single tool is in the chat. Like for example, if using llama 3.3 1B or gemma3 (any size) you would just say "hello" and it will start trying to scrape websites.
Author
Owner

@digitalassassins commented on GitHub (Feb 14, 2026):

I complained about this about a year ago. https://github.com/Mintplex-Labs/anything-llm/issues/4064
The RAG system worked flawlessly in 1.8.1, then they forced @Agent.. It became a convoluted mess.
Made the system overly complicated for the end user, and it hasn't worked properly since then. I stayed on 1.8.1
Was looking to update to the Latest version, installed, still a hopeless mess.. @Agent causes background tasks, you can't see what is happening, if you switch workspaces, the agent disappears, and it's running on your GPU with no feedback.

Going back through the feature requests, it's the same requests over and over again.. Tim needs to listen to feedback from the people running his software, instead of half the time taking feedback as an attack on his character..

@digitalassassins commented on GitHub (Feb 14, 2026): I complained about this about a year ago. https://github.com/Mintplex-Labs/anything-llm/issues/4064 The RAG system worked flawlessly in 1.8.1, then they forced @Agent.. It became a convoluted mess. Made the system overly complicated for the end user, and it hasn't worked properly since then. I stayed on 1.8.1 Was looking to update to the Latest version, installed, still a hopeless mess.. @Agent causes background tasks, you can't see what is happening, if you switch workspaces, the agent disappears, and it's running on your GPU with no feedback. Going back through the feature requests, it's the same requests over and over again.. Tim needs to listen to feedback from the people running his software, instead of half the time taking feedback as an attack on his character..
Author
Owner

@timothycarambat commented on GitHub (Feb 16, 2026):

The RAG system worked flawlessly in 1.8.1, then they forced https://github.com/agent.. It became a convoluted mess.

How is @agent impacting your RAG experience? When in agent you aren't using RAG, so the RAG system is the same.

Was looking to update to the Latest version, installed, still a hopeless mess.. https://github.com/agent causes background tasks, you can't see what is happening, if you switch workspaces, the agent disappears, and it's running on your GPU with no feedback.

This unfortunately comes from from the provider. We do abort the connection to the model, but even today - most providers do not provide an "abort" call to stop inference and without it we cannot force the provider to stop inference - we can only stop listening. Recently ollama added this functionality - LMStudio may have it but I am not sure, but it depends on who you use for inference.

Tim needs to listen to feedback from the people running his software, instead of half the time taking feedback as an attack on his character..

I mean, the fact that I am personally responding to these threads is proof that I value user input. We have to balance individual feedback against the stability and direction of the entire platform. Ultimately, the project is MIT and it's not changing despite everyone going away from that. This is intentional so people can modify and fork however they like where we differ from people with opinions we decide to commit to. We are not going to do every single suggestion open on the repo - that just isn't how OSS works nor do we have any obligation to do so.

I have already outlined how we are actually going to add an agent model soon, the reason it is not is because small models in agent model perform extremely poorly and over-call tools which would be a bad experience if all you had was a document related query. We always consider the LCD in these situations. If agent calling was always on and you used a small local model you would hardly every get an answer since it would probably start calling tools randomly - this is why the flows are separated.

@timothycarambat commented on GitHub (Feb 16, 2026): > The RAG system worked flawlessly in 1.8.1, then they forced https://github.com/agent.. It became a convoluted mess. How is @agent impacting your RAG experience? When in agent you aren't using RAG, so the RAG system is the same. > Was looking to update to the Latest version, installed, still a hopeless mess.. https://github.com/agent causes background tasks, you can't see what is happening, if you switch workspaces, the agent disappears, and it's running on your GPU with no feedback. This unfortunately comes from from the provider. We do abort the connection to the model, but even today - most providers do not provide an "abort" call to stop inference and without it we cannot force the provider to stop inference - we can only stop listening. Recently ollama added this functionality - LMStudio may have it but I am not sure, but it depends on who you use for inference. > Tim needs to listen to feedback from the people running his software, instead of half the time taking feedback as an attack on his character.. I mean, the fact that I am personally responding to these threads is proof that I value user input. We have to balance individual feedback against the stability and direction of the entire platform. Ultimately, the project is MIT and it's not changing despite everyone going away from that. This is intentional so people can modify and fork however they like where we differ from people with opinions we decide to commit to. We are not going to do every single suggestion open on the repo - that just isn't how OSS works nor do we have any obligation to do so. I have already outlined how we are actually going to add an agent model soon, the reason it is not is because small models in agent model perform **extremely** poorly and over-call tools which would be a bad experience if all you had was a document related query. We always consider the LCD in these situations. If agent calling was always on and you used a small local model you would hardly every get an answer since it would probably start calling tools randomly - this is why the flows are separated.
yindo changed title from [FEAT]: Add "Always-On Agent" Mode for Automatic Tool Invocation Without @agent Prefix to [GH-ISSUE #4932] [FEAT]: Add "Always-On Agent" Mode for Automatic Tool Invocation Without @agent Prefix 2026-06-05 14:50:17 -04:00
yindo closed this issue 2026-06-05 14:50:17 -04:00
Author
Owner

@ziouf commented on GitHub (Mar 1, 2026):

Furthermore, I would like to have a way to activate only a subset of tools/skills at the thread and/or workspace level.

<!-- gh-comment-id:3979435456 --> @ziouf commented on GitHub (Mar 1, 2026): Furthermore, I would like to have a way to activate only a subset of tools/skills at the thread and/or workspace level.
Author
Owner

@digitalassassins commented on GitHub (Mar 1, 2026):

How is @agent impacting your RAG experience? When in agent you aren't using RAG, so the RAG system is the same.

Why even have an Agent system in the first place ? AI software is supposed to be getting smarter not dumber.. Perplexity have a new system in their Max tier, where you tell a Model what you want, it fires up basically a OS container that has sub models, that work out and discuss your project and use the sandboxed OS to do complicated tasks over months.

Anthropic introduced Model Context Protocol (MCP), which allows an AI Model to work out what to do with the command you send e.g when you say "Search a document for" it knows to use the RAG MCP, you say "Search the internet for" It knows to use the DuckDuckGo MCP

In Anything LLM, you set the options on a workspace to "Query" meaning, and I quote "Query will provide answers only if document context is found." You upload only one document to the workspace, and if you don't supply the exact name of the document, exactly as it is in your workspace, it doesn't work. That isn't making AI smarter, it's bad design choices, you have made the AI dumb..

This unfortunately comes from from the provider. We do abort the connection to the model, but even today - most providers do not provide an "abort" call to stop inference and without it we cannot force the provider to stop inference - we can only stop listening. Recently ollama added this functionality - LMStudio may have it but I am not sure, but it depends on who you use for inference.

You're missing the point. When you activate an Agent, then switch between workspaces, the Agent disappears from the Chat window and can not be viewed or controlled in any way, because it is gone.. You are not taking into account that an Agent was activated in that workspace, and then restoring the information for the user once they tab back into the workspace, the activated agent is broken.. Why have the @Agent at all? Why not have that like an MCP running in the background? Why do you have to make it so complicated for the average layperson?

I mean, the fact that I am personally responding to these threads is proof that I value user input. We have to balance individual feedback against the stability and direction of the entire platform. Ultimately, the project is MIT and it's not changing despite everyone going away from that. This is intentional so people can modify and fork however they like where we differ from people with opinions we decide to commit to. We are not going to do every single suggestion open on the repo - that just isn't how OSS works nor do we have any obligation to do so.

I have already outlined how we are actually going to add an agent model soon, the reason it is not is because small models in agent model perform extremely poorly and over-call tools which would be a bad experience if all you had was a document related query. We always consider the LCD in these situations. If agent calling was always on and you used a small local model you would hardly every get an answer since it would probably start calling tools randomly - this is why the flows are separated.

You are racing ahead and adding as many features as you can to Anything LLM, to try to have the software with the most features. Instead of prioritising work, make sure the foundations are solid and get the core of your software perfect before moving on to more features. You added @Agent implementation, which goes in the opposite direction for usability, broke the RAG system, made it a convoluted mess, then thought "F*ck it, next feature"..
Being Present is one thing, taking genuine user feedback on board is another.. There is a reason people are bringing you the same problem over and over again.. You should do a bit of bedtime reading on ISO9001..

<!-- gh-comment-id:3979567841 --> @digitalassassins commented on GitHub (Mar 1, 2026): > How is [@agent](https://github.com/agent) impacting your RAG experience? When in agent you aren't using RAG, so the RAG system is the same. Why even have an Agent system in the first place ? AI software is supposed to be getting smarter not dumber.. Perplexity have a new system in their Max tier, where you tell a Model what you want, it fires up basically a OS container that has sub models, that work out and discuss your project and use the sandboxed OS to do complicated tasks over months. Anthropic introduced Model Context Protocol (MCP), which allows an AI Model to work out what to do with the command you send e.g when you say "Search a document for" it knows to use the RAG MCP, you say "Search the internet for" It knows to use the DuckDuckGo MCP In Anything LLM, you set the options on a workspace to "Query" meaning, and I quote "Query will provide answers only if document context is found." You upload only one document to the workspace, and if you don't supply the exact name of the document, exactly as it is in your workspace, it doesn't work. That isn't making AI smarter, it's bad design choices, you have made the AI dumb.. > This unfortunately comes from from the provider. We do abort the connection to the model, but even today - most providers do not provide an "abort" call to stop inference and without it we cannot force the provider to stop inference - we can only stop listening. Recently ollama added this functionality - LMStudio may have it but I am not sure, but it depends on who you use for inference. You're missing the point. When you activate an Agent, then switch between workspaces, the Agent disappears from the Chat window and can not be viewed or controlled in any way, because it is gone.. You are not taking into account that an Agent was activated in that workspace, and then restoring the information for the user once they tab back into the workspace, the activated agent is broken.. Why have the @Agent at all? Why not have that like an MCP running in the background? Why do you have to make it so complicated for the average layperson? > I mean, the fact that I am personally responding to these threads is proof that I value user input. We have to balance individual feedback against the stability and direction of the entire platform. Ultimately, the project is MIT and it's not changing despite everyone going away from that. This is intentional so people can modify and fork however they like where we differ from people with opinions we decide to commit to. We are not going to do every single suggestion open on the repo - that just isn't how OSS works nor do we have any obligation to do so. > > I have already outlined how we are actually going to add an agent model soon, the reason it is not is because small models in agent model perform **extremely** poorly and over-call tools which would be a bad experience if all you had was a document related query. We always consider the LCD in these situations. If agent calling was always on and you used a small local model you would hardly every get an answer since it would probably start calling tools randomly - this is why the flows are separated. You are racing ahead and adding as many features as you can to Anything LLM, to try to have the software with the most features. Instead of prioritising work, make sure the foundations are solid and get the core of your software perfect before moving on to more features. You added @Agent implementation, which goes in the opposite direction for usability, broke the RAG system, made it a convoluted mess, then thought "F*ck it, next feature".. Being Present is one thing, taking genuine user feedback on board is another.. There is a reason people are bringing you the same problem over and over again.. You should do a bit of bedtime reading on ISO9001..
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Mintplex-Labs/anything-llm#3094