dsh-webseek 0.0.0-stage → 0.2.0

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 HelloQingTao
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,107 @@
1
- # Temporary Holding Version
1
+ # dsh-webseek
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ **English** | [中文](#中文)
4
+
5
+ Turn a **DeepSeek web share link** into a real session inside DSH.
6
+
7
+ ## English
8
+
9
+ ### What it does
10
+
11
+ In DSH Web, clicking **Share** on a chat gives you a public link (`https://chat.deepseek.com/share/<id>`). This plugin adds an import icon to the left sidebar: paste the link, pick a target workspace, and you get a new session with the same title — the full conversation from that share, ready to keep chatting in.
12
+
13
+ ### Screenshots
14
+
15
+ The import entry in the sidebar, and the import dialog with its footer:
16
+
17
+ ![Import entry in the sidebar](docs/images/sidebar-entry.png)
18
+
19
+ ![Import dialog](docs/images/import-dialog.png)
20
+
21
+ ### Install
22
+
23
+ Requires DSH `>=0.2.0-rc.2 <0.3.0` and Node `>=22`.
24
+
25
+ ```bash
26
+ dsh plugin --profile <your-profile> add dsh-webseek
27
+ ```
28
+
29
+ ### Usage
30
+
31
+ 1. Click the **import** icon on the left sidebar (in the collapsed 56px rail it sits in the plugin-icon row above the gear).
32
+ 2. Paste the share link (`https://chat.deepseek.com/share/…`, or just the share id).
33
+ 3. Pick the target workspace → **Import**.
34
+ 4. The session appears in the sidebar right away; click **Open session** in the dialog to jump to it.
35
+
36
+ The imported session is a cold session: the title comes from the share, and the body replays the mainline you see on the web page (user turns plus model answers, with the model's thinking kept as a `[思考]` block before each answer). Importing the same share twice does not create a duplicate.
37
+
38
+ ### Interface & update check
39
+
40
+ The dialog follows your light/dark theme and skin plugins automatically, with no hard-coded colors. Its footer holds a link to this project on GitHub, an entry to file issues or suggestions, the current version, and a **Check for updates** button that queries npm and shows "Up to date" or "New version vX.Y.Z".
41
+
42
+ ### Compatibility
43
+
44
+ - Runs on the DSH **web** client.
45
+ - Imported sessions cannot be continued in-place under an ACP backend (such as codebuddy-code): ACP only accepts sessions it created, and refuses a message to an imported history (`ACP_BACKEND_NEW_SESSION_REQUIRED`). Native model backends (OpenAI-compatible) have no such limit and treat the history as context.
46
+
47
+ ### Known limitations
48
+
49
+ - `api/v0/share/content` is the web app's internal endpoint; it may break when DeepSeek changes. Failures are reported in the dialog.
50
+ - The share title may just be the web default "Shared Conversation"; the plugin copies it as-is.
51
+ - The session shows up immediately; if it ever doesn't, refresh the page.
52
+
53
+ ### License
54
+
55
+ MIT
56
+
57
+ ## 中文
58
+
59
+ 把 **DeepSeek 网页版的分享链接**变成 DSH 里一个真实的会话。
60
+
61
+ ### 简介
62
+
63
+ 在 DSH 网页版点「分享」会得到一个公开链接(`https://chat.deepseek.com/share/<id>`)。本插件在左侧栏放一个导入图标,填两样东西——分享链接、目标工作区——就会得到一个同名的新会话,内容是那份分享的完整对话,可以直接接着聊。
64
+
65
+ ### 界面截图
66
+
67
+ 左栏的导入入口,以及带页脚的导入弹框:
68
+
69
+ ![左栏的导入入口](docs/images/sidebar-entry.png)
70
+
71
+ ![导入弹框](docs/images/import-dialog.png)
72
+
73
+ ### 安装
74
+
75
+ 需要 DSH `>=0.2.0-rc.2 <0.3.0`、Node `>=22`。
76
+
77
+ ```bash
78
+ dsh plugin --profile <你的 profile> add dsh-webseek
79
+ ```
80
+
81
+ ### 用法
82
+
83
+ 1. 点左侧栏的**导入**图标(折叠成 56px 导轨时,图标落在齿轮上方那行插件图标里)。
84
+ 2. 粘贴分享链接(`https://chat.deepseek.com/share/…` 或直接是分享 id)。
85
+ 3. 选目标工作区 → **导入**。
86
+ 4. 左栏立刻出现同名会话;弹框里点「打开会话」直接跳过去。
87
+
88
+ 导入的会话是「冷会话」:标题取网页上的标题,正文按网页上看到的主线回放(用户轮次 + 模型回答,模型的思考过程以 `[思考]` 段落保留在回答前面)。同一份分享重复导入不会重复建会话。
89
+
90
+ ### 界面与检查更新
91
+
92
+ 弹框跟随你的深浅色主题与皮肤插件自动切换,没有一处硬编码颜色。底部一行页脚:本项目 GitHub 链接、反馈 Issue 的入口、当前版本号,以及**检查更新**——点一下向 npm 查询最新发布版本,显示「已是最新」或「有新版本 vX.Y.Z」。
93
+
94
+ ### 兼容
95
+
96
+ - 运行在 DSH **web** 客户端。
97
+ - 导入的会话在当前 ACP 后端(codebuddy-code 这类)下不能就地续聊:ACP 只认自己创建的会话,给外来历史的会话发消息会被拒绝(`ACP_BACKEND_NEW_SESSION_REQUIRED`)。原生模型后端(OpenAI 兼容那类)没有这个限制,历史会作为上下文发出去。
98
+
99
+ ### 已知限制
100
+
101
+ - `api/v0/share/content` 是网页版的内部接口,DeepSeek 改版即可能失效;失败时弹框会给出提示。
102
+ - 分享标题可能就是网页默认的「Shared Conversation」——插件照搬网页标题。
103
+ - 导入的会话会立刻出现在左栏;万一没出现,刷新一下页面即可。
104
+
105
+ ### 许可证
106
+
107
+ MIT
@@ -0,0 +1,14 @@
1
+ # dsh-webseek bundle patch: inserts the dual-face plugin row into a profile
2
+ # roster (applied as a profile bundle layer via the `dsh.bundle.patch` manifest
3
+ # field). The node half (exports ".") runs in the Host process and serves the
4
+ # /api/dsh-webseek routes; the `dsh.client` declaration in package.json makes
5
+ # the browser half (exports "./client") load in the Web GUI as the sidebar tab
6
+ # type and its panel.
7
+ #
8
+ # `name` must be this package's manifest name verbatim — dsh-client-modules
9
+ # keys every browser row by it, and lib/client.js registers its factory under
10
+ # the same id. `id` is the profile entry id (also the settings-form namespace);
11
+ # it must be unique per profile.
12
+ - insert:
13
+ - id: webseek
14
+ name: 'dsh-webseek'
Binary file
Binary file