bilisum 1.19.3-alpha.1 → 1.20.0-alpha.2
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 +118 -6
- package/bin/bilisum.js +515 -177
- package/lib/api.js +185 -0
- package/lib/args.js +142 -0
- package/lib/env.js +138 -0
- package/lib/output.js +142 -0
- package/lib/runtime.js +233 -0
- package/lib/server.js +394 -0
- package/lib/token.js +68 -0
- package/package.json +5 -3
- package/runtime/VERSION +1 -1
- package/runtime/apps/service/pyproject.toml +1 -1
- package/runtime/apps/service/src/video_sum_service/app.py +9 -0
- package/runtime/apps/service/src/video_sum_service/cli_idle.py +92 -0
- package/runtime/apps/service/src/video_sum_service/routers/videos.py +6 -1
- package/runtime/apps/service/src/video_sum_service/schemas.py +1 -0
- package/runtime/apps/web/static/assets/index-POgEkQWf.js +357 -0
- package/runtime/apps/web/static/assets/index-S9QooflZ.css +1 -0
- package/runtime/apps/web/static/index.html +33 -33
- package/runtime/packages/core/pyproject.toml +1 -1
- package/runtime/packages/core/src/video_sum_core/models/tasks.py +1 -0
- package/runtime/packages/core/src/video_sum_core/pipeline/real.py +5 -1
- package/runtime/packages/infra/pyproject.toml +1 -1
- package/runtime/apps/web/static/assets/index-BpKLKCCn.js +0 -429
- package/runtime/apps/web/static/assets/index-Dh6OVj_G.css +0 -1
package/README.md
CHANGED
|
@@ -1,11 +1,123 @@
|
|
|
1
|
-
# BiliSum
|
|
1
|
+
# BiliSum CLI
|
|
2
2
|
|
|
3
|
-
`bilisum`
|
|
3
|
+
`bilisum` 是 BiliSum 的命令行控制面:**控制已安装的 BiliSum(桌面端 / 已运行的服务),或完全独立运行**(未安装桌面端也能用),让 Agent / 脚本做视频理解(转写 + 摘要)。
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
# 摘要一个视频(默认输出:元数据 + 总结内容,不含字幕)
|
|
7
|
+
bilisum summarize "https://www.bilibili.com/video/BV1xxxx"
|
|
8
|
+
|
|
9
|
+
# 快速摘要卡片(跳过知识笔记 LLM 调用,更快)
|
|
10
|
+
bilisum brief "https://www.bilibili.com/video/BV1xxxx"
|
|
11
|
+
|
|
12
|
+
# 输出 JSON 给 Agent 解析(stdout 只含 JSON,进度在 stderr)
|
|
13
|
+
bilisum summarize "https://www.bilibili.com/video/BV1xxxx" --format json
|
|
14
|
+
|
|
15
|
+
# 总结 + 追加转写全文 / 只要转写
|
|
16
|
+
bilisum summarize "https://www.bilibili.com/video/BV1xxxx" --with-transcript
|
|
17
|
+
bilisum transcribe ./demo.mp4 --output transcript.txt
|
|
18
|
+
|
|
19
|
+
# 多 P / 异步
|
|
20
|
+
bilisum summarize "https://www.bilibili.com/video/BV1xxxx" --page 2
|
|
21
|
+
bilisum summarize "https://www.bilibili.com/video/BV1xxxx" --all-pages --no-wait
|
|
22
|
+
|
|
23
|
+
# 任务管理
|
|
24
|
+
bilisum status <task-id> --json
|
|
25
|
+
bilisum tasks --limit 10
|
|
26
|
+
|
|
27
|
+
# 帮助(无参数执行也会显示 help,不会自动启动服务)
|
|
28
|
+
bilisum --help
|
|
29
|
+
bilisum summarize --help
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 环境(Environment)
|
|
33
|
+
|
|
34
|
+
四种环境决定连接哪个服务、用哪套数据:
|
|
35
|
+
|
|
36
|
+
| 环境 | 说明 | 地址 |
|
|
37
|
+
|------|------|------|
|
|
38
|
+
| `desktop` | 连接桌面端服务(控制现有程序,同库同知识库) | `127.0.0.1:3838` |
|
|
39
|
+
| `cli` | **独立环境**:自带运行时与配置,无需桌面端 | `127.0.0.1:3839` |
|
|
40
|
+
| `custom` | 任意 host/port/token(Docker、远程) | 自定 |
|
|
41
|
+
| `auto` | 默认:桌面端可达则 desktop,否则 cli | 自动 |
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
bilisum env # 查看环境状态
|
|
45
|
+
bilisum env use cli # 切换到独立环境
|
|
46
|
+
bilisum env setup # 初始化独立环境(内置运行时,需 Python 3.12)
|
|
47
|
+
bilisum --setting # 打开当前环境的网页设置(cli 环境无需桌面端)
|
|
48
|
+
bilisum summarize <url> --environment cli # 单次使用某环境
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
> 完整文档见 [BiliSum CLI 使用指南](https://github.com/lycohana/BiliSum/blob/master/docs/cli.md)。
|
|
52
|
+
|
|
53
|
+
## 输出格式
|
|
54
|
+
|
|
55
|
+
- **`markdown`(默认)**:YAML 元数据头(task_id / status / title / video_id / source)+ 总结内容(`summarize` 为知识笔记,`brief` 为摘要卡片),**不含字幕**;加 `--with-transcript` 会追加转写全文。
|
|
56
|
+
- **`json`**:完整任务对象(含 `result`,字幕在 `result.transcript_text`)。
|
|
57
|
+
- **`transcript`**:仅转写全文(`bilisum transcribe` 的默认输出)。
|
|
58
|
+
|
|
59
|
+
任务等待期间进度显示在 stderr(`[task_id] 12% [stage] 消息`),stdout 保持干净。
|
|
60
|
+
|
|
61
|
+
## 它如何"控制现有程序"
|
|
62
|
+
|
|
63
|
+
- 默认连接桌面端服务 `http://127.0.0.1:3838`,任务、结果、知识库都与桌面端**同一个数据库**。
|
|
64
|
+
- 访问令牌自动获取:`--token` → `VIDEO_SUM_ACCESS_TOKEN` → 桌面端自己的 token 文件(`%APPDATA%\BiliSum\access-token.json` 等)→ 服务侧 `{数据根}\data\auth.json`。桌面端正在运行时通常无需任何配置。
|
|
65
|
+
- 数据根默认与桌面端一致(Windows `%LOCALAPPDATA%\bilisum`,macOS `~/Library/Application Support/bilisum`),可用 `--data` / `BILISUM_DATA_ROOT` 覆盖。
|
|
66
|
+
- 配置(LLM / ASR Key 等)跟随服务端设置,桌面端里配好了,CLI 直接用。
|
|
67
|
+
|
|
68
|
+
## 服务不在线时
|
|
69
|
+
|
|
70
|
+
`summarize / brief / transcribe / status / tasks` 会先探活;如果 `127.0.0.1:3838` 没有服务,就**用桌面端数据目录自动后台拉起一个**(优先用桌面端自带的托管 Python 运行时,其次系统 Python 3.12),等 `/health` 就绪后继续。CLI 拉起的服务进程记录在 `{数据根}\cli-runtime-<port>.json`:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
bilisum start --no-open # 前台启动(可选,一般不用)
|
|
74
|
+
bilisum stop # 停止 CLI 拉起的服务
|
|
9
75
|
```
|
|
10
76
|
|
|
11
|
-
|
|
77
|
+
**无任务自动关闭**:CLI 后台拉起的服务默认空闲 10 分钟(且无排队/运行中任务)自动退出,可用 `--idle-timeout <sec>` 或 `BILISUM_CLI_IDLE_TIMEOUT` 环境变量调整。该机制只作用于 CLI 自己拉起的服务(通过 `VIDEO_SUM_CLI_MANAGED` 标记),**桌面端启动的服务绝不会被自动关闭**。
|
|
78
|
+
|
|
79
|
+
> 注意:桌面端自己运行的服务不受 `bilisum stop` 影响(没有 cli-runtime 记录时会提示)。
|
|
80
|
+
|
|
81
|
+
## 安装
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm install -g bilisum # 或 npx bilisum ...
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
包内**不包含 Python 运行时**(CLI 是纯客户端),首次使用要求机器上已有桌面版 BiliSum 或 Python 3.12。
|
|
88
|
+
|
|
89
|
+
## 常用选项
|
|
90
|
+
|
|
91
|
+
| 选项 | 说明 |
|
|
92
|
+
|------|------|
|
|
93
|
+
| `--host / --port` | 服务地址(默认 `127.0.0.1:3838`) |
|
|
94
|
+
| `--data <path>` | 桌面端数据根(默认 `%LOCALAPPDATA%\bilisum`) |
|
|
95
|
+
| `--token <token>` | 访问令牌(默认自动读桌面端 token) |
|
|
96
|
+
| `--format json\|markdown\|transcript` | 输出格式,默认 markdown |
|
|
97
|
+
| `--output <path> / -o` | 结果写入文件 |
|
|
98
|
+
| `--with-transcript` | markdown 输出追加转写全文(默认不含字幕) |
|
|
99
|
+
| `--page <n> / --all-pages` | 多 P 视频分 P 选择 |
|
|
100
|
+
| `--visual-note <mode>` | `text` / `frame_insert` / `vlm_integrated` |
|
|
101
|
+
| `--no-wait` | 只创建任务,立即返回 task_id |
|
|
102
|
+
| `--idle-timeout <sec>` | CLI 后台服务空闲自动关闭秒数(默认 600) |
|
|
103
|
+
| `--timeout <sec>` | 等待完成超时(默认 3600) |
|
|
104
|
+
| `--quiet` | 抑制 stderr 进度输出 |
|
|
105
|
+
|
|
106
|
+
> 说明:任务转写与摘要在服务端一体执行;`transcribe` 输出转写全文,任务仍会顺带生成摘要。语言 / 摘要模式等参数跟随服务端设置。
|
|
107
|
+
|
|
108
|
+
> 完整文档见 [BiliSum CLI 使用指南](https://github.com/lycohana/BiliSum/blob/master/docs/cli.md)。
|
|
109
|
+
|
|
110
|
+
## 桌面端内置
|
|
111
|
+
|
|
112
|
+
桌面版 BiliSum 打包时会把 CLI 一并放进安装目录的 `resources/cli`,可用:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
node "<安装目录>\resources\cli\bin\bilisum.js" summarize "https://..."
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 开发
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm test --prefix packages/npx # node:test 单元测试
|
|
122
|
+
npm run npx:test # 版本 + 单测 + npm pack 校验(根目录)
|
|
123
|
+
```
|