diff --git a/README.md b/README.md index 261f03e..00c5e02 100644 --- a/README.md +++ b/README.md @@ -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/) .md r/w: skill SKILL.md content t/ dir: tool scripts (r/w, backed by ~/.config/ollie/tools/) diff --git a/internal/p9/server.go b/internal/p9/server.go index 35f2422..0caa6ec 100644 --- a/internal/p9/server.go +++ b/internal/p9/server.go @@ -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