Expose agent stats through ctl

This commit is contained in:
Ollie Agent 2026-08-15 19:58:54 +02:00
parent 9330632402
commit 45746a3164
1 changed files with 12 additions and 8 deletions

View File

@ -361,6 +361,9 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl
chatStat := func() os.FileInfo {
return &SyntheticFileInfo{Name_: "chat", Mode_: 0444, Size_: 64 * 1024}
}
stats := func(_ []string) ([]byte, error) {
return []byte("usage=" + a.UsageStr() + "\ncost=" + a.CostStr() + "\nctxsz=" + a.CtxSz() + "\n"), nil
}
return []virtfs.FsNodeDecl{
virtfs.FileNode("prompt", 0666,
@ -756,15 +759,16 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl
"systemprompt": func(_ []string) ([]byte, error) {
return []byte(a.SystemPrompt() + "\n"), nil
},
"stats": stats,
"help": func(_ []string) ([]byte, error) {
return []byte("stop compact clear inject agent model models tools tool_load tool_unload cwd proc name backend systemprompt help\n"), nil
return []byte("stop compact clear inject agent model models tools tool_load tool_unload cwd proc name backend systemprompt stats help\n"), nil
},
}, data)
}),
),
virtfs.FileNode("stats", 0444,
virtfs.Read(func() ([]byte, error) {
return []byte("usage=" + a.UsageStr() + "\ncost=" + a.CostStr() + "\nctxsz=" + a.CtxSz() + "\n"), nil
return stats(nil)
}),
),
virtfs.FileNode("name", 0666,
@ -777,10 +781,10 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl
a.SetName(newName)
session.PersistSession(s.Name())
return nil
}),
),
virtfs.FileNode("id", 0444,
virtfs.Read(func() ([]byte, error) { return []byte(a.ID() + "\n"), nil }),
),
}
}),
),
virtfs.FileNode("id", 0444,
virtfs.Read(func() ([]byte, error) { return []byte(a.ID() + "\n"), nil }),
),
}
}