@ggboy123/dsh-paper-reader 1.3.3 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/lib/client.js +14 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
**DeepSeek 官方桌面端**([deepseek.com/download](https://www.deepseek.com/download/) 下载,即 DeepSeek Harness 桌面版):
|
|
43
43
|
|
|
44
44
|
1. 安装并启动,登录 DeepSeek 账号
|
|
45
|
-
2. 侧栏 → **插件** → **添加插件**,输入 `@ggboy123/dsh-paper-reader@1.3.
|
|
45
|
+
2. 侧栏 → **插件** → **添加插件**,输入 `@ggboy123/dsh-paper-reader@1.3.4` 安装
|
|
46
46
|
3. 装完默认**停用**:点进插件详情,打开「启用」开关
|
|
47
47
|
4. **重启桌面端**(热启用状态下打开论文的链路会静默失效,重启进开机组合才正常,实测)
|
|
48
48
|
|
|
@@ -69,10 +69,12 @@ dsh plugin --profile web add @ggboy123/dsh-paper-reader
|
|
|
69
69
|
**已装过的用户升级必须带显式版本号**——不带版本的 `add` 对已存在的依赖是 no-op(pnpm 按首次安装时记录的版本范围解析,不会追新):
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
dsh plugin --profile web add @ggboy123/dsh-paper-reader@1.3.
|
|
72
|
+
dsh plugin --profile web add @ggboy123/dsh-paper-reader@1.3.4
|
|
73
73
|
# 重启 dsh web 生效;浏览器 Cmd+Shift+R 强刷,避免旧阅读器页面缓存
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
> **桌面端升级后插件开关会回到停用**(实测):侧栏 → 插件 → 打开 `@ggboy123/dsh-paper-reader` 的「启用」开关 → 重启桌面端。不打开时的症状很有迷惑性:文献树还在(浏览器侧缓存活着)但点论文没反应(宿主侧已下线),看起来像坏了,其实只是没启用。
|
|
77
|
+
|
|
76
78
|
确认当前装的是哪个版本:
|
|
77
79
|
|
|
78
80
|
```bash
|
package/lib/client.js
CHANGED
|
@@ -631,12 +631,17 @@ window.__ModuleLoader__.load({
|
|
|
631
631
|
|
|
632
632
|
// 激活会话:客户端会话目录(catalog)感知到新会话有时延,轮询到「已列出」再
|
|
633
633
|
// openSession,并以 current === sessionId 为成功标准(否则原生对话区不切换)。
|
|
634
|
+
// ⚠️ 仅凭 catalog 的 current 判断不够(用户实测「点插件页后再点论文没反应」):
|
|
635
|
+
// 插件页等非对话视图占着主视图时,目录里 cur 仍是目标会话,但视图并不在对话——
|
|
636
|
+
// 提前返回会让主视图永远停在插件页、PDF 锚点不回来。补一个可见事实作成功标准:
|
|
637
|
+
// PDF 页签锚点回来(对话视图已恢复);没回来就持续 openSession 往回推。
|
|
634
638
|
const activateSession = useCallback((sessionId) => {
|
|
635
639
|
let tries = 20
|
|
636
640
|
const tick = () => {
|
|
637
641
|
try {
|
|
638
642
|
const snap = uiWorkspace.sessions?.list?.getSnapshot?.()
|
|
639
|
-
|
|
643
|
+
const anchorBack = !!document.querySelector('[data-dsh-surface="rightbar-tab-anchor"]')
|
|
644
|
+
if (currentSessionOf(snap) === sessionId && anchorBack) return // 会话已切 + 视图已回
|
|
640
645
|
const listed = !!(snap && (snap.byId?.[sessionId] || snap.ids?.includes(sessionId)))
|
|
641
646
|
if (listed) uiWorkspace.openSession(sessionId)
|
|
642
647
|
if (--tries > 0) setTimeout(tick, 300)
|
|
@@ -660,7 +665,14 @@ window.__ModuleLoader__.load({
|
|
|
660
665
|
if (listed) {
|
|
661
666
|
// 对目录里早已存在的会话这步能真正预开(store 已 adopt);
|
|
662
667
|
// 对刚创建的会话恒 no-op —— 靠切换护栏兜底(见 beginSwitchGuard)。
|
|
663
|
-
|
|
668
|
+
// ⚠️ openTabIn 失败不能堵住 done()(用户实测「点插件页后再点论文没反应」):
|
|
669
|
+
// 插件页等非对话视图占着主视图时,目标会话在右栏没有 seat,openTabIn 每次都抛——
|
|
670
|
+
// 若当可重试错误轮询,done() 永远不执行 → activateSession(openSession 切回对话
|
|
671
|
+
// 视图)不被调用 → 主视图停在插件页、PDF 锚点永不回来。预开只是优化,失败就
|
|
672
|
+
// 直接放行,切换护栏 + openPdfTab 轮询兜底。
|
|
673
|
+
try {
|
|
674
|
+
sidebarRight.openTabIn(sessionId, 'dpr-reader', { revealIfOpened: true })
|
|
675
|
+
} catch { /* 无 seat(插件页/会话未收编)——切换后由 openPdfTab 补开 */ }
|
|
664
676
|
done?.()
|
|
665
677
|
return
|
|
666
678
|
}
|