其他
完整应用
deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
左侧消息导航轨道插件(DSH Web 客户端插件)。
session.loadOlder()(每页 50 条)直到 hasMore === false,
让轨道一次性列出会话中的所有用户消息,无需手动点击"加载更早";dsh-plugin-message-nav/
├── package.json # dsh.client 声明(platform: web)+ exports
└── lib/
├── index.js # host 侧 loader 条目(无 host 行为)
├── invariant.js # invariant 伴生插件
└── client.js # 浏览器 bundle:shell.overlay 条目
浏览器 bundle 是手写的 window.__ModuleLoader__.load({ id, factory }) CJS
工厂,无需构建步骤;依赖只取平台 seed 词(react)。
shell.overlay(frame 级悬浮层,root 作用域,list 槽,点击
穿透默认关闭,条目 opt-in 指针事件);ctx.sessions.binding(current)?.session(SessionFace =
ObservableSnapshot<ConversationSnapshot>),用 useSyncExternalStore
订阅;用户消息按 chat.order 中 kind === 'user' | 'steering' 过滤;TICK_SPACING = 26px)+
上下 padding(RAIL_PADDING = 4px),封顶为滚动容器高度 × 1/3
(RAIL_HEIGHT_RATIO),垂直居中,左缘留 RAIL_LEFT_INSET = 4px;
刻度按固定间距等距排列在轨道内容里,内容超出轨道可视高度时轨道内部滚动
(overflow-y: auto,隐藏滚动条),当前高亮刻度自动保持可见(scrollTo 跟随);scrollTo({ top, behavior: 'smooth' });snapshot.hasMore / loadingOlder / openState,在会话
打开且仍有更早历史时调用 session.loadOlder();以窗口首个锚点 seq 是否
前进来判断分页是否推进,未推进(失败)即停止,避免死循环。# 在 web profile 中安装本插件(pnpm 可用时)
dsh plugin --profile web add dsh-plugin-message-nav
# 在 profile 的 cordis.patch.yml 注册 dsh.client 行
# - insert:
# - id: message-nav
# name: 'dsh-plugin-message-nav'
# 1. 链接插件包到 profile 的 node_modules
ln -s <repo>/dsh-plugin-message-nav ~/.dsh/profiles/web/node_modules/dsh-plugin-message-nav
# 2. 在 profile 的 cordis.patch.yml 注册 dsh.client 行
# - insert:
# - id: message-nav
# name: 'dsh-plugin-message-nav'
# 3. 重启 web 服务器(patch 热更新在无 --expose-internals 时不可用)
dsh --profile web
重启后刷新浏览器页面,会话消息区左侧即出现导航轨道。
开发期修改 lib/client.js 后由 client-hmr 自动热更新,无需重启。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。