Files
deepseek-harness/packages/context/README.md
Turtle 1ac946f747 feat(context): add tmux-context plugin injecting the agent's tmux location
Add @deepseek-ai/dsh-tmux-context: an opt-in per-turn context plugin that
reads which tmux session/window/pane this agent process runs in (plus the
window layout tree) via the ctx.bash seam, and injects it as one durable,
source-attributed user/message when the location changes.

- Pull on the first step of each turn; no tmux hook or background process.
- Detect a real pane by tty, not $TMUX_PANE alone: a terminal launched from
  a tmux shell inherits $TMUX/$TMUX_PANE from that ancestor, so the command
  also matches the pane's #{pane_tty} against this process's controlling
  terminal and emits fields only on a match.
- No-op outside a real pane, without a bash executor, or on a malformed
  reading.
- Own location and layout only: no pane sizes, no sibling-pane scraping.
- Unit tests at 100% per-file coverage, plus a keyless Loader e2e with a
  mock bash provider so it replays without tmux.
- Agent Note: 2026-07-27-tmux-location-context.
2026-07-28 21:40:13 +08:00

1.0 KiB

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.