DeepSeek Harness Timeline Navigator
August 29, 2026 · View on GitHub
Turn long DeepSeek Harness conversations into a timeline you can scan, search, and revisit.
面向 DeepSeek Harness 的轻量级时间线导航插件:让冗长对话更容易浏览、搜索和回到关键消息。
A focused navigation overlay for long, scroll-heavy conversations. It adds a searchable turn map, bookmarks, and history-aware jumps without modifying the DeepSeek Harness host application.
Why this plugin?
Long agent conversations are linear: the answer you need may be hundreds of messages above the current viewport. Timeline Navigator adds a compact navigation layer beside the chat so you can see the conversation structure, jump to a message, and save important points for later.
Preview
The screenshots below show the timeline panel only. The original chat body was cropped out so local paths and private conversation text are not published with the project.
From left to right: turn-based navigation, bulk expand/collapse controls, and bookmarked messages. The panel is projected from the active session's ChatSnapshot at runtime; the data is not hard-coded into these images.
Highlights
| Find your place | Keep the structure visible | Save what matters |
|---|---|---|
| Search message titles and previews; jump to the earliest or latest message. | Group messages by turn, collapse groups by default, and expand or collapse all with one click. | Bookmark individual messages per conversation with a dedicated star button. |
- Opens from a visible right-edge handle and supports keyboard focus, click, and touch.
- Highlights the message currently visible in the chat.
- Loads older history automatically when a jump target is not loaded yet.
- Provides a mobile bottom sheet and respects
prefers-reduced-motion. - Remembers enabled state, panel width, filter mode, scroll mode, and first-use hint state.
- Uses the host's
ChatSnapshotanddata-chat-anchor-keycontract instead of scraping raw session events.
Install
Requirements: a running DeepSeek Harness Web UI and Node.js 18 or newer.
From a local checkout:
.\install.ps1 -Source (Get-Location).Path
From GitHub:
.\install.ps1 -Source 'https://github.com/7A7K/DSH-Timeline-Navigator' -Version main
After installation, reload http://127.0.0.1:3080/. If the Web process still serves an older bundle, restart it once.
Use it
| Action | Result |
|---|---|
| Hover or focus the right edge | Open the timeline |
| Click a message | Center that message in the chat |
| Click the star | Add or remove a bookmark |
| Click a turn header | Collapse or expand that turn |
| Expand all / Collapse all | Change every turn group at once |
| ↑ / ↓ | Jump to the earliest / latest message |
Escape | Close the timeline |
| Drag the left rail edge | Resize the panel |
Development
npm install
npm run bundle
npm run check
The bundle is emitted in the same window.__ModuleLoader__.load format used by first-party DSH plugins. Runtime dependencies such as React and DSH client packages remain external.
lib/ is generated. Make changes under src/, then run npm run bundle; do not edit lib/client.js by hand.
Compatibility and design
- Targets the DSH Web client plugin contracts used by the
rc.6client runtime line and newer. - Owns its overlay and settings slots; it does not modify Harness host source files.
- Keeps settings and bookmarks in browser storage, scoped to the conversation where applicable.
- The core projection, filtering, grouping, and storage behavior is covered by Node tests.
Project layout
src/ # source code
src/client/ # React UI, projection, storage, DOM integration, locale, styles
lib/ # generated DSH-loadable artifacts
tests/ # node:test coverage for pure behavior
scripts/build.mjs # esbuild bundle entry
scripts/smoke.mjs # Playwright UI smoke test
install.ps1 # local or GitHub installation
uninstall.ps1 # uninstall helper
Contributing
Bug reports, compatibility notes, and focused improvements are welcome. Please include the DSH version, browser environment, reproduction steps, and whether the issue affects desktop or mobile layout.