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
和 AI 聊了上百轮之后,想找回第 17 轮那个提问?你只能不停滚轮往上翻,眼睛在一堆代码块、工具调用和思考过程里大海捞针。
dsh-milestone 在会话右侧挂一条圆点时间线——每一条提问对应一个圆点,鼠标悬停看内容,点击瞬间跳转。长对话的"导航地图"。
#msg= 锚点,刷新或分享链接后直接回到同一条消息。┌─────────────────────────────────────────┐
│ 第 3 / 5 条 · 第 2 轮 ☆ 复制 ✂ │ ← 序号 + 轮次 + 收藏/复制/fork 动作
│ 帮我优化这段代码的性能 │ ← 消息预览(前 80 字)
│ 5 分钟前 · 用时 1m30s · 首字 1.2s · 12.4 tok/s │ ← 时间 · 耗时 · TTFT · 吞吐
│ v4 · continue · 1280 / 2560 tok │ ← 模型 · 用途 · token 用量
└─────────────────────────────────────────┘
元信息全部来自 harness 原生的 session 快照(turnTimings / timeline.turns / turn-tail),无额外依赖。
# 从 npm 安装(推荐)
dsh plugin --profile demo add dsh-milestone
# 或从 GitHub 源码安装
dsh plugin --profile demo add "github:SnowCrescenter-tech/dsh-milestone#main"
# 启动 Web UI
npx @deepseek-ai/dsh web # → http://127.0.0.1:3080
打开一个多轮对话(至少 2 条提问),会话视图右侧就会出现里程碑条。
要求 Node.js
>= 24(harness 官方要求)。
双半边浏览器插件(空 node half + shell.overlay slot 挂载的 client half):
shell.overlay (root scope)
└─ milestone.rail (session scope, 自声明子槽)
└─ useSession 读取会话快照 → 圆点列表 + 悬停 + 跳转
shell.overlay —— 全框架浮动层,附加式、点击穿透,不影响任何现有 UI。chat.order + chat.nodes(user 消息 + turn-error/turn-max-tokens/model-retry 节点)+ chat.timeline(turn 元数据)+ hasMore/loadingOlder(分页)+ running/pending(徽章)+ loadOlder(inject face)。store.persist(每会话 localStorage,key dsh-milestone.bookmarks.<sessionId>),经 defineStore 引擎读写。data-chat-anchor-key,scrollIntoView 平滑定位。rail-logic.ts 纯函数里,单测覆盖。session.search),仅返回片段(≤240 字符)、最多 20 条结果;命中过多时请细化关键词。觉得好用?给个 star 支持一下,或把它推荐给正在 DeepSeek Harness 里挣扎的开发者吧。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。