mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Injected context reached the transcript as one anonymous shape whose expanded body was the whole message serialized as inline JSON, so the escaping collapsed the only readable part — the model-facing prose — into a single line. `MessageSource` gains an optional producer-declared `form`, a small semantic vocabulary of information shapes independent of `kind`: kind says who produced the context, form says what shape it is, so several producers may share one presentation. Two values ship. `instructions` (workspace-context) lists the reconciled files above their text and keeps the `<system-reminder>` framing verbatim, because the framing is part of what the model read. `catalog` moves dsh-tool-skill off the shared plugin kind onto a `skill-catalog` source carrying the published name/description entries, and the body lists those instead of re-parsing `<available_skills>` out of the prose. Catalog identity moves with it: the republish digest now covers the durable entries, deleting the text-slicing that recovered them from a logged message. Everything else renders the opaque body — the model-facing text with its real line breaks, then the remaining provenance as fields. That is the documented default, not a leftover: a resumed, forked, or foreign log must render whether or not its producer is mounted here, which is why the classification lives in the durable source rather than a client-side table keyed by producer.
context/ — request-context extensions
English | 中文
Product plugins that add model-visible request context without defining a tool. workspace-context is included by the default dsh-agent-spine-demo bundle and can be disabled through bundle config; time-context and tmux-context are opt-in, while the standard TUI bundle composes session-reference explicitly.
| Package | Role | ctx key |
|---|---|---|
session-reference/ |
Bounded current-surface snapshots of other sessions | ctx.sessionReferences |
time-context/ |
Durable per-step current time and elapsed-time context | (none) |
tmux-context/ |
Durable per-turn context with this agent's tmux pane/window location | (listens on agent/step, reads ctx.bash) |
workspace-context/ |
AGENTS.md/CLAUDE.md workspace context loader |
(listens on agent/step + tools/post-execute) |
The workspace-context decision record explains its per-agent/session isolation and lifecycle split.