Files
deepseek-harness/packages/session/README.md
Tianyi Cui aa0ca6c836 docs: anchor each subsystem page to its package group; make group READMEs thin tables
core.md read as a type grab-bag: LLM wire vocabulary up front, the agent/loop story buried, and no correspondence to packages/core. It now opens on the packages/core control spine — the package-by-package loop map with a Page column into session/system-prompt/tools/scope — and keeps only what the spine group declares plus the repo-wide patterns: the Agent handle with its delivery/cancellation/interception contracts, the SessionEvent envelope, branded ids, the …Map pattern. The conversation vocabulary (Message/ContentBlock, the model request, adapters — 17 type-equiv blocks) moves to llm-streaming.md, which now declares packages/llm end-to-end; the duplicate ContentBlockMap paste near its seam section folds into the moved section, and the manifest, LINK_MAP, README table rows, website label (Core data structures → Core), and inbound anchors follow.

Every packages/<group>/README pair is now a thin front door in one shape: a why-first intro (bash's seam-pattern-first paragraph rewritten as 'shell execution for the agent'), the package table, and a closing pointer to the owning docs/subsystems page — the bash-style table stays the load-bearing middle. Load-bearing trailing paragraphs relocate rather than vanish: the fs no-timeout rationale becomes a filesystem.md section (both languages), session's four sectioned tables merge into one 12-row table, examples' legacy-bin H2 collapses to a pointer at jsonrpc-demo's README, and design rationale that already lives in an Agent Note or subsystem page is now linked instead of restated. All 40 pair records re-recorded.
2026-08-09 01:32:39 +08:00

3.7 KiB

session/ — durable session data plane

English | 中文

The durable family around core/session's live in-memory service: the persistence seam with its storage backends and checkpoint policy, the projection seam that serves whole log-derived values, log-backed titles, and outbound session telemetry. All product packages. session-query/ remains a sibling group: the read/tool surface is consumed independently of persistence internals.

Persistence

Durable session persistence, semantic checkpoint policy, and the shipped storage backends.

Package Role ctx key
session-persistence/ Defines the persistence service and shared write coordination ctx.sessionPersistence
session-checkpoint-policy/ Applies semantic durability checkpoints wraps ctx.llm and ctx.tools
session-persistence-jsonl/ Persists sessions in JSONL files registers on ctx.sessionPersistence
session-persistence-sqlite/ Persists sessions in SQLite registers on ctx.sessionPersistence

The session-persistence decision records the persistence design.

Projection

Serves current, log-derived per-session state to client carriers.

Package Role ctx key
session-projection/ Defines and drives session projection units ctx.sessionProjections
session-projection-cache/ Persists and restores projection checkpoints ctx.sessionProjectionCache

Titles

Derives durable session titles from the session log, with an optional model-backed provider.

Package Role ctx key
session-title/ Owns title state, fallback behavior, provider registration, and refresh ctx.sessionTitle
session-title-llm/ Provides shared model-backed title generation
session-title-first-message-llm/ Titles a session from its first eligible human message registers on ctx.sessionTitle
session-title-all-messages-llm/ Titles a session from all eligible human messages registers on ctx.sessionTitle

Deployments may register one model-backed provider; the service retains a deterministic fallback when none is present.

Telemetry

Projects session activity into outbound telemetry and delegates delivery to a configured reporting backend. The telemetry decision records the reporting boundary; the mode decision records immediate, feedback-gated, and disabled delivery.

Package Role
session-telemetry/ Defines capture, redaction, projection, and live or on-demand backend delivery.
session-telemetry-otel/ Delivers telemetry through OpenTelemetry logs in FULL, FEEDBACK_ONLY, or DISABLED mode.

The subsystem references: persistence.md, session-projection.md, session-title.md, and telemetry.md. Only one title provider may register at a time; the demo spine mounts the fallback service and leaves both model providers out of default composition.