dsh-vidi 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.md +77 -0
- package/README.md +61 -2
- package/README.zh-CN.md +62 -0
- package/cordis.patch.yml +4 -0
- package/icon.svg +12 -0
- package/lib/client.js +37473 -0
- package/lib/index.mjs +5219 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +84 -4
package/LICENSE.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# PolyForm Noncommercial License 1.0.0
|
|
2
|
+
|
|
3
|
+
<https://polyformproject.org/licenses/noncommercial/1.0.0>
|
|
4
|
+
|
|
5
|
+
## Acceptance
|
|
6
|
+
|
|
7
|
+
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
|
|
8
|
+
|
|
9
|
+
## Copyright License
|
|
10
|
+
|
|
11
|
+
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
|
|
12
|
+
|
|
13
|
+
## Distribution License
|
|
14
|
+
|
|
15
|
+
The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
|
|
16
|
+
|
|
17
|
+
## Notices
|
|
18
|
+
|
|
19
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
|
|
20
|
+
|
|
21
|
+
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
22
|
+
|
|
23
|
+
## Changes and New Works License
|
|
24
|
+
|
|
25
|
+
The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
|
|
26
|
+
|
|
27
|
+
## Patent License
|
|
28
|
+
|
|
29
|
+
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
|
|
30
|
+
|
|
31
|
+
## Noncommercial Purposes
|
|
32
|
+
|
|
33
|
+
Any noncommercial purpose is a permitted purpose.
|
|
34
|
+
|
|
35
|
+
## Personal Uses
|
|
36
|
+
|
|
37
|
+
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
|
|
38
|
+
|
|
39
|
+
## Noncommercial Organizations
|
|
40
|
+
|
|
41
|
+
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
|
|
42
|
+
|
|
43
|
+
## Fair Use
|
|
44
|
+
|
|
45
|
+
You may have "fair use" rights for the software under the law. These terms do not limit them.
|
|
46
|
+
|
|
47
|
+
## No Other Rights
|
|
48
|
+
|
|
49
|
+
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
|
|
50
|
+
|
|
51
|
+
## Patent Defense
|
|
52
|
+
|
|
53
|
+
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
54
|
+
|
|
55
|
+
## Violations
|
|
56
|
+
|
|
57
|
+
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
|
|
58
|
+
|
|
59
|
+
## No Liability
|
|
60
|
+
|
|
61
|
+
***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
|
|
62
|
+
|
|
63
|
+
## Definitions
|
|
64
|
+
|
|
65
|
+
The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
|
|
66
|
+
|
|
67
|
+
**You** refers to the individual or entity agreeing to these terms.
|
|
68
|
+
|
|
69
|
+
**Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
70
|
+
|
|
71
|
+
**Your licenses** are all the licenses granted to you for the software under these terms.
|
|
72
|
+
|
|
73
|
+
**Use** means anything you do with the software requiring one of your licenses.
|
|
74
|
+
|
|
75
|
+
## Required Notice
|
|
76
|
+
|
|
77
|
+
Required Notice: Copyright 2026 CocoSgt (https://github.com/CocoSgt/dsh-vidi)
|
package/README.md
CHANGED
|
@@ -1,3 +1,62 @@
|
|
|
1
|
-
#
|
|
1
|
+
# dsh-vidi
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
English | [中文](README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
A video tool for DeepSeek Harness: watch live streams, videos and podcasts with subtitles in any language, and let DeepSeek take frames, cut clips, download and summarise for you.
|
|
6
|
+
|
|
7
|
+
## What it does
|
|
8
|
+
|
|
9
|
+
- **Opens anything**: YouTube, Bilibili and other sites yt-dlp supports, Xiaoyuzhou podcast episodes, m3u8 / rtmp / srt streams, local files (drop them in), or a stream pushed from OBS.
|
|
10
|
+
- **Subtitles start by themselves** when a video opens; pause and resume any time. One or two languages (a main line and a second line); the site's own subtitles can be shown too, or used as a reference.
|
|
11
|
+
- **Two paces**: real-time shows lines as they are heard; polished arrives a little later with misheard words fixed from context.
|
|
12
|
+
- **The subtitle model looks at the video**: polishing uses the page's title, description and comments, and — when the chosen model reads images — a frame of that stretch. It also keeps a glossary of names and terms for the video.
|
|
13
|
+
- **Chat with DeepSeek beside the video**: grab this moment, cut this part, summarise, download the original — all in one conversation, with files saved in the video's folder.
|
|
14
|
+
- **Restream**: push the video with its subtitles drawn into the picture to Bilibili, Douyin, Kuaishou, WeChat Channels, Douyu, Huya, YouTube, Twitch or any RTMP/SRT address — several at once; each platform connects and reconnects on its own.
|
|
15
|
+
- **Export**: SRT / VTT subtitles, transcripts by line or paragraph, clips with subtitle tracks.
|
|
16
|
+
- English and Chinese interface; works on phones.
|
|
17
|
+
|
|
18
|
+
## Install
|
|
19
|
+
|
|
20
|
+
In DSH, open **Plugins → Install third-party plugin** and enter `dsh-vidi`. A **Video** button appears in the sidebar; pasting a video link in a chat also offers to open it.
|
|
21
|
+
|
|
22
|
+
Needs DSH 0.2.2 or later.
|
|
23
|
+
|
|
24
|
+
### Dependencies
|
|
25
|
+
|
|
26
|
+
| Tool | For | Install (macOS) |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| ffmpeg | playing, recording, frames, clips | `brew install ffmpeg` |
|
|
29
|
+
| yt-dlp | site videos | `brew install yt-dlp` |
|
|
30
|
+
| whisper.cpp (optional) | transcription on this computer | `brew install whisper-cpp`, then put `ggml-large-v3-turbo-q5_0.bin` in `~/.dsh/live/models/` |
|
|
31
|
+
|
|
32
|
+
Without whisper.cpp, pick an online service as the transcription model in settings.
|
|
33
|
+
|
|
34
|
+
## Two models
|
|
35
|
+
|
|
36
|
+
Set separately under the gear:
|
|
37
|
+
|
|
38
|
+
- **Transcription**: speech to text. Whisper on this computer by default; or OpenAI, Google Gemini, Groq, SiliconFlow, Zhipu GLM.
|
|
39
|
+
- **Subtitle model**: polishing, translation, glossary. DeepSeek by default; the list shows every model configured in DSH and marks the ones that read images.
|
|
40
|
+
|
|
41
|
+
Online transcription uses the model providers you have set up in DSH (Models page) — OpenAI, Google, Groq, SiliconFlow, Zhipu GLM: their key and address work as they are, whatever the key is called. A service DSH doesn't have yet can get a key right on the video page; it is checked, then saved in DSH.
|
|
42
|
+
|
|
43
|
+
## Restreaming
|
|
44
|
+
|
|
45
|
+
In the player, open **Restream**, add a platform (paste the server address and stream key from the platform's own streaming tool — e.g. Bilibili 直播姬, Douyin 直播伴侣, WeChat Channels Assistant), tick the ones to use and start. It starts from where you are watching, with the subtitles you see; for a live stream that is a few seconds behind live, so the lines are ready. Stream keys stay on this computer.
|
|
46
|
+
|
|
47
|
+
## Streaming from OBS
|
|
48
|
+
|
|
49
|
+
Open the video page: the empty page shows the server address and stream key. In OBS choose the "Custom" service and paste them. Default ports: RTMP 1935, SRT 9000 (changeable in the plugin settings).
|
|
50
|
+
|
|
51
|
+
## Where things are saved
|
|
52
|
+
|
|
53
|
+
Recordings, subtitles, frames and clips live in `~/.dsh/live/jobs/<id>/` (changeable in the plugin settings).
|
|
54
|
+
|
|
55
|
+
## Known limits
|
|
56
|
+
|
|
57
|
+
- Xiaoyuzhou video episodes only offer a one-minute preview on the web (the full video needs the app and a login), so they play as the full audio with the cover.
|
|
58
|
+
- Site videos that need a login use a browser's saved login (Settings → Site login).
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
[PolyForm Noncommercial 1.0.0](LICENSE.md): use, change and share it freely for anything except commercial purposes. No copyleft: your own changes can stay under whatever terms you like, as long as the use is noncommercial.
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# dsh-vidi
|
|
2
|
+
|
|
3
|
+
[English](README.md) | 中文
|
|
4
|
+
|
|
5
|
+
DeepSeek Harness 里的视频工具:看直播、视频和播客,同时出任意语言的字幕,再让 DeepSeek 帮你截图、剪片段、下载、总结。
|
|
6
|
+
|
|
7
|
+
## 能做什么
|
|
8
|
+
|
|
9
|
+
- **打开任何来源**:YouTube、B 站等 yt-dlp 支持的网站,小宇宙节目,m3u8 / rtmp / srt 直播流,本地文件(直接拖进来),也可以用 OBS 推流过来。
|
|
10
|
+
- **自动出字幕**:视频一打开就开始,可以随时暂停、继续。单语、双语都行,主字幕和副字幕各选一种语言;网站自带的字幕也能直接显示,或者作为参考。
|
|
11
|
+
- **两种节奏**:实时模式边播边出;精修模式晚一点出,但会结合上下文把听错的词改对。
|
|
12
|
+
- **字幕模型会看画面**:精修时结合视频页面的标题、简介、评论,所选模型能看图时还会带上那一段的画面,顺便整理这期视频的词表(人名、术语)。
|
|
13
|
+
- **在视频旁边和 DeepSeek 对话**:截取此刻、剪下这段、总结要点、下载原片,都在同一个会话里完成,文件存在视频目录下。
|
|
14
|
+
- **转播**:把视频连同画面里的字幕推到 B站、抖音、快手、视频号、斗鱼、虎牙、YouTube、Twitch 或任意 RTMP/SRT 地址,可以同时推多个平台;每个平台各自连接、断了各自重连。
|
|
15
|
+
- **导出**:SRT / VTT 字幕,逐句或按段落的文字稿,带字幕轨的片段。
|
|
16
|
+
- 中英文界面,手机上也能用。
|
|
17
|
+
|
|
18
|
+
## 安装
|
|
19
|
+
|
|
20
|
+
在 DSH 里打开 **插件 → 安装第三方插件**,填 `dsh-vidi`。装好后侧栏会出现 **视频** 按钮;在对话里贴视频链接,输入框上方也会出现「在视频里打开」。
|
|
21
|
+
|
|
22
|
+
需要 DSH 0.2.2 或更新的版本。
|
|
23
|
+
|
|
24
|
+
### 依赖
|
|
25
|
+
|
|
26
|
+
| 工具 | 用途 | 安装(macOS) |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| ffmpeg | 播放、录制、截图、剪辑 | `brew install ffmpeg` |
|
|
29
|
+
| yt-dlp | 打开网站视频 | `brew install yt-dlp` |
|
|
30
|
+
| whisper.cpp(可选) | 在本机转写 | `brew install whisper-cpp`,再下载模型 `ggml-large-v3-turbo-q5_0.bin` 到 `~/.dsh/live/models/` |
|
|
31
|
+
|
|
32
|
+
不装 whisper.cpp 也能用:在设置里把转写模型换成在线服务即可。
|
|
33
|
+
|
|
34
|
+
## 两个模型
|
|
35
|
+
|
|
36
|
+
设置(齿轮)里分开配置:
|
|
37
|
+
|
|
38
|
+
- **转写模型**:把语音转成文字。默认用本机 Whisper;也可以选 OpenAI、Google Gemini、Groq、硅基流动、智谱 GLM。
|
|
39
|
+
- **字幕模型**:精修、翻译、整理词表。默认 DeepSeek,列表里是你在 DSH 里配置的所有模型,能看图的会标出来。
|
|
40
|
+
|
|
41
|
+
在线转写直接用你在 DSH 模型设置里配好的服务商(OpenAI、Google、Groq、硅基流动、智谱 GLM),它们的密钥和地址拿来就用,不管密钥叫什么名字。DSH 里还没配的服务,也可以在视频页里直接填密钥,验证后存进 DSH。
|
|
42
|
+
|
|
43
|
+
## 转播
|
|
44
|
+
|
|
45
|
+
在播放器里打开 **转播**,添加平台(从平台自己的开播工具里复制服务器地址和推流码,比如 B站直播姬、抖音直播伴侣、视频号助手),勾选要推的平台,开始即可。从你正在看的位置开始,带着你看到的字幕;直播时会比直播进度晚几秒,等字幕跟上。推流码只存在这台电脑上。
|
|
46
|
+
|
|
47
|
+
## 用 OBS 推流
|
|
48
|
+
|
|
49
|
+
打开视频页,空白处会显示推流地址和串流密钥。OBS 里服务选「自定义」,填进去就行。默认端口 RTMP 1935、SRT 9000,可在插件设置里改。
|
|
50
|
+
|
|
51
|
+
## 数据放在哪
|
|
52
|
+
|
|
53
|
+
录像、字幕、截图、片段都在 `~/.dsh/live/jobs/<编号>/`,可在插件设置里改目录。
|
|
54
|
+
|
|
55
|
+
## 已知限制
|
|
56
|
+
|
|
57
|
+
- 小宇宙的视频节目在网页上只有 60 秒预览,完整视频要在 App 里登录才能看,所以按完整音频加封面播放。
|
|
58
|
+
- 需要登录才能看的网站视频,会借用浏览器里已登录的状态(设置 → 网站登录)。
|
|
59
|
+
|
|
60
|
+
## 许可
|
|
61
|
+
|
|
62
|
+
[PolyForm Noncommercial 1.0.0](LICENSE.md):除商业用途外,可以随意使用、修改和分享;没有传染性,你自己的改动用什么条款都行,只要不拿去商用。
|
package/cordis.patch.yml
ADDED
package/icon.svg
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#6E8DFF"/>
|
|
5
|
+
<stop offset="1" stop-color="#3552EC"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect x="30" y="38" width="196" height="138" rx="34" fill="none" stroke="url(#g)" stroke-width="20"/>
|
|
9
|
+
<path d="M110 80v54a6 6 0 0 0 9.1 5.1l44.5-27a6 6 0 0 0 0-10.2l-44.5-27A6 6 0 0 0 110 80z" fill="url(#g)"/>
|
|
10
|
+
<rect x="42" y="200" width="112" height="22" rx="11" fill="url(#g)"/>
|
|
11
|
+
<rect x="172" y="200" width="42" height="22" rx="11" fill="#FFC53D"/>
|
|
12
|
+
</svg>
|