usage/ctxsz: separate billed tokens from context size

- Rename Core.Usage() to Core.CtxSz() (estimated context size)
- New Core.Usage() returns billed token counts (in, out, requests)
- 9P: add ctxsz file, usage file now returns billed tokens
- /context command now shows context size summary
- Emacs mode-line reads ctxsz instead of usage
This commit is contained in:
Levi Neely 2026-04-13 10:45:45 +02:00
parent 0586e94672
commit 4ae91a1668
2 changed files with 7 additions and 2 deletions

View File

@ -24,6 +24,8 @@ ollie/
agent r/w: active agent name
model r/w: active model name
workdir r/w: working directory for tool execution and system prompt
usage read: billed token counts (input, output, requests)
ctxsz read: estimated context size vs context window
sk/ dir: skills (r/w, from OLLIE_SKILLS_PATH or ~/.config/ollie/skills/)
<name>.md r/w: skill SKILL.md content
t/ dir: tool scripts (r/w, backed by ~/.config/ollie/tools/)

View File

@ -222,7 +222,7 @@ func (s *Server) pathType(path string) string {
return ""
}
switch parts[2] {
case "ctl", "prompt", "enqueue", "dequeue", "chat", "reply", "backend", "agent", "model", "models", "mcp", "state", "workdir", "usage":
case "ctl", "prompt", "enqueue", "dequeue", "chat", "reply", "backend", "agent", "model", "models", "mcp", "state", "workdir", "usage", "ctxsz":
return "file"
}
}
@ -586,6 +586,8 @@ func (s *Server) readFile(path string) string {
return sess.core.WorkDir() + "\n"
case "usage":
return sess.core.Usage() + "\n"
case "ctxsz":
return sess.core.CtxSz() + "\n"
case "models":
return sess.core.ListModels() + "\n"
case "mcp":
@ -997,6 +999,7 @@ func (s *Server) readDir(path string, offset uint64, count uint32) []byte {
{"model", 0666},
{"workdir", 0666},
{"usage", 0444},
{"ctxsz", 0444},
{"models", 0444},
{"mcp", 0444},
}
@ -1063,7 +1066,7 @@ func (s *Server) makeStat(path string) plan9.Dir {
switch base {
case "ctl", "prompt", "enqueue":
mode = 0200
case "chat", "reply", "state", "usage", "models", "mcp", "dequeue":
case "chat", "reply", "state", "usage", "ctxsz", "models", "mcp", "dequeue":
mode = 0444
case "backend", "agent", "model", "workdir":
mode = 0666