dsh-plugin-streamnest 0.0.5 → 0.1.1

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.
Files changed (72) hide show
  1. package/README.en.md +29 -37
  2. package/README.md +33 -37
  3. package/lib/THIRD_PARTY_LICENSES.txt +2 -2
  4. package/lib/client.js +123 -55
  5. package/package.json +48 -41
  6. package/lib/apps/api/src/app.module.js.map +0 -1
  7. package/lib/apps/api/src/common/api-error.filter.js.map +0 -1
  8. package/lib/apps/api/src/common/business-error.js.map +0 -1
  9. package/lib/apps/api/src/common/network.js.map +0 -1
  10. package/lib/apps/api/src/common/process.js.map +0 -1
  11. package/lib/apps/api/src/common/validation.js.map +0 -1
  12. package/lib/apps/api/src/create-application.js.map +0 -1
  13. package/lib/apps/api/src/main.js.map +0 -1
  14. package/lib/apps/api/src/media/arguments.js.map +0 -1
  15. package/lib/apps/api/src/media/delete-downloads.js.map +0 -1
  16. package/lib/apps/api/src/media/directory-sync.js.map +0 -1
  17. package/lib/apps/api/src/media/dto/media.dto.js.map +0 -1
  18. package/lib/apps/api/src/media/engines/aria2-progress.js.map +0 -1
  19. package/lib/apps/api/src/media/engines/aria2.js.map +0 -1
  20. package/lib/apps/api/src/media/engines/direct-state.js.map +0 -1
  21. package/lib/apps/api/src/media/engines/direct.js.map +0 -1
  22. package/lib/apps/api/src/media/engines/js-runtime.js.map +0 -1
  23. package/lib/apps/api/src/media/engines/types.js.map +0 -1
  24. package/lib/apps/api/src/media/formats.js.map +0 -1
  25. package/lib/apps/api/src/media/media.controller.js.map +0 -1
  26. package/lib/apps/api/src/media/media.engine.js.map +0 -1
  27. package/lib/apps/api/src/media/media.service.js.map +0 -1
  28. package/lib/apps/api/src/media/parsing/browser-paths.js.map +0 -1
  29. package/lib/apps/api/src/media/parsing/browser-pool.service.js.map +0 -1
  30. package/lib/apps/api/src/media/parsing/cache.service.js.map +0 -1
  31. package/lib/apps/api/src/media/parsing/cookie.service.js.map +0 -1
  32. package/lib/apps/api/src/media/parsing/platform-data.js.map +0 -1
  33. package/lib/apps/api/src/media/parsing/platform-parser.service.js.map +0 -1
  34. package/lib/apps/api/src/media/parsing/youtube-retry.js.map +0 -1
  35. package/lib/apps/api/src/media/thumbnail.service.js.map +0 -1
  36. package/lib/apps/api/src/media/wechat/api.js.map +0 -1
  37. package/lib/apps/api/src/media/wechat/decode.js.map +0 -1
  38. package/lib/apps/api/src/media/wechat/wechat.service.js.map +0 -1
  39. package/lib/apps/api/src/runtime/runtime-archive.js.map +0 -1
  40. package/lib/apps/api/src/runtime/runtime-discovery.js.map +0 -1
  41. package/lib/apps/api/src/runtime/runtime-installer.js.map +0 -1
  42. package/lib/apps/api/src/runtime/runtime-manager.js.map +0 -1
  43. package/lib/apps/api/src/runtime/runtime-manifest.js.map +0 -1
  44. package/lib/apps/api/src/runtime/runtime.service.js.map +0 -1
  45. package/lib/apps/api/src/storage/legacy-vault.js.map +0 -1
  46. package/lib/apps/api/src/storage/task-record.js.map +0 -1
  47. package/lib/apps/api/src/storage/vault.store.js.map +0 -1
  48. package/lib/apps/api/src/system/browser-profiles.js.map +0 -1
  49. package/lib/apps/api/src/system/journal.service.js.map +0 -1
  50. package/lib/apps/api/src/system/native.service.js.map +0 -1
  51. package/lib/apps/api/src/system/system.controller.js.map +0 -1
  52. package/lib/apps/api/src/system/system.dto.js.map +0 -1
  53. package/lib/apps/api/src/system/system.service.js.map +0 -1
  54. package/lib/apps/shared/src/brand.js.map +0 -1
  55. package/lib/apps/shared/src/browser-profiles.js.map +0 -1
  56. package/lib/apps/shared/src/contracts.js.map +0 -1
  57. package/lib/apps/shared/src/cookies.js.map +0 -1
  58. package/lib/apps/shared/src/links.js.map +0 -1
  59. package/lib/apps/shared/src/media-files.js.map +0 -1
  60. package/lib/apps/shared/src/messages.js.map +0 -1
  61. package/lib/apps/shared/src/parse-errors.js.map +0 -1
  62. package/lib/apps/shared/src/preferences.js.map +0 -1
  63. package/lib/apps/shared/src/system.js.map +0 -1
  64. package/lib/apps/shared/src/task-messages.js.map +0 -1
  65. package/lib/apps/shared/src/thumbnail.js.map +0 -1
  66. package/lib/packages/harness/src/index.js.map +0 -1
  67. package/lib/packages/harness/src/tools/business-errors.js.map +0 -1
  68. package/lib/packages/harness/src/tools/permissions.js.map +0 -1
  69. package/lib/packages/harness/src/tools/register.js.map +0 -1
  70. package/lib/packages/harness/src/tools/schemas.js.map +0 -1
  71. package/lib/packages/harness/src/tools/system-schemas.js.map +0 -1
  72. package/lib/packages/harness/src/tools/system-tools.js.map +0 -1
