LocalAI [bot]
cb82322df2
feat: add inner monologue template support for scheduler and template-based skills prompt ( #435 )
...
* feat: add scheduler task template and template-based skills prompt
- Add WithSchedulerTaskTemplate option for recurring tasks run by scheduler
- Expose scheduler_task_template in core/state/config.go for user configuration
- Add WithSkillPromptTemplate option for custom skill prompt templates
- Use {{.Skills}} slice in templates to iterate over Skill.Name, Skill.Description
- Default template mimics current XML behavior with <available_skills> format
- Rename customIntro to customTemplate in services/skills for consistency
* cleanups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Update core/state/config.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Co-authored-by: Ettore Di Giacinto <mudler@localai.io >
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-25 18:44:49 +01:00
Ettore Di Giacinto
a0faa14ffe
fix(slack/files): trying to debug files upload
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-23 22:39:23 +00:00
Ettore Di Giacinto
3dad5acf1f
chore(pdf): refactor and try to always send pdf
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-23 20:53:02 +00:00
Ettore Di Giacinto
78defbad32
fix: avoid panics
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-23 15:31:04 +01:00
Ettore Di Giacinto
b46c300307
chore: enable more behavioral settings
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-23 11:42:30 +01:00
Ettore Di Giacinto
d2407105a4
fix: remove the duplicated unlock call
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-22 23:24:30 +00:00
Ettore Di Giacinto
32a1a59389
feat: add accumulator to print tool status/results during execution ( #427 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-22 22:44:19 +01:00
Ettore Di Giacinto
61a89aaf58
feat(pdf): improve pdf markdown rendering ( #426 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-22 22:42:36 +01:00
Ettore Di Giacinto
cb37f80724
fix(slack): process all metadata
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-22 10:12:13 +01:00
Ettore Di Giacinto
bc256fbbe2
chore: avoid panics from Slack connector
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-22 09:49:03 +01:00
Ettore Di Giacinto
bc567ef7dd
feat(skills): add skills management ( #423 )
...
* feat(skills): add skills management
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* improve ui
* Update webui/skills_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update webui/skills_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update webui/skills_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update webui/skills_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update Dockerfile.webui
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update go.mod
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update webui/skills_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address feedback from review
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* allow to customize skill prompt
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-21 22:21:33 +01:00
Ettore Di Giacinto
f29e98bccb
fix(reasoning): do not update if no new content
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-21 15:15:57 +01:00
Ettore Di Giacinto
52e8df6599
fix(slack): another attempt to fix markdown result display ( #422 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-20 23:15:02 +01:00
Ettore Di Giacinto
da9e8d7c20
feat: add support to medatata to messages sent from the agents ( #415 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-10 18:18:53 +01:00
Ettore Di Giacinto
25ce5475de
chore: drop deprecated set reminders
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-08 23:03:03 +01:00
Copilot
57023d6386
Integrate task scheduler into agent reminder system ( #408 )
...
* Initial plan
* Add task scheduler with cron/interval/once support and comprehensive tests
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Add comprehensive documentation for scheduler package
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Add working example demonstrating scheduler usage
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Update .gitignore to exclude example binaries and task files
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Integrate task scheduler into existing reminder system
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Fix scheduler integration and compilation errors
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Remove standalone scheduler example - integrated into agent system
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Update scheduler README to reflect integration with agent system
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* replace old reminders logic
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* A task scheduler for each agent
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* tests
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* change to duration
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
Co-authored-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-08 22:19:22 +01:00
Copilot
1c3e9b36e7
Add generate_pdf action with connector support ( #409 )
...
* Initial plan
* Add PDF generation action with tests and connector support
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Address code review feedback: Add error logging and clarify filename description
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
* Add path traversal protection for filename parameter
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mudler <2420543+mudler@users.noreply.github.com >
2026-02-08 21:09:04 +01:00
Ettore Di Giacinto
4a3ee02081
chore: cleanup
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-07 09:00:12 +01:00
Ettore Di Giacinto
cea3b7b111
chore: drop LocalOperator actions, we will use MCP for this ( #407 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-06 21:51:54 +01:00
Ettore Di Giacinto
cbe4cd62ca
fix: correct API url
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-05 22:49:18 +01:00
Ettore Di Giacinto
4f4ad5069d
feat(gen-song): add song generation action ( #404 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-05 19:00:50 +01:00
Ettore Di Giacinto
9f358abb54
chore(memory): open index only once
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-01-31 09:25:17 +01:00
Ettore Di Giacinto
16775f356a
Use bleve for indexing short-term memory ( #397 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-01-30 15:41:23 +01:00
Ettore Di Giacinto
9a33537ae0
chore: move logging to its own package so can be shared across repos ( #380 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-12-19 23:05:04 +01:00
Ettore Di Giacinto
558fa396a8
feat: add audio support ( #316 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-07 12:00:33 +02:00
Michel Weimerskirch
b06522d1ec
Add custom name, description, and payload description to WebhookAction ( #311 )
2025-10-03 23:05:14 +02:00
Michel Weimerskirch
d456315f19
Add webhook action for HTTP request integration ( #309 )
...
* Add Webhook action handling
Integrates a new "webhook" action, enabling configurable HTTP requests with customizable methods, content types, and payloads through runtime parameters.
* Enhance Webhook action documentation and runtime handling
Improves comments and function-level documentation for the Webhook action, clarifying its configuration, runtime parameter handling, and operational behavior. Adds detailed explanations for methods, payload templates, and HTTP request construction.
2025-10-03 09:14:08 +02:00
mudler
00460b1538
fix: do not change name field
...
Signed-off-by: mudler <mudler@localai.io >
2025-09-13 16:33:08 +02:00
Ettore Di Giacinto
98e62edf12
feat(actions): add action to control pikvm ( #294 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-09-13 16:28:42 +02:00
Ettore Di Giacinto
592969f976
feat(actions/dynamicprompt): allow to pass-by a configuration ( #293 )
...
This is useful mainly to pass-by from the web interface a generic string
that can be later re-used in the custom actions or dynamic prompt during
Init().
The Signature of the custom actions and prompts around Init has changed,
and now is Init(string), this is on the custom action duty to decide if
the string is e.g. a JSON, or a comma separated list, etc.
Signed-off-by: mudler <mudler@localai.io >
2025-09-13 15:50:25 +02:00
Ettore Di Giacinto
8d2eafbc35
chore: propagate env ( #292 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-09-11 18:16:51 +02:00
Ettore Di Giacinto
848f688ae9
Scan for dynamic prompts in custom action folder ( #291 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-09-10 23:45:46 +02:00
Ettore Di Giacinto
684ce43eb8
feat: preload custom actions from dir ( #290 )
...
* feat: preload custom actions from dir
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* fix(custom dir): allow to override name and description, strip package from code
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
2025-09-09 18:05:15 +02:00
Ettore Di Giacinto
7fe3ed2169
feat(custom actions): allow to specify a dir with all custom actions ( #277 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-08-25 09:33:21 +02:00
Ettore Di Giacinto
4d875e9e2a
fix: gen memory actions only in DynamicPromptMemory ( #259 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-08-07 18:55:29 +02:00
Ettore Di Giacinto
8487459d90
feat: multimodal action and dynamic prompts results ( #257 )
...
* feat(actions): allow actions to return images
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* feat(prompts): allow to have images in dynamic prompts
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* chore: change signature of dynamic prompts to allow to return base64 images
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* chore: fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-08-05 18:43:50 +02:00
Ettore Di Giacinto
be336adf02
feat(dynamic-prompts): add memory tool to dynamic prompt ( #256 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-08-04 16:58:11 +02:00
Ettore Di Giacinto
4cf52ec698
feat(memories): add action to handle simple memory as flat files ( #252 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-07-24 23:17:05 +02:00
Ettore Di Giacinto
b0a43b0cb7
fix(telegram): correctly process group chat messages
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-07-22 22:25:13 +02:00
Ettore Di Giacinto
9500ec7af0
feat(mutlimodal): do parse all images shared in the conversation ( #221 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-06-30 22:56:30 +02:00
Ettore Di Giacinto
9160ca598e
fix(multimodal): fix multimodal input in telegram and slack ( #219 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-06-24 23:00:45 +02:00
Ettore Di Giacinto
37aa532cc2
feat(telegram): Add support for groups ( #183 )
...
Add support for groups
Signed-off-by: mudler <mudler@localai.io >
2025-05-26 09:40:41 +02:00
Ettore Di Giacinto
9a90153dc6
feat(reminders): add reminder system to perform long-term goals in the background ( #176 )
...
* feat(reminders): add self-ability to set reminders
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* feat(reminders): surface reminders result to the user as new conversations
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Fixups
* Subscribe all connectors to agents new messages
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Set reminders in the list
* fix(telegram): do not always auth
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Small fixups
* Improve UX
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-24 22:15:33 +02:00
Ettore Di Giacinto
4a0d3a7a94
feat(sshbox): add sshbox to run commands ( #161 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-17 23:34:51 +02:00
AKSizov
a3977c2b1c
fix: errored ssh output ( #158 )
...
fix: explain ssh output
2025-05-16 00:08:50 +02:00
Richard Palethorpe
8849a9ba1b
fix(matrix): Limit msg history to stop responses to old msgs
...
Signed-off-by: Richard Palethorpe <io@richiejp.com >
2025-05-15 15:35:54 +01:00
AKSizov
2b4b2c513c
feat: email connector ( #157 )
...
* new: add email connection shell
* new: add secure & insecure smtp
* new: read email
* new: more email logic
* feat: automatically reply
* feat: poc email response
* feat: introduce email concurrency and reply functionality
* feat: html replies
* refactor: make email.go legible
* feat: add email connection docs
* fix: startup error handling and dial error
2025-05-15 16:35:39 +02:00
Richard Palethorpe
1a53d24890
fix(matrix): Stop Sync Go routine and correct logs ( #154 )
...
Signed-off-by: Richard Palethorpe <io@richiejp.com >
2025-05-13 13:10:23 +02:00
Ettore Di Giacinto
c23e655f44
feat(agent): shared state, allow to track conversations globally ( #148 )
...
* feat(agent): shared state, allow to track conversations globally
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Cleanup
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* track conversations initiated by the bot
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-11 22:23:01 +02:00
Ettore Di Giacinto
2b07dd79ec
feat(telegram): add action to send telegram message ( #147 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-05-11 19:17:20 +02:00