Expand description
Context construction strategies — one entry point per model/provider.
This module owns the CtxBuilder trait (defined below) and the
registry function for_provider (in resolver). Each concrete
builder lives in its own file to keep mod.rs thin:
| File | Role |
|---|---|
mod.rs | CtxBuilder trait definition + re-exports |
resolver.rs | for_provider dispatch (add new models here) |
render.rs | Default render / compression-plan policy |
default.rs | DefaultCtx — thin wrapper over render |
ollama.rs | OllamaCtx — small-window local models |
truncate.rs | Shared per-tool truncation helpers |
Adding a new per-model ctx strategy:
- Create
ctx/<name>.rswith apub struct XxxCtxandimpl CtxBuilder for XxxCtx. Keep all ctor + tests + impl methods in that single file. - Declare
pub mod <name>;below. - Register in
resolver::for_provider.
The trait is narrow on purpose: build_messages owns the full
render path for its model, including any system-prompt variation,
cold-zone handling, or tool-schema trimming. The shared
render and truncate modules offer building blocks that
impls may call or ignore at will.
Re-exports§
pub use default::DefaultCtx;pub use env::EnvSnapshot;pub use ollama::OllamaCtx;pub use resolver::for_provider;
Modules§
- default
DefaultCtx— the fallbackCtxBuilderimplementation.- env
- Session-start environment snapshot (C1 in CC’s taxonomy).
- file_
store - In-memory file content store — D3 step 1.
- ollama
OllamaCtx— 为本地小窗口 Ollama 模型优化的上下文策略。- render
- Default render & compression-plan policy for atomcode ctx.
- resolver
for_provider— 按 provider 配置选CtxBuilder实现的唯一入口。- truncate
Traits§
- CtxBuilder
- Per-session context construction strategy. Selected once at
AgentLoop::newviafor_providerand rebuilt onReloadConfig.