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
Ettore Di Giacinto
864bf8b94c
fix(telegram): split long messages ( #146 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-05-11 19:01:25 +02:00
Ettore Di Giacinto
e431bc234b
feat(evaluation): add deep evaluation mechanism ( #145 )
...
* feat(evaluation): add deep evaluation mechanism
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* consider whole conversation when evaluating
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
2025-05-11 18:31:04 +02:00
Ettore Di Giacinto
289edb67a6
feat(call_agents): allow to specify whitelist and blacklist agents ( #144 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-10 22:27:34 +02:00
Ettore Di Giacinto
fb1ab70650
fix(telegram): upload of images ( #143 )
...
* fix(telegram): upload of images
Signed-off-by: mudler <mudler@localai.io >
* Parse markdown
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
2025-05-07 20:10:51 +02:00
Ettore Di Giacinto
94f4d350c9
feat(telegram): handle correctly generated multimedia and links ( #141 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-06 22:38:33 +02:00
Ettore Di Giacinto
cc3fdecfc9
feat(telegram): show thought process ( #140 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-06 22:24:11 +02:00
Richard Palethorpe
f2c3b9dbdb
feat(filters): Add configurable filters for incoming jobs
...
Signed-off-by: Richard Palethorpe <io@richiejp.com >
2025-05-06 09:08:14 +01:00
Ettore Di Giacinto
5e5224da25
fix(github): skip binary files
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-02 22:34:37 +02:00
Ettore Di Giacinto
c529f880d3
feat(github): add action to list and search files in a repository ( #110 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-05-02 14:49:01 +02:00
Ettore Di Giacinto
18eb40ec14
fix(actions): make sure to initialize a config ( #109 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-01 22:24:11 +02:00
Ettore Di Giacinto
904765591c
fix(github/issue-editor): also update the title
2025-05-01 22:15:19 +02:00
Ettore Di Giacinto
62ce629bf1
feat(github): add issue editor ( #106 )
...
* feat(github): add issue editor
Signed-off-by: mudler <mudler@localai.io >
* Small changes
---------
Signed-off-by: mudler <mudler@localai.io >
2025-05-01 22:07:41 +02:00
Ettore Di Giacinto
5981109730
feat(github): add option to create PR from forks ( #105 )
...
* feat(github): add option to create PR from forks
Signed-off-by: mudler <mudler@localai.io >
* extend delays in waiting forking from github
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-05-01 21:59:28 +02:00