dsh-plugin-streamnest 0.0.5 → 0.1.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/README.en.md +29 -36
- package/README.md +29 -36
- package/lib/client.js +1 -1
- package/package.json +29 -22
- package/lib/apps/api/src/app.module.js.map +0 -1
- package/lib/apps/api/src/common/api-error.filter.js.map +0 -1
- package/lib/apps/api/src/common/business-error.js.map +0 -1
- package/lib/apps/api/src/common/network.js.map +0 -1
- package/lib/apps/api/src/common/process.js.map +0 -1
- package/lib/apps/api/src/common/validation.js.map +0 -1
- package/lib/apps/api/src/create-application.js.map +0 -1
- package/lib/apps/api/src/main.js.map +0 -1
- package/lib/apps/api/src/media/arguments.js.map +0 -1
- package/lib/apps/api/src/media/delete-downloads.js.map +0 -1
- package/lib/apps/api/src/media/directory-sync.js.map +0 -1
- package/lib/apps/api/src/media/dto/media.dto.js.map +0 -1
- package/lib/apps/api/src/media/engines/aria2-progress.js.map +0 -1
- package/lib/apps/api/src/media/engines/aria2.js.map +0 -1
- package/lib/apps/api/src/media/engines/direct-state.js.map +0 -1
- package/lib/apps/api/src/media/engines/direct.js.map +0 -1
- package/lib/apps/api/src/media/engines/js-runtime.js.map +0 -1
- package/lib/apps/api/src/media/engines/types.js.map +0 -1
- package/lib/apps/api/src/media/formats.js.map +0 -1
- package/lib/apps/api/src/media/media.controller.js.map +0 -1
- package/lib/apps/api/src/media/media.engine.js.map +0 -1
- package/lib/apps/api/src/media/media.service.js.map +0 -1
- package/lib/apps/api/src/media/parsing/browser-paths.js.map +0 -1
- package/lib/apps/api/src/media/parsing/browser-pool.service.js.map +0 -1
- package/lib/apps/api/src/media/parsing/cache.service.js.map +0 -1
- package/lib/apps/api/src/media/parsing/cookie.service.js.map +0 -1
- package/lib/apps/api/src/media/parsing/platform-data.js.map +0 -1
- package/lib/apps/api/src/media/parsing/platform-parser.service.js.map +0 -1
- package/lib/apps/api/src/media/parsing/youtube-retry.js.map +0 -1
- package/lib/apps/api/src/media/thumbnail.service.js.map +0 -1
- package/lib/apps/api/src/media/wechat/api.js.map +0 -1
- package/lib/apps/api/src/media/wechat/decode.js.map +0 -1
- package/lib/apps/api/src/media/wechat/wechat.service.js.map +0 -1
- package/lib/apps/api/src/runtime/runtime-archive.js.map +0 -1
- package/lib/apps/api/src/runtime/runtime-discovery.js.map +0 -1
- package/lib/apps/api/src/runtime/runtime-installer.js.map +0 -1
- package/lib/apps/api/src/runtime/runtime-manager.js.map +0 -1
- package/lib/apps/api/src/runtime/runtime-manifest.js.map +0 -1
- package/lib/apps/api/src/runtime/runtime.service.js.map +0 -1
- package/lib/apps/api/src/storage/legacy-vault.js.map +0 -1
- package/lib/apps/api/src/storage/task-record.js.map +0 -1
- package/lib/apps/api/src/storage/vault.store.js.map +0 -1
- package/lib/apps/api/src/system/browser-profiles.js.map +0 -1
- package/lib/apps/api/src/system/journal.service.js.map +0 -1
- package/lib/apps/api/src/system/native.service.js.map +0 -1
- package/lib/apps/api/src/system/system.controller.js.map +0 -1
- package/lib/apps/api/src/system/system.dto.js.map +0 -1
- package/lib/apps/api/src/system/system.service.js.map +0 -1
- package/lib/apps/shared/src/brand.js.map +0 -1
- package/lib/apps/shared/src/browser-profiles.js.map +0 -1
- package/lib/apps/shared/src/contracts.js.map +0 -1
- package/lib/apps/shared/src/cookies.js.map +0 -1
- package/lib/apps/shared/src/links.js.map +0 -1
- package/lib/apps/shared/src/media-files.js.map +0 -1
- package/lib/apps/shared/src/messages.js.map +0 -1
- package/lib/apps/shared/src/parse-errors.js.map +0 -1
- package/lib/apps/shared/src/preferences.js.map +0 -1
- package/lib/apps/shared/src/system.js.map +0 -1
- package/lib/apps/shared/src/task-messages.js.map +0 -1
- package/lib/apps/shared/src/thumbnail.js.map +0 -1
- package/lib/packages/harness/src/index.js.map +0 -1
- package/lib/packages/harness/src/tools/business-errors.js.map +0 -1
- package/lib/packages/harness/src/tools/permissions.js.map +0 -1
- package/lib/packages/harness/src/tools/register.js.map +0 -1
- package/lib/packages/harness/src/tools/schemas.js.map +0 -1
- package/lib/packages/harness/src/tools/system-schemas.js.map +0 -1
- package/lib/packages/harness/src/tools/system-tools.js.map +0 -1
package/README.en.md
CHANGED
|
@@ -7,33 +7,37 @@
|
|
|
7
7
|
|
|
8
8
|
[中文](README.md) | English
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
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
11
|
|
|
12
12
|