package/README.en.md CHANGED
@@ -1,39 +1,42 @@
1
1
  # StreamNest · 拾流
2
2
 
3
3
  [![DeepSeek Harness](https://img.shields.io/badge/DeepSeek-Harness-4D6BFE)](https://github.com/deepseek-ai/deepseek-harness)
4
- [![Stars](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgit.aimz.cc.cd%2Fapi%2Fv1%2Frepos%2Flynn1286%2Fdsh-plugin-streamnest&query=%24.stars_count&label=Stars&logo=gitea&color=orange)](https://git.aimz.cc.cd/lynn1286/dsh-plugin-streamnest/stars)
5
4
  [![Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgit.aimz.cc.cd%2Fapi%2Fv1%2Frepos%2Flynn1286%2Fdsh-plugin-streamnest%2Fraw%2Fpackage.json%3Fref%3Dmain&query=%24.version&prefix=v&label=version&color=blue)](package.json)
6
5
  [![License: MIT (original code)](https://img.shields.io/badge/license-MIT-green)](LICENSE)
7
6
 
8
7
  [中文](README.md) | English
9
8
 
10
- A local audio and video downloader plugin for DeepSeek Harness. Parse media links, select video quality, audio tracks or subtitles, and save files to your computer. The UI and Agent share the same services and download queue.
9
+ Parse audio and video links, select quality, audio tracks or subtitles, and save files locally. The UI and Agent share services and the download queue.
11
10
 
12
11
  ![StreamNest installed and enabled in the DeepSeek Harness desktop app, showing the Link Download page](assets/screenshots/deepseek-harness-installed.png)
13
12
 
14
13
  ## Features
15
14
 
16
- - **Link parsing**: Parse media with yt-dlp, with dedicated APIs and browser fallbacks for Douyin and Kuaishou; supports single-video WeChat Channels share links.
17
- - **Download options**: Select video quality and audio tracks, extract MP3 audio, and download subtitles in their original format or convert them to SRT.
18
- - **Task management**: Queue downloads, control concurrency, view progress and speed, pause, resume, retry, and inspect local files.
19
- - **Completed downloads**: Search, view local thumbnails, play media, open folders, and sync the download directory; permanently delete individual or multiple downloads after a second confirmation.
20
- - **Download acceleration**: Download direct links in chunks with resume support and optional aria2; concurrent HLS / DASH segment downloads.
21
- - **Settings**: Configure the download directory, filename template, default quality, proxy, explicitly selected browser profile or Cookie file, and Chinese or English UI.
22
- - **Dependencies and diagnostics**: Detect or install yt-dlp, FFmpeg and ffprobe; inspect redacted logs and generate feedback drafts.
15
+ - Parse media with yt-dlp, dedicated APIs and browser fallbacks for Douyin and Kuaishou, and single-video WeChat Channels share links.
16
+ - Select quality and audio tracks, extract MP3 audio, and download subtitles in their original format or SRT.
17
+ - Queue downloads, control concurrency, view progress and speed, pause, resume and retry; supports chunked direct downloads with resume, concurrent HLS / DASH segments, and optional aria2.
18
+ - Search completed downloads, view local thumbnails, play media, open folders and sync the directory; permanently delete individual or multiple downloads after a second confirmation.
19
+ - Configure the download directory, filename template, default quality, proxy, and explicitly selected browser profile or Cookie file; supports Chinese and English.
20
+ - Detect or install yt-dlp, FFmpeg and ffprobe, inspect redacted logs, and generate feedback drafts.
23
21
 
24
22
  ## Installation
25
23
 
26
- This version targets DeepSeek Harness Desktop `0.2.1-rc.2`.
24
+ Targets DeepSeek Harness Desktop `0.2.1-rc.3`. In **Plugins → Add Plugin**, enter `dsh-plugin-streamnest`, select the official npm registry, then install and enable it. Alternatively, use the CLI:
27
25
 
28
- In DeepSeek Harness, open **Plugins → Add Plugin**, enter `dsh-plugin-streamnest`, select the official npm registry, then install and enable it. The published package includes build artifacts and requires no compilation during installation.
26
+ ```bash
27
+ dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
28
+
29
+ # Web: run on the server
30
+ dsh plugin --profile web add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
31
+ ```
29
32
 
30
- You can also use the official CLI:
33
+ For a local `.tgz` package, select it on the plugin page or run:
31
34
 
32
35
  ```bash
33
- dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
36
+ dsh plugin --profile desktop add file:/absolute/path/dsh-plugin-streamnest-0.1.1.tgz
34
37
  ```
35
38
 
36
- For the Web version of DeepSeek Harness, replace `desktop` with the appropriate profile, such as `web`. See `peerDependencies` in `package.json` for the supported host SDK versions.
39
+ Replace the path and version with those of your package. Restart the app / Web service after installation or update. Installation requires no compilation. See `peerDependencies` in `package.json` for supported host SDK versions.
37
40
 
38
41
  ## Usage
39
42
 
@@ -41,9 +44,9 @@ For the Web version of DeepSeek Harness, replace `desktop` with the appropriate
41
44
  2. Paste a media link into **Link Download**, parse it, select video quality, audio tracks or subtitles, and add a download to the queue.
42
45
  3. Monitor and control tasks in **Download Queue**; play media or open its folder in **Completed Downloads**.
43
46
 
44
- You can also ask the Agent in a host conversation to parse links, create downloads, inspect the queue, or pause tasks. Results stay in sync with the UI.
47
+ Ask the Agent in a host conversation to parse links, create downloads, inspect the queue or pause tasks. Results stay in sync with the UI.
45
48
 
46
- ### Limitations
49
+ ## Limitations
47
50
 
48
51
  - Parses one video at a time without expanding playlists; live streams are not supported.
49
52
  - Site availability depends on platform APIs, access permissions, login state, and runtime tool versions.
@@ -53,34 +56,25 @@ You can also ask the Agent in a host conversation to parse links, create downloa
53
56
  - Deleting items in **Completed Downloads** permanently deletes their registered files after a second confirmation and cannot be undone. Directory sync only updates records and does not delete files.
54
57
  - aria2 is optional and must be installed separately or provided through a configured path.
55
58
 
56
- ## Development and packaging
59
+ ## Development and publishing
57
60
 
58
- Requires Node.js ≥ 22.13 and pnpm 11.5.0, as pinned in `package.json`.
61
+ Requires Node.js ≥ 22.13 and pnpm 11.5.0.
59
62
 
60
63
  ```bash
61
64
  pnpm install --frozen-lockfile
62
- pnpm dev
65
+ pnpm verify # Format, lint, types, build and tests
66
+ pnpm pack --pack-destination artifacts # Verify, build and create a local package
67
+ pnpm release --dry-run # Verify and preview the npm package
68
+ pnpm release # Log in to npm, verify, build and publish
63
69
  ```
64
70
 
65
- The development preview runs at `http://127.0.0.1:5179`, with the API at `http://127.0.0.1:4322/streamnest/api`. The preview uses the official host theme and UI primitives; in the DeepSeek Harness desktop app, the plugin inherits the host theme.
71
+ `verify` runs `check → build → test`. Packing and publishing run the same validation through `prepack`. Local packages are written to `artifacts/dsh-plugin-streamnest-<version>.tgz`.
66
72
 
67
- ```bash
68
- pnpm run check
69
- pnpm run release
70
- ```
73
+ `release` opens npm browser login, verifies the account with `whoami`, then publishes to the official npm registry (public / latest). Any failure stops the process. `--dry-run` only verifies and previews the package; it does not log in, upload or write an install archive. Update `version` in `package.json` before publishing again; published versions cannot be overwritten.
71
74
 
72
- The release archive is written to `release/streamnest-<version>.tgz` and can be installed locally. It includes the project documentation, reference project sources, original license texts, and bundled client dependency licenses.
75
+ The npm package contains only compiled JavaScript, runtime configuration, locale files, required assets, documentation, licenses and source attribution. It excludes TypeScript / TSX source, source maps, tests and build scripts.
73
76
 
74
- ### Publishing to npm
75
-
76
- Sign in with `npm login`, or provide an access token with publishing permissions through standard npm configuration, then run:
77
-
78
- ```bash
79
- pnpm run publish:npm --dry-run
80
- pnpm run publish:npm
81
- ```
82
-
83
- The publish command runs checks, creates a release archive, and publishes that same archive to the official npm registry. Authentication uses standard npm login or access token configuration, and npm verifies publishing permissions. `--dry-run` performs a rehearsal only. Update the version in `package.json` before each subsequent release; a published version cannot be overwritten.
77
+ Run `pnpm dev` for a local preview at `http://127.0.0.1:5179`, with the API at `http://127.0.0.1:4322/streamnest/api`. The preview uses official theme and UI primitives; Desktop inherits the host theme.
84
78
 
85
79
  | Directory | Responsibility |
86
80
  | -------------------------------- | --------------------------------------------------------- |
@@ -91,8 +85,6 @@ The publish command runs checks, creates a release archive, and publishes that s
91
85
  | `assets/reference-projects.json` | Reference project source list |
92
86
  | `licenses` | Original license texts for reference projects |
93
87
 
94
- The UI, API and Agent reuse the same business services. Host adapters live in `packages/harness`.
95
-
96
88
  ## Acknowledgments
97
89
 
98
90
  Reference implementations: [DownVid](https://github.com/yxxbc/downvid) · [wx_channels_download](https://github.com/ltaoo/wx_channels_download)
package/README.md CHANGED
@@ -1,39 +1,42 @@
1
1
  # 拾流 · StreamNest
2
2
 
3
3
  [![DeepSeek Harness](https://img.shields.io/badge/DeepSeek-Harness-4D6BFE)](https://github.com/deepseek-ai/deepseek-harness)
4
- [![Stars](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgit.aimz.cc.cd%2Fapi%2Fv1%2Frepos%2Flynn1286%2Fdsh-plugin-streamnest&query=%24.stars_count&label=Stars&logo=gitea&color=orange)](https://git.aimz.cc.cd/lynn1286/dsh-plugin-streamnest/stars)
5
4
  [![Version](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgit.aimz.cc.cd%2Fapi%2Fv1%2Frepos%2Flynn1286%2Fdsh-plugin-streamnest%2Fraw%2Fpackage.json%3Fref%3Dmain&query=%24.version&prefix=v&label=version&color=blue)](package.json)
6
5
  [![License: MIT (original code)](https://img.shields.io/badge/license-MIT-green)](LICENSE)
7
6
 
8
7
  中文 | [English](README.en.md)
9
8
 
10
- 适用于 DeepSeek Harness 的本地音视频下载插件。解析媒体链接、选择画质、音轨或字幕并保存到本机,页面与 Agent 共用同一套服务和下载队列。
9
+ 解析音视频链接,选择画质、音轨或字幕并保存到本机。页面与 Agent 共用服务和下载队列。
11
10
 
12
11
  ![拾流已安装并启用:DeepSeek Harness 桌面版中的链接下载界面](assets/screenshots/deepseek-harness-installed.png)
13
12
 
14
13
  ## 功能
15
14
 
16
- - **链接解析**:通过 yt-dlp 解析媒体,抖音、快手提供专用 API 和浏览器回退;支持微信视频号单视频分享链接。
17
- - **下载选择**:选择视频画质和音轨,提取 MP3,下载字幕并选择保留源格式或转换为 SRT。
18
- - **任务管理**:下载排队、并发控制、进度与速度显示、暂停、继续、重试,以及本地文件查看。
19
- - **已完成下载**:搜索、本地缩略图、播放、打开目录和目录同步;支持二次确认后的单个与批量永久删除。
20
- - **下载加速**:直链分块下载和断点续传,可选 aria2;支持 HLS / DASH 分片并发。
21
- - **运行设置**:下载目录、文件名模板、默认画质、代理、明确指定的浏览器账号或 Cookie 文件,以及中英文界面。
22
- - **依赖与诊断**:探测或安装 yt-dlp、FFmpeg、ffprobe;查看脱敏日志和生成反馈草稿。
15
+ - 通过 yt-dlp 解析媒体;抖音、快手提供专用 API 和浏览器回退,支持微信视频号单视频分享链接。
16
+ - 选择画质和音轨、提取 MP3、下载原格式或 SRT 字幕。
17
+ - 排队、并发下载、进度与速度显示、暂停、继续和重试;支持直链分块续传、HLS / DASH 分片并发及可选 aria2。
18
+ - 搜索已完成下载、显示本地缩略图、播放、打开目录和同步目录;支持二次确认后的单个与批量永久删除。
19
+ - 配置下载目录、文件名模板、默认画质、代理、明确指定的浏览器账号或 Cookie 文件;支持中英文界面。
20
+ - 探测或安装 yt-dlp、FFmpeg、ffprobe,查看脱敏日志并生成反馈草稿。
23
21
 
24
22
  ## 安装
25
23
 
26
- 当前版本适配 DeepSeek Harness Desktop `0.2.1-rc.2`。
24
+ 适配 DeepSeek Harness Desktop `0.2.1-rc.3`。在「插件 → 添加插件」中输入 `dsh-plugin-streamnest`,选择 npm 官方源安装并启用,或使用 CLI:
27
25
 
28
- 在 DeepSeek Harness 的「插件 → 添加插件」中输入 `dsh-plugin-streamnest`,选择 npm 官方源安装并启用。发布包已包含构建产物,安装时无需编译。
26
+ ```bash
27
+ dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
28
+
29
+ # Web 版:在服务端执行
30
+ dsh plugin --profile web add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
31
+ ```
29
32
 
30
- 也可以使用官方 CLI:
33
+ 本地 `.tgz` 安装包也可在插件页选择安装,或运行:
31
34
 
32
35
  ```bash
33
- dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
36
+ dsh plugin --profile desktop add file:/absolute/path/dsh-plugin-streamnest-0.1.1.tgz
34
37
  ```
35
38
 
36
- 使用 DeepSeek Harness Web 版时,将 `desktop` 换为对应的 profile(例如 `web`)。宿主 SDK 兼容范围见 `package.json` 的 `peerDependencies`。
39
+ 替换为安装包的实际路径和版本。安装或更新后重启应用 / Web 服务;安装时无需编译。宿主 SDK 兼容范围见 `package.json` 的 `peerDependencies`。
37
40
 
38
41
  ## 使用
39
42
 
@@ -41,9 +44,9 @@ dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://regist
41
44
  2. 在「链接下载」粘贴媒体链接,解析后选择画质、音轨或字幕,加入下载队列。
42
45
  3. 在「下载队列」查看进度和控制任务,在「已完成下载」播放或打开文件目录。
43
46
 
44
- 也可以在宿主会话中让 Agent 解析链接、创建下载任务、查询队列或暂停任务,操作结果与页面同步。
47
+ 在宿主会话中也可让 Agent 解析链接、创建下载、查询队列或暂停任务,结果与页面同步。
45
48
 
46
- ### 功能限制
49
+ ## 限制
47
50
 
48
51
  - 每次解析一个视频,不展开播放列表;不支持正在直播的媒体。
49
52
  - 网站可用性取决于站点接口、访问权限、登录状态和运行工具版本。
@@ -53,34 +56,25 @@ dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://regist
53
56
  - 「已完成下载」中的删除会永久删除所选记录登记的文件,二次确认后执行,无法撤销;目录同步只整理记录,不删除文件。
54
57
  - aria2 为可选工具,需自行安装或指定路径。
55
58
 
56
- ## 开发与打包
59
+ ## 开发与发布
57
60
 
58
- 需要 Node.js ≥ 22.13,使用 `package.json` 固定的 pnpm 11.5.0。
61
+ 要求 Node.js ≥ 22.13、pnpm 11.5.0。
59
62
 
60
63
  ```bash
61
64
  pnpm install --frozen-lockfile
62
- pnpm dev
65
+ pnpm verify # 格式、Lint、类型、构建和测试
66
+ pnpm pack --pack-destination artifacts # 校验、构建并生成本地安装包
67
+ pnpm release --dry-run # 校验并预览 npm 包
68
+ pnpm release # 登录 npm 后校验、构建并发布
63
69
  ```
64
70
 
65
- 开发预览地址为 `http://127.0.0.1:5179`,API 地址为 `http://127.0.0.1:4322/streamnest/api`。开发预览使用官方宿主主题与控件;在 DeepSeek Harness 桌面版中继承宿主主题。
66
-
67
- ```bash
68
- pnpm run check
69
- pnpm run release
70
- ```
71
+ `verify` 依次执行 `check → build → test`,打包和发布由 `prepack` 自动执行同一验证。本地安装包输出至 `artifacts/dsh-plugin-streamnest-<版本>.tgz`。
71
72
 
72
- 发布包输出至 `release/streamnest-<版本>.tgz`,可用于本地安装。构建产物包含项目介绍、参考项目来源、原始许可及客户端捆绑依赖许可。
73
+ `release` 依次执行 npm 浏览器登录、`whoami` 身份校验,再发布到 npm 官方源(public / latest);任一步失败立即停止。`--dry-run` 仅校验和预览包内容,不登录、不上传、不写入安装包。再次发布前更新 `package.json` 的 `version`,已发布版本不能覆盖。
73
74
 
74
- ### 发布到 npm
75
+ npm 包仅包含编译后的 JavaScript、运行配置、语言文件、必要资产、说明文档及许可和来源清单;不包含 TypeScript / TSX 源码、source map、测试或构建脚本。
75
76
 
76
- 先通过 `npm login` 登录,或通过标准 npm 配置提供具备发布权限的 access token,再执行:
77
-
78
- ```bash
79
- pnpm run publish:npm --dry-run
80
- pnpm run publish:npm
81
- ```
82
-
83
- 发布命令会先执行检查、生成 release 包,再发布同一个安装包到 npm 官方 registry。认证沿用标准 npm 登录或 access token 配置,发布权限由 npm 校验。`--dry-run` 只演练。后续发布前须更新 `package.json` 的版本号,已发布的同名版本不能覆盖。
77
+ 本地预览运行 `pnpm dev`:页面为 `http://127.0.0.1:5179`,API 为 `http://127.0.0.1:4322/streamnest/api`。预览使用官方主题与控件,Desktop 继承宿主主题。
84
78
 
85
79
  | 目录 | 职责 |
86
80
  | -------------------------------- | ----------------------------------------- |
@@ -91,12 +85,14 @@ pnpm run publish:npm
91
85
  | `assets/reference-projects.json` | 参考项目来源清单 |
92
86
  | `licenses` | 参考项目原始许可文本 |
93
87
 
94
- 页面、API 与 Agent 复用相同业务服务,宿主适配集中在 `packages/harness`。
95
-
96
88
  ## 感谢开源
97
89
 
98
90
  参考实现:[DownVid](https://github.com/yxxbc/downvid) · [wx_channels_download](https://github.com/ltaoo/wx_channels_download)
99
91
 
92
+ ## 友情链接
93
+
94
+ [Linux DO](https://linux.do)
95
+
100
96
  ## 许可
101
97
 
102
98
  原创部分采用 [MIT 许可](LICENSE),顶部 MIT 徽章仅指原创部分。参考及改编部分保留各自原作者版权和许可,wx_channels_download 的许可包含 Commons Clause 附加条款,以许可原文为准。构建时将参考项目来源、原始许可和客户端依赖许可汇总至 `lib/THIRD_PARTY_LICENSES.txt`。
@@ -69,7 +69,7 @@ SOFTWARE.
69
69
 
70
70
  客户端捆绑依赖许可
71
71
 
72
- @deepseek-ai/dsh-client-ui-primitives 0.2.1-rc.2
72
+ @deepseek-ai/dsh-client-ui-primitives 0.2.1-rc.3
73
73
 
74
74
  许可:MIT
75
75
 
@@ -95,7 +95,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
95
95
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
96
96
  SOFTWARE.
97
97
 
98
- @deepseek-ai/dsh-util-code-language 0.2.1-rc.2
98
+ @deepseek-ai/dsh-util-code-language 0.2.1-rc.3
99
99
 
100
100
  许可:MIT
101
101