dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
English | 中文
A compact turn navigator for long DSH Web conversations. It follows the conversation scroll, previews a user turn on hover, and jumps to that turn on click. It stays hidden until the conversation contains at least three user turns.

It supports keyboard focus, light and dark themes, and reduced-motion preferences. When needed, it loads only enough older history to decide whether the navigator should appear without moving the reader's current position.
The plugin is private and not published. Its private repository is dsh-external/dsh-turn-navigator, but the repository remains empty until the first reviewed push. Use the local installation path until a reviewed commit is available, then start Web:
dsh plugin --profile web add -w "/path/to/dsh-turn-navigator"
dsh web
After the first reviewed commit is pushed, install that exact private revision with:
dsh plugin --profile web add -w github:dsh-external/dsh-turn-navigator#<reviewed-commit>
The checked-in lib/ output installs without rebuilding. A compatible DSH Web version is required. To remove the plugin:
dsh plugin --profile web remove -w @deepseek-ai/dsh-turn-navigator
This plugin registers into conversation.chat.navigator; it does not own or render that slot. A compatible DSH Web build must ship the same contract in both the host runtime and the official private client SDK declarations. A plugin-local type augmentation is not a substitute: it could make TypeScript pass while a host that does not render the slot silently shows no navigator.
Add the slot in the owning @deepseek-ai/dsh-client-ui-conversation package at these points:
PropsRenderSlots union:export interface TurnNavigatorOwnerProps {
loadOlder: () => void
}
interface SlotMap {
'conversation.chat.navigator': {
kind: 'single'
scope: 'session'
owner: TurnNavigatorOwnerProps
}
}
children: {
'conversation.chat.navigator': { kind: 'single', scope: 'session' },
}
{renderSlot('conversation.chat.navigator', { loadOlder: loadOlderAnchored })}
@deepseek-ai/dsh-client-ui-conversation and its aligned client peers. A source-only host change does not unblock an external plugin that develops only against official registry packages.The project .npmrc selects the private @deepseek-ai/* scope; pnpm 11 reads its ${NPM_TOKEN} authentication mapping from the trusted user-level ~/.npmrc. The SDK packages are pinned to the reviewed 0.0.1-rc.2 set. Set NPM_TOKEN, install without lifecycle scripts, then run the checks:
pnpm install --ignore-scripts
pnpm run check
Do not link a DSH source checkout into this directory. Use pnpm run watch beside dsh web --dev for live browser changes. See compat/ for the isolated assembled Web fixture.
None. The plugin only renders existing conversation data in the browser.
None.
0.0.1-rc.2 SDK does not yet declare the required conversation.chat.navigator slot, so the full development check remains blocked until a matching official SDK release. Do not add a local type shim; the installation target must provide the real slot.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。