cortico-world-mosey 2.1.2 → 2.3.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/CHANGELOG.md +46 -0
- package/DESIGN.md +467 -467
- package/LICENSE +21 -21
- package/NOTICE.md +22 -22
- package/describe.json +8 -1
- package/package.json +1 -1
- package/src/ENV_PROMPT.md +5 -2
- package/src/bilibili.js +200 -7
- package/src/browser.js +54 -0
- package/src/config.js +6 -2
- package/src/definition.js +90 -90
- package/src/douyin.js +7 -27
- package/src/store.js +246 -246
- package/src/tools.js +12 -1
- package/src/world.js +85 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## 2.3.0
|
|
4
|
+
|
|
5
|
+
**B站也能抽帧了——用播放器进度条的预览图,不用登录、不开播放页、不抢你的浏览器。**
|
|
6
|
+
|
|
7
|
+
以前设置里的「看视频抽几帧」只对抖音有效:抖音没有字幕,只能靠截图看画面;B站是纯接口读取(字幕/弹幕/评论),从头到尾没打开过播放页,所以那个数字对 B站一直是空的。
|
|
8
|
+
|
|
9
|
+
### 怎么做的
|
|
10
|
+
|
|
11
|
+
- 走 B站 自己的进度条预览图接口(`player/videoshot`):一次请求返回一张 10×10 的精灵图 + 每一帧的时间,按时间挑最近的一格裁出来。
|
|
12
|
+
- 裁剪没有引入图片库,用的是已经依赖的无头浏览器:把精灵图铺上去,截视口那么大一块。浏览器懒启动、闲置 3 分钟自己关,不常驻。
|
|
13
|
+
- 不用登录态,也不影响「B站不登录也能用」这个定位。
|
|
14
|
+
|
|
15
|
+
### 要知道的局限
|
|
16
|
+
|
|
17
|
+
- 分辨率只有 **160×90**:看得出「在室内 / 在做饭 / 画面很暗」,**看不清字和细节**。
|
|
18
|
+
- 每一帧的间隔约 6 秒,做不到精确到秒。
|
|
19
|
+
- 有些视频/番剧不提供预览图,这时会如实返回「没拿到预览图」,不会硬凑一张。
|
|
20
|
+
|
|
21
|
+
顺手把「找 playwright-core」的逻辑抽成了共享模块 `src/browser.js`,抖音和 B站 用的是同一份,不再各写一遍。
|
|
22
|
+
|
|
23
|
+
## 2.2.0
|
|
24
|
+
|
|
25
|
+
**B站视频不再「只看了开头」——字幕改成按时间分段抽样,还能定点读某一段。**
|
|
26
|
+
|
|
27
|
+
以前 `open` 一条 10 分钟的视频,字幕只取开头 12 句,等于只知道前十几秒在讲什么;弹幕反倒是全片均匀抽的。想让她知道后面发生了什么,把「带几句字幕」调到 60 也没用——还是开头那 60 句,只是更长的开头,token 倒是涨了一大截,容易把上下文顶到压缩。
|
|
28
|
+
|
|
29
|
+
### 字幕按时间分段抽样
|
|
30
|
+
|
|
31
|
+
- 把整条字幕按时间切成几段,**每段取连续 2-3 句**,从开头一路覆盖到结尾。
|
|
32
|
+
- 为什么不是像弹幕那样单句散抽:字幕是台词,单句抽出来没上下文,连不成剧情。
|
|
33
|
+
- 为什么按字幕自己的时间轴切:很多视频的字幕只覆盖一部分,按视频时长切会有整段落在没字幕的地方。
|
|
34
|
+
- **条数不变,token 不变**,只是覆盖面从「开头 12 句」变成「全片 4 段各 3 句」。
|
|
35
|
+
|
|
36
|
+
### 想知道某一段:`at` 定点读
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
stroll action=open url=<链接> at=5:30
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
返回 5:30 前后约半分钟的字幕和弹幕。这比把字幕条数拉到 60 省得多,也不会把上下文撑爆。
|
|
43
|
+
|
|
44
|
+
### 别把抽样当成全片
|
|
45
|
+
|
|
46
|
+
- `mediaNote` 会写清楚:「全片 320 句字幕,这里抽了 12 句(分 4 段,0:00–9:50),中间是跳着读的」。
|
|
47
|
+
- 字幕总字数有硬上限(默认 1500 字),超了按条数匀着截断——即使把条数拉满也不会一口气撑爆上下文。
|
|
48
|
+
|
|
3
49
|
## 2.1.2
|
|
4
50
|
|
|
5
51
|
**修「私信发进了群聊」——会话没切过去也照发。**
|