mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2026-07-19 22:23:50 -04:00
[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
No Branch/Tag Specified
master
5846-bug-when-scrolling-up-scrolling-jumps
refactor-remove-workspace-pfp
5969-bug-stopgenerationbutton-disappears-on-the-first-prompt-that-initiates-an-agent-session
2235-bug-how-to-upload-a-folder-with-subfolders-with-files-to-anythingllm
5990-workspace-update-fails-with-unknown-argument-router_id-v1130v1150-intel-mac
opencomputer-examples
pg
feat/image-generation-translations
feat/image-generation
5924-bug-meeting-summary-fails-with-sincludes-is-not-a-function-when-default-llm-is-anthropic-claude
render
feat/uniform-modal-component
5883-bug-unescaped-content-in-json-strings-being-passed-to-document-generator-tools
5901-bug-api-update-embeddings-fails-prisma-argument-filename-is-missing-on-workspace_documentscreate-desktop-windows-v1141
hybrid-search
1981-translations
5752-bug-prompts-to-local-jan-endpoint-unresponsive
feat-disable-native-tool-calling-env-var
5676-bug-non-ollama-agent-providers-do-not-parse-and-present-reasoning-content
feat/markdown-web-scraping
5717-bug-apiv1documentupload-silently-drops-metadata-field-in-desktop-1130-arg-count-mismatch-nested-payload-key
fix/aibitat-context-overflow
5711-bug-erratic-deepseek-v4-flash-the-agent-model-failed-to-respond-400-the-reasoning_content
5631-feat-custom-api-request-timeouts-for-ai-providers
feat-reasoning-control
feat-agent-clarifying-questions-translations
5583-bug-lm-studio-provider-does-not-present-reasoning-output
5313-normalize-translations
feat/memory-translations
5305-lemonade-embedding-engine-swallows-errors-falsely-reports-documents-as-embedded
5060-bug-agent-interactions-agent-are-not-persisted-to-thread-history-via-api
pptx-subagent
feat-render-images-from-mcp-tool-results
stt-provider-expansion-openai-api-compatible
feat-file-search-agent-tool
feat-native-embedder-job-queue
5189-normalize-translations
feat-file-search-agent-tool-translations
i18n-eslint
5140-auto-migration
5112-bug-openrouter-failed-message-bug
3506-feat-parameters-for-openrouter-models
4992-feat-preserve-scroll-position
4973-bug-markdown-numbered-list-display-in-reasoning-pane
desktop
4938-bug-pending-chat-rerendering-ui-bug
quickstart-env
node-llama-cpp-in-container-cuda
node-llama-cpp-in-container
ollama-in-container
4817-feat-set-cooldown-per-mcp-server
4845-keyboard-shortcuts-to-navigate-in-chat
4844-feat-reorder-threads-by-latest-interaction
standardize-username-constraints-normalize-translations
4792-feat-refactor-workspacepfp-image
1382-embed-ip-improvements
1382-bug-embed-api-improvements
refactor-eslint-frontend
4687-feat-refactor-vector-db-providers
4615-feat-disable-apidocs-with-environment-variable
4559-feat-agent-web-search-enable-ordering-of-results
4599-bug-ollama-race-condition-bug
4572-bug-lmstudio-provided-llm-stopped-working-with-anything-llm-after-upgrading-to-190
4508-agent-youtube-transcript-analysis
4497-feat-workspace-names
frontend-eslint
ollama-lmstudio-auto-context-window
4431-validate-vector-database-connectioN
2019-slash-command-keyboard-selection
microsoft-foundry-provider
4431-validate-vector-database-connection
4325-sys-prompt-var-improvements
3209-feat-apiv1workspacestream-chat-sources-citations
4210-bug-voice-to-text-overwrite
4136-feat-jan-as-a-backend-server-option
4172-feat-openai-o3-support
1.8.3-rerelease
web-push-notifications-service
tasks
3955-feat-jinaai-embedder-provider-support
3921-feat-agent-skills-uiux-improvements
3901-bug-validfunccall-checks-optional-arguments
keyboard-dev
1787-custom-roles-and-permissions
add-jira-slack-data-connector
office-extension-wip
lightmode-dropdown-color-update
3586-bug-agent-flow-function-description-provided-by-user-is-not-seen-in-the-llm-query
3463-bug-agent-continues-to-run-if-request-failed-even-after-exit
3439-feat-call-variables-within-the-flow-api-block-url-field
3282-manager-view-models-workspace
3280-token-counting-server-side-truncation-improvements
3147-bug-embedded-chat-widget---not-considering-query-mode-option-always-working-in-chat-mode
2995-feat-disable-temperature-setting-for-deepseek-r1-deepseek-reasoner-model
2827-feat-perplexity-citations
2866-feat-finally-a-gemini-models-endpoint
2647-feat-hpp-header-for-a-c++-code-file-mime-addition
lancedb-revert
1656-feat-implement-tooltip-ui-designs
2011-feat-bump-perplexity-models
1873-feat-auto-add-and-watch-folder-for-document-uploads
1297-feat-gemini-agent-support
1759-bug-ui-bug-fixes
1686-feat-implement-winston-for-logging
1536-bug-toggling-on-users-can-delete-workspaces-does-not-take-effect
agent-ui-mobile-styles
1522-feat-chromadb-support
1595-bug-unable-to-get-live-web-search-and-browsing-agent-working-using-google-custom-search-engine-error-getaddrinfo-enotfound-http-errno-3008
1582-bug-lm-studio-does-not-allow-for-different-model-selection
1312-bug-usernames-should-not-be-case-sensitive-when-logging-in
1029-feat-hf-serverless-inference-api
1086-feat-implement-normalized-input-fields
knowledge-graph-support
644-bug-uploaded-file-name-does-not-match-the-displayed-file-name-after-the-upload
v1.15.0
v1.14.2
v1.14.1
v1.14.0
v1.13.0
v1.12.1
v1.12.0
v1.11.2
v1.11.1
v1.11.0
v1.10.0
v1.9.1
v1.9.0
v1.8.5
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.8
v1.7.6
v1.7.5
v1.7.4
v1.4.0
v1.3.0
v1.2.4
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.1.1
v1.1.0
v1.0.0
Labels
Clear labels
Desktop
Docker
Integration Request
Integration Request
OS: Linux
OS: Mobile
OS: Windows
UI/UX
blocked
bug
bug
core-team-only
documentation
duplicate
embed-widget
enhancement
feature request
github_actions
good first issue
investigating
needs info / can't replicate
possible bug
pull-request
question
stage: specifications
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Mintplex-Labs/anything-llm#3094
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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!
@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.
@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..
@timothycarambat commented on GitHub (Feb 16, 2026):
How is @agent impacting your RAG experience? When in agent you aren't using RAG, so the RAG system is the same.
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.
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.
[FEAT]: Add "Always-On Agent" Mode for Automatic Tool Invocation Without @agent Prefixto [GH-ISSUE #4932] [FEAT]: Add "Always-On Agent" Mode for Automatic Tool Invocation Without @agent Prefix@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.
@digitalassassins commented on GitHub (Mar 1, 2026):
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..
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?
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..