|
|
13
13
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- **Dependencies and diagnostics**: Detect or install yt-dlp, FFmpeg and ffprobe; inspect redacted logs and generate feedback drafts.
|
|
16
|
+
- Parse media with yt-dlp, dedicated APIs and browser fallbacks for Douyin and Kuaishou, and single-video WeChat Channels share links.
|
|
17
|
+
- Select quality and audio tracks, extract MP3 audio, and download subtitles in their original format or SRT.
|
|
18
|
+
- 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.
|
|
19
|
+
- Search completed downloads, view local thumbnails, play media, open folders and sync the directory; permanently delete individual or multiple downloads after a second confirmation.
|
|
20
|
+
- Configure the download directory, filename template, default quality, proxy, and explicitly selected browser profile or Cookie file; supports Chinese and English.
|
|
21
|
+
- Detect or install yt-dlp, FFmpeg and ffprobe, inspect redacted logs, and generate feedback drafts.
|
|
23
22
|
|
|
24
23
|
## Installation
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
Targets DeepSeek Harness Desktop `0.2.1-rc.2`. In **Plugins → Add Plugin**, enter `dsh-plugin-streamnest`, select the official npm registry, then install and enable it. Alternatively, use the CLI:
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
```bash
|
|
28
|
+
dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
|
|
29
|
+
|
|
30
|
+
# Web: run on the server
|
|
31
|
+
dsh plugin --profile web add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
|
|
32
|
+
```
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
For a local `.tgz` package, select it on the plugin page or run:
|
|
31
35
|
|
|
32
36
|
```bash
|
|
33
|
-
dsh plugin --profile desktop add dsh-plugin-streamnest
|
|
37
|
+
dsh plugin --profile desktop add file:/absolute/path/dsh-plugin-streamnest-0.1.0.tgz
|
|
34
38
|
```
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
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
41
|
|
|
38
42
|
## Usage
|
|
39
43
|
|
|
@@ -41,9 +45,9 @@ For the Web version of DeepSeek Harness, replace `desktop` with the appropriate
|
|
|
41
45
|
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
46
|
3. Monitor and control tasks in **Download Queue**; play media or open its folder in **Completed Downloads**.
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
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
49
|
|
|
46
|
-
|
|
50
|
+
## Limitations
|
|
47
51
|
|
|
48
52
|
- Parses one video at a time without expanding playlists; live streams are not supported.
|
|
49
53
|
- Site availability depends on platform APIs, access permissions, login state, and runtime tool versions.
|
|
@@ -53,34 +57,25 @@ You can also ask the Agent in a host conversation to parse links, create downloa
|
|
|
53
57
|
- 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
58
|
- aria2 is optional and must be installed separately or provided through a configured path.
|
|
55
59
|
|
|
56
|
-
## Development and
|
|
60
|
+
## Development and publishing
|
|
57
61
|
|
|
58
|
-
Requires Node.js ≥ 22.13 and pnpm 11.5.0
|
|
62
|
+
Requires Node.js ≥ 22.13 and pnpm 11.5.0.
|
|
59
63
|
|
|
60
64
|
```bash
|
|
61
65
|
pnpm install --frozen-lockfile
|
|
62
|
-
pnpm
|
|
66
|
+
pnpm verify # Format, lint, types, build and tests
|
|
67
|
+
pnpm pack --pack-destination artifacts # Verify, build and create a local package
|
|
68
|
+
pnpm release --dry-run # Verify and preview the npm package
|
|
69
|
+
pnpm release # Log in to npm, verify, build and publish
|
|
63
70
|
```
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
`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
73
|
|
|
67
|
-
|
|
68
|
-
pnpm run check
|
|
69
|
-
pnpm run release
|
|
70
|
-
```
|
|
74
|
+
`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
75
|
|
|
72
|
-
The
|
|
76
|
+
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
77
|
|
|
74
|
-
|
|
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.
|
|
78
|
+
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
79
|
|
|
85
80
|
| Directory | Responsibility |
|
|
86
81
|
| -------------------------------- | --------------------------------------------------------- |
|
|
@@ -91,8 +86,6 @@ The publish command runs checks, creates a release archive, and publishes that s
|
|
|
91
86
|
| `assets/reference-projects.json` | Reference project source list |
|
|
92
87
|
| `licenses` | Original license texts for reference projects |
|
|
93
88
|
|
|
94
|
-
The UI, API and Agent reuse the same business services. Host adapters live in `packages/harness`.
|
|
95
|
-
|
|
96
89
|
## Acknowledgments
|
|
97
90
|
|
|
98
91
|
Reference implementations: [DownVid](https://github.com/yxxbc/downvid) · [wx_channels_download](https://github.com/ltaoo/wx_channels_download)
|
package/README.md
CHANGED
|
@@ -7,33 +7,37 @@
|
|
|
7
7
|
|
|
8
8
|
中文 | [English](README.en.md)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
解析音视频链接,选择画质、音轨或字幕并保存到本机。页面与 Agent 共用服务和下载队列。
|
|
11
11
|
|
|
12
12
|

|
|
13
13
|
|
|
14
14
|
## 功能
|
|
15
15
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- **依赖与诊断**:探测或安装 yt-dlp、FFmpeg、ffprobe;查看脱敏日志和生成反馈草稿。
|
|
16
|
+
- 通过 yt-dlp 解析媒体;抖音、快手提供专用 API 和浏览器回退,支持微信视频号单视频分享链接。
|
|
17
|
+
- 选择画质和音轨、提取 MP3、下载原格式或 SRT 字幕。
|
|
18
|
+
- 排队、并发下载、进度与速度显示、暂停、继续和重试;支持直链分块续传、HLS / DASH 分片并发及可选 aria2。
|
|
19
|
+
- 搜索已完成下载、显示本地缩略图、播放、打开目录和同步目录;支持二次确认后的单个与批量永久删除。
|
|
20
|
+
- 配置下载目录、文件名模板、默认画质、代理、明确指定的浏览器账号或 Cookie 文件;支持中英文界面。
|
|
21
|
+
- 探测或安装 yt-dlp、FFmpeg、ffprobe,查看脱敏日志并生成反馈草稿。
|
|
23
22
|
|
|
24
23
|
## 安装
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
适配 DeepSeek Harness Desktop `0.2.1-rc.2`。在「插件 → 添加插件」中输入 `dsh-plugin-streamnest`,选择 npm 官方源安装并启用,或使用 CLI:
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
```bash
|
|
28
|
+
dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
|
|
29
|
+
|
|
30
|
+
# Web 版:在服务端执行
|
|
31
|
+
dsh plugin --profile web add dsh-plugin-streamnest --registry=https://registry.npmjs.org/
|
|
32
|
+
```
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
本地 `.tgz` 安装包也可在插件页选择安装,或运行:
|
|
31
35
|
|
|
32
36
|
```bash
|
|
33
|
-
dsh plugin --profile desktop add dsh-plugin-streamnest
|
|
37
|
+
dsh plugin --profile desktop add file:/absolute/path/dsh-plugin-streamnest-0.1.0.tgz
|
|
34
38
|
```
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
替换为安装包的实际路径和版本。安装或更新后重启应用 / Web 服务;安装时无需编译。宿主 SDK 兼容范围见 `package.json` 的 `peerDependencies`。
|
|
37
41
|
|
|
38
42
|
## 使用
|
|
39
43
|
|
|
@@ -41,9 +45,9 @@ dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://regist
|
|
|
41
45
|
2. 在「链接下载」粘贴媒体链接,解析后选择画质、音轨或字幕,加入下载队列。
|
|
42
46
|
3. 在「下载队列」查看进度和控制任务,在「已完成下载」播放或打开文件目录。
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
在宿主会话中也可让 Agent 解析链接、创建下载、查询队列或暂停任务,结果与页面同步。
|
|
45
49
|
|
|
46
|
-
|
|
50
|
+
## 限制
|
|
47
51
|
|
|
48
52
|
- 每次解析一个视频,不展开播放列表;不支持正在直播的媒体。
|
|
49
53
|
- 网站可用性取决于站点接口、访问权限、登录状态和运行工具版本。
|
|
@@ -53,34 +57,25 @@ dsh plugin --profile desktop add dsh-plugin-streamnest --registry=https://regist
|
|
|
53
57
|
- 「已完成下载」中的删除会永久删除所选记录登记的文件,二次确认后执行,无法撤销;目录同步只整理记录,不删除文件。
|
|
54
58
|
- aria2 为可选工具,需自行安装或指定路径。
|
|
55
59
|
|
|
56
|
-
##
|
|
60
|
+
## 开发与发布
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
要求 Node.js ≥ 22.13、pnpm 11.5.0。
|
|
59
63
|
|
|
60
64
|
```bash
|
|
61
65
|
pnpm install --frozen-lockfile
|
|
62
|
-
pnpm
|
|
66
|
+
pnpm verify # 格式、Lint、类型、构建和测试
|
|
67
|
+
pnpm pack --pack-destination artifacts # 校验、构建并生成本地安装包
|
|
68
|
+
pnpm release --dry-run # 校验并预览 npm 包
|
|
69
|
+
pnpm release # 登录 npm 后校验、构建并发布
|
|
63
70
|
```
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
`verify` 依次执行 `check → build → test`,打包和发布由 `prepack` 自动执行同一验证。本地安装包输出至 `artifacts/dsh-plugin-streamnest-<版本>.tgz`。
|
|
66
73
|
|
|
67
|
-
|
|
68
|
-
pnpm run check
|
|
69
|
-
pnpm run release
|
|
70
|
-
```
|
|
74
|
+
`release` 依次执行 npm 浏览器登录、`whoami` 身份校验,再发布到 npm 官方源(public / latest);任一步失败立即停止。`--dry-run` 仅校验和预览包内容,不登录、不上传、不写入安装包。再次发布前更新 `package.json` 的 `version`,已发布版本不能覆盖。
|
|
71
75
|
|
|
72
|
-
|
|
76
|
+
npm 包仅包含编译后的 JavaScript、运行配置、语言文件、必要资产、说明文档及许可和来源清单;不包含 TypeScript / TSX 源码、source map、测试或构建脚本。
|
|
73
77
|
|
|
74
|
-
|
|
75
|
-
|
|
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` 的版本号,已发布的同名版本不能覆盖。
|
|
78
|
+
本地预览运行 `pnpm dev`:页面为 `http://127.0.0.1:5179`,API 为 `http://127.0.0.1:4322/streamnest/api`。预览使用官方主题与控件,Desktop 继承宿主主题。
|
|
84
79
|
|
|
85
80
|
| 目录 | 职责 |
|
|
86
81
|
| -------------------------------- | ----------------------------------------- |
|
|
@@ -91,8 +86,6 @@ pnpm run publish:npm
|
|
|
91
86
|
| `assets/reference-projects.json` | 参考项目来源清单 |
|
|
92
87
|
| `licenses` | 参考项目原始许可文本 |
|
|
93
88
|
|
|
94
|
-
页面、API 与 Agent 复用相同业务服务,宿主适配集中在 `packages/harness`。
|
|
95
|
-
|
|
96
89
|
## 感谢开源
|
|
97
90
|
|
|
98
91
|
参考实现:[DownVid](https://github.com/yxxbc/downvid) · [wx_channels_download](https://github.com/ltaoo/wx_channels_download)
|