config: rename agent autoLoad field to tools

The autoLoad name implied an automatic tool-loading path that no longer
exists; tools now come only from agent config plus the /tool_load ctl
command. Rename the AgentConfig.AutoLoad field (json autoLoad) to Tools
(json tools), rename LoadAutoLoadTools to LoadTools, and update all 14
agent JSON profiles and the tool-not-loaded error message.
This commit is contained in:
Ollie Agent 2026-09-07 13:23:17 +02:00
parent eff0880737
commit 9395a0e07b
21 changed files with 24 additions and 24 deletions

View File

@ -33,7 +33,7 @@ type AgentConfig struct {
Backend string `json:"backend,omitempty"` Backend string `json:"backend,omitempty"`
Model string `json:"model,omitempty"` Model string `json:"model,omitempty"`
AutoLoad []string `json:"autoLoad,omitempty"` Tools []string `json:"tools,omitempty"`
CompactionModel string `json:"compactionModel,omitempty"` CompactionModel string `json:"compactionModel,omitempty"`
// SystemPrompt overrides the embedded system prompt with a file path. // SystemPrompt overrides the embedded system prompt with a file path.
SystemPrompt string `json:"systemPrompt,omitempty"` SystemPrompt string `json:"systemPrompt,omitempty"`

View File

@ -12,7 +12,7 @@ import (
) )
// These tests lock in the "no tools loaded" compatibility path: an agent with // These tests lock in the "no tools loaded" compatibility path: an agent with
// an empty autoLoadTools set (and no /tool_load) produces an empty tool slice, // an empty tools set (and no /tool_load) produces an empty tool slice,
// and every backend must then emit a request with NO "tools" field. This keeps // and every backend must then emit a request with NO "tools" field. This keeps
// Ollie compatible with models that do not support tool/function calling — the // Ollie compatible with models that do not support tool/function calling — the
// answer for such a model is simply to use a tool-free agent. // answer for such a model is simply to use a tool-free agent.

View File

@ -989,7 +989,7 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl
// Reload tools for the new profile // Reload tools for the new profile
if ts := a.ToolServer(); ts != nil { if ts := a.ToolServer(); ts != nil {
ts.ClearTools() ts.ClearTools()
session.LoadAutoLoadTools(cfg, ts, s.ID, a.ID(), nil) session.LoadTools(cfg, ts, s.ID, a.ID(), nil)
} }
return []byte(args[0] + "\n"), nil return []byte(args[0] + "\n"), nil
}, },

View File

@ -416,7 +416,7 @@ func buildAgent(sess *Session, p AgentParams) (*agent.Agent, error) {
layers := BuildPromptLayers(cfg, cwd, sessID, p.ID, infra.Platform, infra.IsGitRepo, "") layers := BuildPromptLayers(cfg, cwd, sessID, p.ID, infra.Platform, infra.IsGitRepo, "")
// Load tools // Load tools
LoadAutoLoadTools(cfg, infra.ToolsConn, sessID, p.ID, func(f string, a ...any) { LoadTools(cfg, infra.ToolsConn, sessID, p.ID, func(f string, a ...any) {
pkgLog.Error("session %s agent %s: "+f, append([]any{sessID, p.ID}, a...)...) pkgLog.Error("session %s agent %s: "+f, append([]any{sessID, p.ID}, a...)...)
}) })

View File

@ -509,7 +509,7 @@ func rebuildAgentRuntime(ag *agent.Agent, sessID string) error {
} }
rt.Backend = be rt.Backend = be
ag.SetRuntime(rt) ag.SetRuntime(rt)
LoadAutoLoadTools(cfg, ag.ToolServer(), sessID, ag.ID(), func(f string, a ...any) { LoadTools(cfg, ag.ToolServer(), sessID, ag.ID(), func(f string, a ...any) {
pkgLog.Error("session %s agent %s: "+f, append([]any{sessID, ag.ID()}, a...)...) pkgLog.Error("session %s agent %s: "+f, append([]any{sessID, ag.ID()}, a...)...)
}) })
return nil return nil

View File

@ -169,10 +169,10 @@ func BuildPromptLayers(cfg *agent.AgentConfig, cwd, sessID, uname, platform stri
} }
} }
// LoadAutoLoadTools loads all tools from the agent config's autoLoad list. // LoadTools loads all tools from the agent config's tools list.
// It first sends the session ID and uname to the tool server so that // It first sends the session ID and uname to the tool server so that
// ollie-remote can attach its tool registry before processing tool_load RPCs. // ollie-remote can attach its tool registry before processing tool_load RPCs.
func LoadAutoLoadTools(cfg *agent.AgentConfig, conn *toolclient.ToolsrvConn, sessID, uname string, logError func(string, ...any)) { func LoadTools(cfg *agent.AgentConfig, conn *toolclient.ToolsrvConn, sessID, uname string, logError func(string, ...any)) {
if cfg == nil || conn == nil { if cfg == nil || conn == nil {
return return
} }
@ -186,10 +186,10 @@ func LoadAutoLoadTools(cfg *agent.AgentConfig, conn *toolclient.ToolsrvConn, ses
conn.SetAgentID(uname) conn.SetAgentID(uname)
} }
for _, tl := range cfg.AutoLoad { for _, tl := range cfg.Tools {
if err := LoadToolOnConn(conn, tl); err != nil { if err := LoadToolOnConn(conn, tl); err != nil {
if logError != nil { if logError != nil {
logError("autoLoad tool %q: %v", tl, err) logError("load tool %q: %v", tl, err)
} }
} }
} }

View File

@ -305,7 +305,7 @@ func (st *State) NewProc(ctx context.Context, payload string, background bool) (
info, ok := reg.Lookup(aid, toolName) info, ok := reg.Lookup(aid, toolName)
if !ok { if !ok {
return "", 0, fmt.Errorf("tool not loaded: %s (add to autoLoad in agent config)", toolName) return "", 0, fmt.Errorf("tool not loaded: %s (add to tools in agent config)", toolName)
} }
// Reject shell calls that invoke a native tool. // Reject shell calls that invoke a native tool.

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"shell", "shell",
"client_9p", "client_9p",
"memory_wake", "memory_wake",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"client_9p", "client_9p",
"subagent_spawn", "subagent_spawn",
"reasoning_think", "reasoning_think",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",
"memory_remember", "memory_remember",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"shell", "shell",
"client_9p", "client_9p",
"reasoning_think", "reasoning_think",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"shell", "shell",
"client_9p", "client_9p",
"subagent_spawn", "subagent_spawn",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"reasoning_think", "reasoning_think",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"client_9p", "client_9p",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"reasoning_think", "reasoning_think",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"reasoning_think", "reasoning_think",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",

View File

@ -2,7 +2,7 @@
"prompt": [ "prompt": [
"$XDG_CONFIG_HOME/ollie/prompts/agent-observer.md" "$XDG_CONFIG_HOME/ollie/prompts/agent-observer.md"
], ],
"autoLoad": [ "tools": [
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",
"memory_remember", "memory_remember",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"client_9p", "client_9p",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"client_9p", "client_9p",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"client_9p", "client_9p",
"reasoning_think", "reasoning_think",
"memory_wake", "memory_wake",

View File

@ -5,7 +5,7 @@
"userPrompts": [ "userPrompts": [
"$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md" "$XDG_CONFIG_HOME/ollie/prompts/user-preferences.md"
], ],
"autoLoad": [ "tools": [
"reasoning_think", "reasoning_think",
"memory_wake", "memory_wake",
"memory_recall", "memory_recall",