rewrite help.md: remove dead 9P dirs (sk/, u/, x/, tmp/, tr/), use 9p commands
This commit is contained in:
parent
3d4ac9699e
commit
03e66c8a0a
122
doc/help.md
122
doc/help.md
|
|
@ -1,104 +1,100 @@
|
|||
# ollie
|
||||
|
||||
An AI agent exposed as a filesystem. Mount it, then use shell tools.
|
||||
An AI agent exposed as a 9P filesystem. Mount it, then use shell tools.
|
||||
|
||||
## Quick start
|
||||
|
||||
```sh
|
||||
olliesrv # start the 9P server
|
||||
echo "cwd=$PWD" > ~/mnt/ollie/session/new # create a session
|
||||
ls ~/mnt/ollie/session/ # find the session ID
|
||||
echo "hello" > ~/mnt/ollie/session/<id>/prompt # send a prompt
|
||||
cat ~/mnt/ollie/session/<id>/chat # read the conversation
|
||||
tail -f ~/mnt/ollie/session/<id>/chat # follow live output
|
||||
echo "cwd=$PWD" | 9p write session/new # create a session
|
||||
9p ls session/ # find the session ID
|
||||
echo "hello" | 9p write session/<id>/prompt # send a prompt
|
||||
9p read session/<id>/chat # read the conversation
|
||||
```
|
||||
|
||||
## Filesystem
|
||||
|
||||
```
|
||||
ollie/
|
||||
agents available agent names (ro) cat
|
||||
backends available backends (ro) cat
|
||||
complete code completion (r/w) write JSON, read result
|
||||
ctl server control (w) echo invalidate >
|
||||
generate one-shot generation (r/w) write prompt, read result
|
||||
help this file (ro) cat
|
||||
models available models (ro) cat: backend\tmodel per line
|
||||
route task routing (r/w) write task, read backend=X model=Y
|
||||
session/ sessions ls
|
||||
idx session index (ro) cat: id state cwd backend model, one per line
|
||||
new create session (r/w) cat: KV template; echo "cwd=/path" >
|
||||
<id>/ session directory rm -r to kill; mv to rename
|
||||
cfg session config (r/w) cat: KV (backend, model, agent, cwd, params); write KV to change
|
||||
chat conversation log (ro)
|
||||
context rendered context window (ro)
|
||||
cost estimated cost (ro)
|
||||
ctl control (w) stop, kill, clear, compact, rn <name>
|
||||
ctxsz context size (ro)
|
||||
env session environment (ro)
|
||||
fifo.in queue a prompt (w)
|
||||
fifo.out pop queued prompt (ro)
|
||||
models available models (ro)
|
||||
offset byte offset after last user prompt (ro)
|
||||
peer/ peer links (r/w) touch to add, rm to remove, write to send prompt
|
||||
plan plan scratchpad (r/w)
|
||||
proc/ detached processes ls
|
||||
prompt submit prompt (w)
|
||||
prompt.prev previous prompt (ro)
|
||||
state agent state (ro) cat: idle, thinking, calling: <tool>
|
||||
statewait blocks until state changes (ro)
|
||||
systemprompt rendered system prompt (ro)
|
||||
tail tail helper (x)
|
||||
usage token counts (ro)
|
||||
t/ tool scripts (rx) ls, cat
|
||||
idx tool index (ro) cat
|
||||
tools tool prompt lookup (r/w) write name, read documentation
|
||||
sk/ skills (r/w) ls, cat, edit
|
||||
idx skill index (ro) cat
|
||||
<name>.md skill content (r/w)
|
||||
u/ utility scripts (x) ls, exec
|
||||
x/ system scripts (x) ls, exec
|
||||
tmp/ scratch space (r/w) ls, cat, edit, rm
|
||||
agents available agent names (ro) 9p read agents
|
||||
backends available backends (ro) 9p read backends
|
||||
complete code completion (r/w) echo JSON | 9p rdwr complete
|
||||
ctl server control (w) echo invalidate | 9p write ctl
|
||||
generate one-shot generation (r/w) echo prompt | 9p rdwr generate
|
||||
help this file (ro) 9p read help
|
||||
models available models (ro) 9p read models
|
||||
route task routing (r/w) echo task | 9p rdwr route
|
||||
session/ sessions (dir)
|
||||
idx session index (ro) 9p read session/idx
|
||||
new create session (r/w) echo "cwd=/path" | 9p write session/new
|
||||
<id>/
|
||||
cfg session config (r/w) 9p read cfg; echo key=val | 9p write cfg
|
||||
chat conversation log (ro) 9p read chat
|
||||
context rendered context (ro) 9p read context
|
||||
cost estimated cost (ro) 9p read cost
|
||||
ctl control (w) echo stop | 9p write ctl
|
||||
ctxsz context size (ro) 9p read ctxsz
|
||||
env session environment (ro) 9p read env
|
||||
fifo.in queue a prompt (w) echo prompt | 9p write fifo.in
|
||||
fifo.out pop queued prompt (ro) 9p read fifo.out
|
||||
models available models (ro) 9p read models
|
||||
offset byte after last prompt (ro) 9p read offset
|
||||
peer/ peer links (dir) 9p create peer/<id>; 9p rm peer/<id>
|
||||
plan plan scratchpad (r/w) 9p read plan; echo text | 9p write plan
|
||||
proc/ detached processes (dir) 9p ls proc/
|
||||
prompt submit prompt (w) echo text | 9p write prompt
|
||||
prompt.prev previous prompt (ro) 9p read prompt.prev
|
||||
state agent state (ro) 9p read state
|
||||
statewait blocks until change (ro) 9p read statewait
|
||||
systemprompt rendered system prompt (ro) 9p read systemprompt
|
||||
usage token counts (ro) 9p read usage
|
||||
t/ tool scripts (dir) 9p ls t/
|
||||
idx tool index (ro) 9p read t/idx
|
||||
tools tool prompt lookup (r/w) echo name | 9p rdwr tools
|
||||
```
|
||||
|
||||
## Request-response files
|
||||
|
||||
`complete`, `generate`, `route`, and `tools` work the same way: open r/w, write a query, read the result.
|
||||
`complete`, `generate`, `route`, and `tools` work the same way: write a query, read the result.
|
||||
|
||||
```sh
|
||||
exec 3<>~/mnt/ollie/tools; echo 'file_edit' >&3; cat <&3; exec 3>&-
|
||||
exec 3<>~/mnt/ollie/route; echo 'implement login' >&3; cat <&3; exec 3>&-
|
||||
echo 'file_edit' | 9p rdwr tools
|
||||
echo 'implement login' | 9p rdwr route
|
||||
```
|
||||
|
||||
Or with `9p rdwr`: `echo 'file_edit' | 9p rdwr ollie/tools`
|
||||
|
||||
## Session management
|
||||
|
||||
```sh
|
||||
echo "cwd=/path backend=ollama model=qwen3:8b" > ~/mnt/ollie/session/new
|
||||
mv ~/mnt/ollie/session/<id> ~/mnt/ollie/session/my-name # rename
|
||||
rm -r ~/mnt/ollie/session/<id> # kill
|
||||
echo stop > ~/mnt/ollie/session/<id>/ctl # interrupt current turn
|
||||
echo "cwd=/path backend=ollama model=qwen3:8b" | 9p write session/new
|
||||
9p rm session/<id> # kill
|
||||
echo stop | 9p write session/<id>/ctl # interrupt
|
||||
```
|
||||
|
||||
## Switching backend/model/agent
|
||||
|
||||
```sh
|
||||
cat ~/mnt/ollie/backends # list backends
|
||||
cat ~/mnt/ollie/session/<id>/models # list models for current backend
|
||||
echo backend=ollama > ~/mnt/ollie/session/<id>/cfg
|
||||
echo model=qwen3:8b > ~/mnt/ollie/session/<id>/cfg
|
||||
echo agent=myagent > ~/mnt/ollie/session/<id>/cfg
|
||||
9p read backends # list backends
|
||||
9p read session/<id>/models # list models
|
||||
echo backend=ollama | 9p write session/<id>/cfg
|
||||
echo model=qwen3:8b | 9p write session/<id>/cfg
|
||||
echo agent=myagent | 9p write session/<id>/cfg
|
||||
```
|
||||
|
||||
Writes to cfg are rejected while the agent is running.
|
||||
|
||||
## Agent directory (`session/{id}/agent/{aid}/`)
|
||||
|
||||
Each session has at least one agent. The agent directory lives at
|
||||
`session/{id}/agent/{aid}/` and contains the same files as the session
|
||||
directory above (`chat`, `prompt`, `state`, `statewait`, `cfg`, `ctl`,
|
||||
`offset`, `usage`, `cost`, `ctxsz`, `systemprompt`, `prompt.prev`,
|
||||
`context`, `fifo.in`, `fifo.out`, `plan`, `proc/`, `t/`, `tools`).
|
||||
|
||||
## Environment
|
||||
|
||||
```
|
||||
OLLIE_BACKEND ollama | openai | openrouter | anthropic | copilot | kiro
|
||||
OLLIE_MODEL default model name
|
||||
OLLIE mount path (default: ~/mnt/ollie)
|
||||
OLLIE_TOOLS_PATH tool scripts directory (default: ~/.config/ollie/tools)
|
||||
OLLIE_SKILLS_PATH skills directory (default: ~/.config/ollie/skills)
|
||||
OLLIE_MEMORY_PATH memory directory (default: ~/.config/ollie/memory)
|
||||
|
|
|
|||
Loading…
Reference in New Issue