____ _ __ __
/ ___| | | \/ |
| | | | | |\/| |
| |___| |___| | | |
\____|_____|_| |_| pi-clm — the agent that manages its own context
pi-clm is a Pi extension
that lets the agent manage its own context: the language model can generate functions to
modify the context (mapped as a file), and the edited version becomes its next input.
Check our paper Context Language Models and research
codebase.
pi install npm:@lolipopshock/pi-clm
# From source, or to try it for one session without installing:
pi install git:github.com/lolipopshock/pi-clm
pi -e git:github.com/lolipopshock/pi-clm
| command | what it does |
|---|---|
/clm | open the panel: overview (context size over time + compaction points) input (what the next request contains) · edits (per-revision side-by-side diff) ![]() |
/clm status | three lines: next request vs budget, edits, changed settings |
/clm config | open settings; /clm config <setting> <value> changes one, /clm config reset drops this session's changes![]() |
/clm-compact [instructions] | ask the model to compact its own context now; anything you add (e.g. what to keep) is passed along. The result shows on the edits page |
/clm on / off / reset | enable, use raw context, discard the projection |
In the panel: 1–4 or Tab switch pages, ← → step through compaction points, z
zooms the chart, Enter opens the selection, q closes.
If you use pi-clm in your research, please cite Context Language Models:
@article{shao2026context,
title = {Context Language Models},
author = {Shao, Rulin and Shen, Shannon Zejiang and Yin, Junjie Oscar and Li, Yuetai and
Wang, Minheng and Ivison, Hamish and Poovendran, Radha and Lambert, Nathan and
Xiao, Teng and Lewis, Mike and Yih, Wen-tau and Zettlemoyer, Luke and Koh, Pang Wei},
journal = {arXiv preprint arXiv:2609.37725},
year = {2026}
}
____ _ __ __
/ ___| | | \/ |
| | | | | |\/| |
| |___| |___| | | |
\____|_____|_| |_| pi-clm — the agent that manages its own context
pi-clm is a Pi extension
that lets the agent manage its own context: the language model can generate functions to
modify the context (mapped as a file), and the edited version becomes its next input.
Check our paper Context Language Models and research
codebase.
pi install npm:@lolipopshock/pi-clm
# From source, or to try it for one session without installing:
pi install git:github.com/lolipopshock/pi-clm
pi -e git:github.com/lolipopshock/pi-clm
| command | what it does |
|---|---|
/clm | open the panel: overview (context size over time + compaction points) input (what the next request contains) · edits (per-revision side-by-side diff) ![]() |
/clm status | three lines: next request vs budget, edits, changed settings |
/clm config | open settings; /clm config <setting> <value> changes one, /clm config reset drops this session's changes![]() |
/clm-compact [instructions] | ask the model to compact its own context now; anything you add (e.g. what to keep) is passed along. The result shows on the edits page |
/clm on / off / reset | enable, use raw context, discard the projection |
In the panel: 1–4 or Tab switch pages, ← → step through compaction points, z
zooms the chart, Enter opens the selection, q closes.
If you use pi-clm in your research, please cite Context Language Models:
@article{shao2026context,
title = {Context Language Models},
author = {Shao, Rulin and Shen, Shannon Zejiang and Yin, Junjie Oscar and Li, Yuetai and
Wang, Minheng and Ivison, Hamish and Poovendran, Radha and Lambert, Nathan and
Xiao, Teng and Lewis, Mike and Yih, Wen-tau and Zettlemoyer, Luke and Koh, Pang Wei},
journal = {arXiv preprint arXiv:2609.37725},
year = {2026}
}