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
02c6b5ad4e
fix(reply): force replying without using tools ( #131 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-05-05 18:33:53 +02:00
Ettore Di Giacinto
67cb5937e7
fix: cleanup responses also when not picking any tool ( #102 )
...
* fix: process response also when no action is picked
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* chore: rename method to be more meaningful
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-04-30 22:15:34 +02:00
Richard Palethorpe
8abf5512a4
fix(core): Add recursive loop detection and move loop detection ( #101 )
...
* fix(core): Add recursive loop detection and move loop detection
Signed-off-by: Richard Palethorpe <io@richiejp.com >
* fix(ci): Free up space after installation to avoid out of space error
Signed-off-by: Richard Palethorpe <io@richiejp.com >
---------
Signed-off-by: Richard Palethorpe <io@richiejp.com >
2025-04-30 13:51:43 +00:00
mudler
45dd74d27c
fix: multiline
...
Signed-off-by: mudler <mudler@localai.io >
2025-04-30 11:44:26 +02:00
Ettore Di Giacinto
1109b0a533
feat: add option to strip thinking from output ( #100 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-04-30 11:05:39 +02:00
Richard Palethorpe
77680c6fee
feat(ui): Add summary details of each observable
...
Signed-off-by: Richard Palethorpe <io@richiejp.com >
2025-04-26 11:00:11 +01:00
Ettore Di Giacinto
eb8663ada1
feat: local MCP server support ( #61 )
...
* wip
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
* Add groups to mcpbox
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
* Add mcpbox dockerfile and entrypoint
Signed-off-by: mudler <mudler@localai.io >
* Attach mcp stdio box to agent
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
* Add to dockerfile
Signed-off-by: mudler <mudler@localai.io >
* Attach to config
Signed-off-by: mudler <mudler@localai.io >
* Attach to ui
Signed-off-by: mudler <mudler@localai.io >
* Revert "Attach to ui"
This reverts commit 088d0c47e87ee8f84297e47d178fb7384bbe6d45.
Signed-off-by: mudler <mudler@localai.io >
* add one-time process, attach to UI the mcp server json configuration
Signed-off-by: mudler <mudler@localai.io >
* quality of life improvements
Signed-off-by: mudler <mudler@localai.io >
* fixes
Signed-off-by: mudler <mudler@localai.io >
* Make it working, expose MCP prepare script to UI
Signed-off-by: mudler <mudler@localai.io >
* Add container image to CI builds
* Wire mcpbox to tests
* Improve setup'
* Not needed anymore, using tests
Signed-off-by: mudler <mudler@localai.io >
* fix: do not override actions
Signed-off-by: mudler <mudler@localai.io >
* chore(tests): fix env var
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
2025-04-24 16:39:20 +02:00
Ettore Di Giacinto
56cd0e05ca
chore: better defaults for parallel jobs ( #76 )
...
* chore: better defaults for parallel jobs
Signed-off-by: mudler <mudler@localai.io >
* chore(tests): add timeout
---------
Signed-off-by: mudler <mudler@localai.io >
2025-04-23 00:12:44 +02:00
Ettore Di Giacinto
25bb3fb123
feat: allow the agent to perform things concurrently ( #74 )
...
* feat: allow the agent to perform things concurrently
Signed-off-by: mudler <mudler@localai.io >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* collect errors
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-04-22 16:49:28 +02:00
Richard Palethorpe
b5a12a1da6
feat(ui): Structured observability/status view ( #40 )
...
* refactor(ui): Make message status SSE name more specific
Signed-off-by: Richard Palethorpe <io@richiejp.com >
* feat(ui): Add structured observability events
Signed-off-by: Richard Palethorpe <io@richiejp.com >
---------
Signed-off-by: Richard Palethorpe <io@richiejp.com >
2025-04-18 17:32:43 +02:00
Ettore Di Giacinto
60c249f19a
chore: cleanup, identify goal from conversation when evaluting achievement ( #29 )
...
* chore: cleanup, identify goal from conversation when evaluting achievement
Signed-off-by: mudler <mudler@localai.io >
* change base cpu model
Signed-off-by: mudler <mudler@localai.io >
* this is not necessary anymore
Signed-off-by: mudler <mudler@localai.io >
* use 12b
Signed-off-by: mudler <mudler@localai.io >
* use openthinker, it's smaller
* chore(tests): set timeout
Signed-off-by: mudler <mudler@localai.io >
* Enable reasoning in some of the tests
Signed-off-by: mudler <mudler@localai.io >
* docker compose unification, small changes
Signed-off-by: mudler <mudler@localai.io >
* Simplify
Signed-off-by: mudler <mudler@localai.io >
* Back at arcee-agent as default
Signed-off-by: mudler <mudler@localai.io >
* Better error handling during planning
Signed-off-by: mudler <mudler@localai.io >
* Ci: do not run jobs for every branch
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
2025-04-12 21:01:01 +02:00
Ettore Di Giacinto
5105b46f48
Add Github reviewer and improve reasoning ( #27 )
...
* Add Github reviewer and improve reasoning
* feat: improve action picking
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
2025-04-11 21:57:19 +02:00
Ettore Di Giacinto
dd4fbd64d3
fix(pick_action): improve action pickup by using only the assistant thought process ( #25 )
...
* fix(pick_action): improve action pickup by using only the assistant thought process
Signed-off-by: mudler <mudler@localai.io >
* fix: improve templates
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
2025-04-10 21:45:04 +02:00
mudler
bc7f6f059c
Reply when skipping loops
2025-04-09 19:49:39 +02:00
mudler
0eb68b6c20
feat: add loop detection
...
Signed-off-by: mudler <mudler@localai.io >
2025-04-09 19:13:41 +02:00
Ettore Di Giacinto
e7111c6554
Rename
2025-04-08 22:18:32 +02:00
Ettore Di Giacinto
c1dcda42ae
fix: re-enable nested plannings ( #117 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-30 22:18:15 +02:00
Ettore Di Giacinto
dff678fc4e
feat(job): add finalizers and save conversation after job is result is released ( #114 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-30 18:43:28 +02:00
Ettore Di Giacinto
c940141e61
fix: make new_conversation to work ( #112 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-29 00:21:00 +01:00
Ettore Di Giacinto
906b4ebd76
feat: add retries to pickAction
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-28 22:04:04 +01:00
Ettore Di Giacinto
0644daa477
feat: retrials ( #110 )
...
* feat(jobs): rework next actions
Also attempt to retry when failing at generating parameters
Signed-off-by: mudler <mudler@localai.io >
* feat(retries): add retries for common operations
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
2025-03-28 21:27:34 +01:00
Ettore Di Giacinto
08f5417e96
go fmt
2025-03-27 23:06:33 +01:00
Ettore Di Giacinto
f67ebe8c7a
Update agent.go
2025-03-27 00:15:52 +01:00
Ettore Di Giacinto
6ace4ab60d
Expire jobs if context is canceled
2025-03-27 00:13:26 +01:00
Ettore Di Giacinto
6e888f6008
Move action context to the job
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-26 22:37:25 +01:00
Ettore Di Giacinto
5cd0eaae3f
fix: mixed fixups and enhancements ( #107 )
...
* chore(Makefile): build react dist if missing
Signed-off-by: mudler <mudler@localai.io >
* fix(planning): don't loose results
Signed-off-by: mudler <mudler@localai.io >
* fix(slack): track user messages when writing on channel
Signed-off-by: mudler <mudler@localai.io >
---------
Signed-off-by: mudler <mudler@localai.io >
2025-03-26 17:05:59 +01:00
Ettore Di Giacinto
fb20bbe5bf
Allow slack bots to initiate conversations
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-25 22:58:59 +01:00
mudler
e26b55a6a8
Add tests
2025-03-25 17:58:59 +01:00
mudler
ca3420c791
fixup silly mistake
...
Signed-off-by: mudler <mudler@localai.io >
2025-03-25 17:25:59 +01:00
mudler
abd6d1bbf7
Do not allow to recursively follow plan actions
...
Signed-off-by: mudler <mudler@localai.io >
2025-03-25 16:59:13 +01:00
Ettore Di Giacinto
d0cfc4c317
feat: track conversations inside connectors ( #92 )
...
* switch to observer pattern
Signed-off-by: mudler <mudler@localai.io >
* keep conversation history in telegram and slack
* generalize with conversation tracker
---------
Signed-off-by: mudler <mudler@localai.io >
2025-03-25 16:31:03 +01:00
Ettore Di Giacinto
53c1554d55
fix: do not track an internal currentConversation ( #91 )
...
It is prone to races, and does not really track all conversations for
each job
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-25 00:36:09 +01:00
mudler
75a8d63e83
Finish moving types
2025-03-23 21:57:09 +01:00
Ettore Di Giacinto
abb3ffc109
feat: track plan action when is being executed, also tests ( #72 )
...
* feat: track plan action when is being executed, also tests
* Update core/agent/agent_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update core/agent/actions.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-03-21 16:32:24 +01:00
Ettore Di Giacinto
e5e238efc0
fix(planning): correctly generate a valid JSON schema ( #71 )
...
Signed-off-by: mudler <mudler@localai.io >
2025-03-21 15:47:34 +01:00
Ettore Di Giacinto
33483ab4b9
feat(planning): enable agent planning ( #68 )
...
* feat(planning): Allow the agent to plan subtasks
Signed-off-by: mudler <mudler@localai.io >
* feat(planning): enable planning toggle in the webui
Signed-off-by: mudler <mudler@localai.io >
* feat(planning): take in consideration the overall goal
Signed-off-by: mudler <mudler@localai.io >
* Update core/action/plan.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Signed-off-by: mudler <mudler@localai.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-03-21 12:28:11 +01:00
Ettore Di Giacinto
638eedc2a0
fix: correctly stop agents
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-03-20 22:46:54 +01:00
Ettore Di Giacinto
86d3596f41
Add more logging
2025-03-20 22:35:55 +01:00
Ettore Di Giacinto
e32a569796
try to fixup tests, enable e2e ( #53 )
...
* try to fixup tests, enable e2e
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Generate JSON character data with tools
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Rework generation of character
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Simplify text
Signed-off-by: mudler <mudler@localai.io >
* Relax some test constraints
Signed-off-by: mudler <mudler@localai.io >
* Fixups
* Properly fit schema generation
* Swap default model
* ci fixups
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
Signed-off-by: mudler <mudler@localai.io >
2025-03-18 23:28:02 +01:00
Ettore Di Giacinto
33b5b8c8f4
feat(agent): add MCP integration ( #50 )
...
* feat(agent): add MCP integration
Signed-off-by: mudler <mudler@localai.io >
* Update core/agent/mcp.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Hook MCP Server configuration to creation and setting mask
* Allow to specify a bearer token
* Small fixups
---------
Signed-off-by: mudler <mudler@localai.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-03-15 23:25:03 +01:00
mudler
0b71d8dc10
feat: make slack process images
2025-03-09 23:34:49 +01:00
mudler
bc60dde94f
Enable more logging, only describe image once when walking history
...
Signed-off-by: mudler <mudler@localai.io >
2025-03-09 23:34:20 +01:00
mudler
3827ebebdf
feat: add capability to understand images
...
Signed-off-by: mudler <mudler@localai.io >
2025-03-08 17:54:35 +01:00
Ettore Di Giacinto
d288755444
Automatically save all conversations
2025-03-04 22:22:16 +01:00
Ettore Di Giacinto
173eda4fb3
Rework UI by returning error/statuses, some refactorings
2025-03-03 22:34:46 +01:00
Ettore Di Giacinto
f6e16be170
Allow to specify dynamic prompts
2025-03-02 22:40:37 +01:00
mudler
6c83f3d089
refactorings
2025-03-02 17:45:06 +01:00
mudler
3a7e56cdf1
Cleanup
2025-03-02 17:43:11 +01:00
Ettore Di Giacinto
7a98408336
Fixups, enhance logging
2025-03-01 22:40:42 +01:00