dsh-deepseek-chat 0.0.0-stage → 0.1.9

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 CHANGED
@@ -1,3 +1,134 @@
1
- # Temporary Holding Version
1
+ # dsh-deepseek-chat
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
+ 在 **DeepSeek Harness(DSH)桌面版**里,用 `CHAT | HARNESS` 一键切换网页聊天与原工作区。
4
+
5
+ CHAT模式 加载真实的 [DeepSeek Chat 官网](https://chat.deepseek.com/),使用官网的聊天功能和账号历史;HARNESS模式 为原 DSH 工作区。
6
+
7
+ 当前版本 **0.1.9** · 适配 **DSH 0.2.0-rc.2 桌面版** · 默认语言为简体中文。
8
+
9
+ ## 功能预览
10
+
11
+ ### 在 DSH 里使用 DeepSeek 网页聊天
12
+
13
+ ![CHAT 模式:DSH 原侧栏与 DeepSeek 官网聊天页面](docs/images/chat-overview.png)
14
+
15
+ - 共用 DSH 原侧栏,显示官网对话标题、置顶和日期分组。
16
+ - 点击历史对话继续聊天;顶部“新会话”和列表旁的+用于新建官网对话。
17
+ - 搜索筛选已加载的对话标题,聊天正文和输入框由官网提供。
18
+ - 对话标题位于左上角,点击标题使用官网原有的名称编辑功能。
19
+
20
+ ### 随时切回 HARNESS
21
+
22
+ ![品牌行中的 CHAT 与 HARNESS 模式切换器](docs/images/mode-switch.png)
23
+
24
+ 切换器位于左侧顶部的 DeepSeek 品牌旁。白色圆角表示当前模式;切回 HARNESS 会恢复进入 CHAT 前的主面板,再进入 CHAT 时回到刚才的网页。折叠侧栏后,可通过原展开按钮回到切换器。
25
+
26
+ ### 中文设置与网页登录记忆
27
+
28
+ ![CHAT 设置:网页登录记忆、登录状态与简体中文选项](docs/images/chat-settings.png)
29
+
30
+ 在 DSH 原生 **设置 → CHAT设置** 中查看官网账号状态、退出登录和切换语言。
31
+
32
+ - 默认简体中文,也可选择 English 或跟随系统;主动选择的语言会保存。
33
+ - CHAT 使用独立的官网登录,DSH 账号退出或 CHAT 退出都不禁用模式切换器。
34
+ - 设置与对话页面使用同一个网页登录;登录后自动更新账号和列表,登录记忆在后台保存。
35
+ - 首次在插件内正常登录官网后,出现 **“已记住网页登录”** 即表示插件已保存本次授权。
36
+ - 重开同一个 DSH 配置环境后,插件恢复授权并由官网验证;授权失效时仍需重新登录。
37
+
38
+ ## 安装
39
+
40
+ ### 按名称安装(推荐)
41
+
42
+ 在 DSH 的插件安装输入框中输入:
43
+
44
+ ```text
45
+ dsh-deepseek-chat
46
+ ```
47
+
48
+ 也可以使用命令行:
49
+
50
+ ```bash
51
+ dsh plugin --profile desktop add dsh-deepseek-chat
52
+ ```
53
+
54
+ 这是 npm 上的插件包,由 DSH 安装;无需运行独立的 npx 命令。
55
+
56
+ ### 使用仓库地址安装
57
+
58
+ 在 DSH 的插件安装输入框中粘贴:
59
+
60
+ ```text
61
+ https://github.com/xingxingbk-git/dsh-deepseek-chat
62
+ ```
63
+
64
+ 仓库同时提供源码和编译好的 `lib`,安装直接加载编译产物,无需运行构建脚本或修改 `allowBuilds`。
65
+
66
+ 使用命令行也可以安装:
67
+
68
+ ```bash
69
+ dsh plugin --profile desktop add https://github.com/xingxingbk-git/dsh-deepseek-chat
70
+ ```
71
+
72
+ 旧名称 `dsh-chat` 在 npm 上属于其他项目,请使用新的插件名称或完整仓库地址。
73
+
74
+ ### 本地安装包
75
+
76
+ 将构建生成的 `.tgz` 文件交给 DSH 官方插件管理器安装,或使用 CLI:
77
+
78
+ ```bash
79
+ dsh plugin --profile desktop add /absolute/path/dsh-deepseek-chat-0.1.9.tgz
80
+ ```
81
+
82
+ 将路径替换成你的实际安装包;使用其他 profile 时替换 `desktop`。**安装或更新后,完整退出并重新打开 DSH**,让新插件生效。
83
+
84
+ 如果之前从本仓库安装过 `dsh-chat`,先禁用并移除旧插件,再安装 `dsh-deepseek-chat`,避免两个版本同时接管界面。新版可尝试迁移本插件原有登录记忆;无法定位旧记录时,需要正常登录一次。
85
+
86
+ 安装规则参见 [DSH 官方插件安装文档](https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/publish)。
87
+
88
+ ## 开始使用
89
+
90
+ 1. 选择 **CHAT**。未登录时点击 **登录 DeepSeek**;也可在 **设置 → CHAT设置** 点击同一个登录入口。
91
+ 2. 在插件内的真实官网页面正常登录。两个入口使用同一网页,登录后自动同步账号和对话,不需要重新打开设置刷新。
92
+ 3. 打开 **设置 → CHAT设置**,确认出现“已记住网页登录”,按需选择语言。退出登录会清除本插件的登录记忆并正常退出官网;模式切换器继续可用。
93
+
94
+ 当前登录在插件网页中完成。外部浏览器登录后自动授权回跳需要官网提供面向 Chat 的授权交换接口,目前未确认可用;直接在其他浏览器登录不会自动登录本插件。
95
+
96
+ 页面加载失败时,可在故障提示中重试;登录保存服务连接失败时,会显示原因和重试入口。插件会自动收起官网固定的“使用环境异常”说明,其他提示、验证码和认证错误仍由官网处理。
97
+
98
+ ## 使用限制
99
+
100
+ - **兼容范围:**目前针对 DSH 0.2.0-rc.2 桌面版适配,其他版本和平台待验证;DSH Web版暂不支持本插件的 CHAT 模式。
101
+ - **官网导航:**左侧列表依赖官网页面结构,只镜像已加载的导航,不是官方历史 API。结构不匹配时恢复官网原导航并提示。
102
+ - **新建快捷键:**本版适配顶部“新会话”的鼠标/Enter 点击;原 Harness 快捷键和菜单仍执行 Harness 行为,可能创建 Harness 会话并退出 CHAT。
103
+ - **登录记忆:**不共享 Safari/Chrome 登录,独立于 DSH 平台账号。授权过期、撤销或官网实现变化时需要重新登录;新版独立登录、退出重登、完整卸载和其他平台仍需扩大实机验证。
104
+ - **网页状态:**手动模式切换保留网页;插件停用、卸载或 DSH 完全退出会销毁容器,插件不备份未发送草稿,也不能代替官网停止生成。
105
+ - **网页能力:**下载、设备权限和部分弹窗受 DSH Browser 安全策略限制。消息发送、上传、另一浏览器历史一致性及长期使用仍需扩大验证。
106
+
107
+ ## 隐私与数据
108
+
109
+ 聊天和账号历史由 DeepSeek 官网处理。插件为界面适配读取公开的导航标题、分组、链接、昵称与语言设置;导航资料只留在当前授权期间的内存中,语言偏好通过 DSH 官方配置服务保存。
110
+
111
+ 网页登录记忆仅处理插件自身 `chat.deepseek.com` 页面的最小授权数据,通过 DSH 官方凭据服务保存。插件根据 DSH 启动器提供的配置路径生成独立记录标识,使不同配置的登录记忆分开,记录对应的官网账号;退出时清除旧授权并隔离迟到保存。缺少可信配置上下文时,仍可正常网页登录,但不能保存登录记忆。这依赖官网当前实现,并非稳定的官方 OAuth 接口;不承诺永久免登录。
112
+
113
+ 插件不保存密码、Cookie 或聊天正文,不读取 DSH/其他插件令牌或其他浏览器的登录数据,不调用私有认证接口,不修改 DSH 安装包或关闭网页安全策略。数据流和授权边界详见 [架构说明](docs/architecture.md) 与 [网页登录说明](docs/browser-session-capability.md)。
114
+
115
+ ## 开发与打包
116
+
117
+ 环境:Node.js 22(22.19 及以上)或 24 及以上、pnpm 10.33.2。运行依赖目标为 Cordis 4.0.4 / React 18.3.1。
118
+
119
+ ```bash
120
+ git clone https://github.com/xingxingbk-git/dsh-deepseek-chat.git
121
+ cd dsh-deepseek-chat
122
+ pnpm install --frozen-lockfile
123
+ pnpm package:plugin
124
+ ```
125
+
126
+ 生成 `artifacts/dsh-deepseek-chat-0.1.9.tgz`,包含 Host、Client、类型声明、图标和 bundle patch。插件管理列表的图标位于 `assets/icon.svg`,替换后重新打包安装即可;SVG 须自包含且不超过 256 KiB。
127
+
128
+ 修改源码后执行 `pnpm release:prepare`,并将源码与整个 `lib/` 一起提交。`pnpm check:distribution` 会检查编译产物与源码、版本及安装入口是否一致;旧产物或缺失文件会使检查失败。安装用户不需要执行这些开发命令。
129
+
130
+ 卸载插件:
131
+
132
+ ```bash
133
+ dsh plugin --profile desktop remove dsh-deepseek-chat
134
+ ```
@@ -0,0 +1,12 @@
1
+ <svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M196 112.949C204.346 112.909 211.523 115.412 217.72 121.131C224.025 127.008 227.708 135.172 227.934 143.789C228.062 148.136 227.922 152.698 227.954 157.112C228.033 168.358 228.612 176.813 221.923 186.555C219.563 189.995 214.666 194.105 213.325 196.364C212.086 198.446 214.628 212.401 211.632 214.797C210.195 215.946 208.882 215.876 207.358 215.231C205.167 214.305 201.312 211.577 199.45 210.261C184.872 199.957 187.562 201.557 170.79 201.704C150.891 201.771 133.595 203.783 124.865 181.54C130.579 181.364 136.623 181.639 142.302 181.214C154.909 180.269 168.02 173.839 177.111 165.113C187.514 155.246 194.081 142.01 195.646 127.762C196.083 123.491 195.901 117.449 196 112.949Z" fill="#5C89FE"/>
3
+ <path d="M119.624 42.1215C139.443 42.1285 156.161 39.8326 171.777 54.8926C180.94 63.7299 186.207 75.8529 186.412 88.5821C186.421 89.8159 186.415 91.0498 186.396 92.2835L186.412 112.744C186.412 117.807 186.572 123.037 185.946 128.065C183.199 150.097 164.558 168.773 142.49 171.44C137.328 172.063 131.768 171.891 126.574 171.897L104.296 171.862C100.057 171.852 93.9562 171.664 89.9286 172.146C86.3675 172.571 78.5088 179.767 75.6108 180.78C70.19 185.204 62.9939 189.308 57.1403 193.211C54.8102 194.766 50.1211 194.45 49.5138 191.288C47.8324 182.533 50.2091 172.632 48.6233 163.854C48.309 162.114 43.3992 158.741 42.1939 157.268C27.0551 141.228 27.631 124.986 28.2328 104.644C28.1682 101.869 28.0824 98.9897 28.1431 96.2208C28.3572 81.3928 34.5244 67.2732 45.2571 57.0398C57.1849 45.6739 71.0588 41.8091 87.1696 42.2096C97.9871 42.1026 108.805 42.0729 119.624 42.1215ZM70.5569 116.331C65.3711 116.331 61.1673 120.535 61.1673 125.721C61.1674 130.906 65.3712 135.11 70.5569 135.11H115.418C120.604 135.11 124.808 130.906 124.808 125.721C124.808 120.535 120.604 116.331 115.418 116.331H70.5569ZM70.5569 81.9026C65.3711 81.9026 61.1673 86.1065 61.1673 91.2922C61.1674 96.4778 65.3712 100.682 70.5569 100.682H145.674C150.859 100.682 155.063 96.4778 155.063 91.2922C155.063 86.1065 150.86 81.9026 145.674 81.9026H70.5569Z" fill-rule="evenodd" clip-rule="evenodd" fill="url(#paint0_linear_29_365)"/>
4
+ <defs>
5
+ <linearGradient id="paint0_linear_29_365" x1="37.1997" y1="42.4018" x2="163.778" y2="194.469" gradientUnits="userSpaceOnUse">
6
+ <stop stop-color="#28E9EA"/>
7
+ <stop offset="0.5" stop-color="#329FF6"/>
8
+ <stop offset="0.8" stop-color="#4D7AF7"/>
9
+ <stop offset="1" stop-color="#9061FB"/>
10
+ </linearGradient>
11
+ </defs>
12
+ </svg>
@@ -0,0 +1,5 @@
1
+ # Bundle layer: insert the host half into the Cordis plugin tree.
2
+ # The package manifest separately exposes the browser half as `dsh.client`.
3
+ - insert:
4
+ - id: dsh-deepseek-chat
5
+ name: dsh-deepseek-chat
@@ -0,0 +1,53 @@
1
+ {
2
+ "format": 1,
3
+ "name": "dsh-deepseek-chat",
4
+ "version": "0.1.9",
5
+ "inputs": {
6
+ "assets/icon.svg": "ad1b0fda90c1c1f2a0b9208bc86f5fe8c21d505a1208576be4e3110b26b4f79c",
7
+ "cordis.patch.yml": "05edb71cd276de1251ae67644ec68b54efc26258814956fa0e932d36da741bdc",
8
+ "package.json": "3f920d646887ad948f748740e5be0686dd3911fd38c481b3a80fc88e4b314f74",
9
+ "pnpm-lock.yaml": "c4f600b0d599b85f6181d295cd5f9f06f1eb0435eeeb2e7cf1a376b3c6a4ca15",
10
+ "scripts/build.mjs": "a9a2961e09fb16b99e206c4d191c9e970a4a3999979df9a626fa310c0fdee5b1",
11
+ "scripts/check-artifact.mjs": "6fec38fb74e41dfeacef7147280c69854087d0665747d7d65137cc98f9dc673b",
12
+ "scripts/check-distribution.mjs": "72f75de3c9b10d0f7bd5390d37155b42b9d6b167a9d69782bc8ab6cdbdf740c5",
13
+ "scripts/client-contract.mjs": "1e212575218fc985f4405e2eac98b33a969494ff6b2144b1204a6d66963ba894",
14
+ "scripts/distribution-manifest.mjs": "e746c447b03b0e9a86efce7827bbd5d9184c6ccd1f1f0f1c9eb12abfe1b2f3b7",
15
+ "src/authorization.ts": "5f0c1b69e43541ce606349047788df72e442e9cbb3267c8c0caf2c0f556a5589",
16
+ "src/client.ts": "5295e47fcd2f786de5a262b072fd7742bf927a1c5261a33e4c506eda20e247a9",
17
+ "src/core/mode.ts": "2fe56c319706d86746010bd5551f4ee47e31e12a0ee28effffb719b0696ad70c",
18
+ "src/index.ts": "59edf0d6af2feec3e08da322cabc07a2dc83868312c4daa1074b2a5b12892f57",
19
+ "src/protocol.ts": "5194007a0c06f7b293cc34579ccdc150c23c35b825091667f37a7293594bd29f",
20
+ "src/server.ts": "295c52235fa399967a594b76b1f4c869adccc978ee3c0f3f8f3a12894b81ef9b",
21
+ "src/sidebar-adapter.ts": "edcc051bbcaabb2d09055b231f57253a50a6d9e75acf18adafbf262001b18a48",
22
+ "src/styles.ts": "64a477da5da605f424df58d96bf953f6c5fe0d52eec7dc9d8574495c9792ac74",
23
+ "src/ui.tsx": "c39b1804477fca1369501a603aaf6fbf6dd0a4832cc001c707b9b51ca8f9082f",
24
+ "src/web-surface.tsx": "12a466b05e8419c3c69585d77cb5aab12e3cb3794df157aaf7fffeef7fbe9ee1",
25
+ "src/website-header.ts": "ac4972a28a5f0968de4d5f98d54fbac853f901c7eda00c0849984a2e66f291f3",
26
+ "src/website-navigation.ts": "aee412c82cf8af204dbd719e4411166777d497b32746d6c9674d15aa82faf30f",
27
+ "src/website-notice.ts": "65c781bec41e6c2e541d9512cc0051864d64fc3204b3ba5f2e005bdc955f39c9",
28
+ "src/website-session-store.ts": "8ef6d49465e0034f12b763a666b4a90c8c9819fb8baea06dcaba340fd97d72f1",
29
+ "src/website-session.ts": "f2434fafc40adb15b5f16fc8b6152bd8df7e85f5210330a1337502c9a08136d8",
30
+ "src/website-settings.ts": "adc9511be1d76e62d59a5e834dc561b8a2b8fdf6a877ecc865f5f0e840600fb2",
31
+ "tsconfig.json": "1ad0b3b39537564a180dc7f4084ceb3098b567f509320c77d71bc37aaf4f1879"
32
+ },
33
+ "artifacts": {
34
+ "lib/client.js": "6da7d7cef93b263bdc86496fcdb87c151f99c78a3c5f28555c20ec9cc118f02b",
35
+ "lib/index.js": "e9c50cc544f24c60d086538ab1283ae0ed2811f23c9bb469916a2e89c3ffb38d",
36
+ "lib/types/authorization.d.ts": "130649eed3635e75c3f50c13de93c52440a27f1b88136ab2297552570c013d49",
37
+ "lib/types/client.d.ts": "a79702d5d86c75e81f1e954b3e9f4a562a6b3082d68d798d6a1b37bd41b908a7",
38
+ "lib/types/core/mode.d.ts": "62c4492bb600f9d77b4437241c8c3fe62c06f2a4309b4b87063601c7731d580a",
39
+ "lib/types/index.d.ts": "8257403b97e892a879328654761e3ff8008bbcae0bfacce6e190ef9b5d94750e",
40
+ "lib/types/protocol.d.ts": "11e77f35382fdc32f9fb0bec48641c43fc2f74064741bf89145fd931a3918a95",
41
+ "lib/types/server.d.ts": "62b23f8f9fe9bb16a20274929876c1a34b3ab1e94179567e2e3a56cd67638288",
42
+ "lib/types/sidebar-adapter.d.ts": "9296987e7ecbd76e42d75bbf65d06f3e368dc036501baf931d7eaa9fb923252d",
43
+ "lib/types/styles.d.ts": "305836b3ce5cb256ffb033038b7df2919759976f3ca29395a7cd41bbd5811536",
44
+ "lib/types/ui.d.ts": "ecd307b91dec65724fe331081c00c6aea5e286051a9f79cda0f9ab476398d8f4",
45
+ "lib/types/web-surface.d.ts": "71686d72b4a5d6c619ee4ec916bbf7b853a87a7cc4d506fbfd0359191434984f",
46
+ "lib/types/website-header.d.ts": "6379a35e7d35af3fb969802ee2cae969a104dbad937f7b9e371463a0bd7dea9d",
47
+ "lib/types/website-navigation.d.ts": "6ffd226ded2fc9971bf982e41ee8d8b15d89d113943bbd7cea18f9d4c1ccc973",
48
+ "lib/types/website-notice.d.ts": "2912746645e3e9facfe167c7b2b2eff584e3b812cab5e106afc7cb2b0259fc15",
49
+ "lib/types/website-session-store.d.ts": "bd641ab5e62ea4dd5f5cbfa823548a5c266c9701bca986fb348482ee69b2e0c0",
50
+ "lib/types/website-session.d.ts": "5ded232b24dd72e7b3c5f0ff505ba0aa818cbde14be7e2099bbbf262ec395a2b",
51
+ "lib/types/website-settings.d.ts": "d6d3dbf3e3bfce364a7778c2104224b0f8fbc64e9661d33ddc074bbafe77c733"
52
+ }
53
+ }