cortico-world-mosey 1.3.1 → 1.4.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/CHANGELOG.md +43 -0
- package/README.md +8 -4
- package/describe.json +2 -2
- package/docs/panel-preview.html +556 -514
- package/docs/panel-preview.png +0 -0
- package/package.json +4 -4
- package/src/ENV_PROMPT.md +87 -79
- package/src/bilibili.js +163 -1
- package/src/config.js +419 -427
- package/src/douyin.js +331 -33
- package/src/policy.js +219 -217
- package/src/tools.js +100 -99
- package/src/world.js +433 -31
- package/webui/client.js +132 -23
- package/webui/style.css +34 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## 1.4.2
|
|
4
|
+
|
|
5
|
+
- **两个私信按钮分平台命名**:「谁找你」右上角从「让她私信我」改成 **「B站私信我」**,和旁边的「抖音私信我」对齐,不用再猜点的是哪个平台
|
|
6
|
+
- **「看现在登的号」改名「查登录号」**:它只读不写——读出桌宠此刻登录的抖音号(昵称 + 抖音号),再和主人绑的号对比。作用只有一个:判断抖音私信能不能发(同一个号就发不了自己)。标签和悬停说明都写清楚了
|
|
7
|
+
- **修:把「未登录」当昵称存下来**。页面没渲染完时 `h1` 是「未登录」这类占位,之前会原样存着,面板就显示「已登录 · 后台待命 · 未登录」。现在占位词会过滤掉,没有有效昵称就不显示
|
|
8
|
+
|
|
9
|
+
- **修:抖音私信点「私信」一直卡到超时**。主页上那个「私信」在 DOM 里有两份,一份是隐藏模板(宽高 0);`getByText().first()` 正好挑中隐藏那份,于是每次都在等它变可见,等到 6 秒超时——她说的「按钮一直当它是隐藏的,两次都卡死」就是这个。现在改成逐个挑**可见且有点击区域**的那个,再等聊天框真正挂上来才输入
|
|
10
|
+
- **修:私信失败后浏览器不关**。以前抛错就直接退出,`scheduleClose` 没跑到,后台会堆一堆 Chrome 进程。现在 `finally` 里兜底收窗口
|
|
11
|
+
- **修:读「当前登录的抖音号」会读成别人**。`/user/self` 实测不会跳到 `/user/<sec_uid>`;页面里的 `<a>` 又基本是推荐位和广告(实测点开是「乐游宝宝亲子游泳」「仁青汽车」)。现在改成:先从页面读出「抖音号:xxx」,再把 HTML 里出现的 sec_uid 逐个打开核对,抖音号对上的那个才算自己——实测读到 `穹 / 90374343836`
|
|
12
|
+
- **私信发没发出去能判断了**:回车后看输入框有没有清空(contenteditable 清空后会剩一个零宽字符,`trim()` 去不掉,得单独剥),没清空就报 `NOT_SENT`;回车只是换行的版本会自动改点发送按钮,不再假装成功
|
|
13
|
+
- **面板里回私信走同一条发送逻辑**:`replyDm` 也换成「等可见输入框 + 发送 + 校验」,失败同样收窗口
|
|
14
|
+
- **抖音号解析说实话**:实测抖音的搜索页在后台是空壳(只有导航、没有结果,换 UA 也一样),所以「抖音号 → sec_uid」这条路基本走不通。现在会直接说清原因,并给两个能用的办法:主页分享链接、或 sec_uid
|
|
15
|
+
- **抖音号填的就是她自己**时当场识破:拿她登录号的「抖音号」比对,命中就直说「自己不能给自己发私信」,不用等点发送才失败
|
|
16
|
+
|
|
17
|
+
## 1.4.1
|
|
18
|
+
|
|
19
|
+
- **主人抖音可以填抖音号了**。以前只认 `MS4w` 开头的 sec_uid——那串东西在 App 里根本看不到,只能从主页分享链接里抠。现在 `主人抖音` 三种都收:sec_uid、主页链接(整段分享文案也行)、抖音号;填了抖音号/链接,面板会显示「待解析」并多一个 **「绑定这个号」** 按钮,点一下解析成 sec_uid 存回配置(第一次发私信时也会自动解析)
|
|
20
|
+
- **解析会核对身份**:按抖音号搜到候选后,会打开主页读「抖音号:xxx」比对,不会随手把第一个同名用户当成主人——绑错人比绑不上更糟;核不到会明说「按同名绑的,发私信前对一眼」
|
|
21
|
+
- **消息卡标明平台**:`谁找你` 里每条都带 `B站` / `抖音` 小标签(私信、回复、@ 都有),不用靠头像猜是哪个平台来的
|
|
22
|
+
- **新增「查登录号」**:面板「账号 → 抖音」多一个按钮,读出桌宠此刻登录的抖音号昵称,并和主人绑的号对比
|
|
23
|
+
- **说清抖音私信的硬限制**:抖音不允许给自己发私信。如果桌宠登录的号就是你绑的主人号,那这条路永远发不出去(B站不受影响)。现在面板会标「(就是现在登录的号)」,发私信时会直接说明原因,而不是丢一句「没有私信按钮」
|
|
24
|
+
- **修:她一直说「抖音主人是空的」**。配置早存好了,但 `stroll.owner` 是**每次对话开始**渲染进系统提示的,改完设置当前这轮对话仍是旧值——1.4.0 让工具读到新值,却没管提示词里的那份。现在提示词里明写「这一行是对话开始时读的,别拿旧值下结论,先看 `stroll_policy`」,绑定状态也改成现读
|
|
25
|
+
- **面板文案对齐**:两个账号卡都写「B站主人已绑 · UID …」「抖音主人已绑 · 昵称」,没绑就写「没绑」,待解析写「待解析」;顶部徽章同一句式
|
|
26
|
+
- **「B站私信我」分平台**:绑了抖音主人后,多一个「抖音私信我」,用来单独验证抖音这条链路
|
|
27
|
+
|
|
28
|
+
## 1.4.0
|
|
29
|
+
|
|
30
|
+
- **私信终于能收到了**。原来 `inbox` 只读「回复」和「@」,私信一条都没读,所以主人发过去她永远说「收不到」。现在 B站走 `session_svr/get_sessions` + `fetch_session_msgs`,抖音走 `/chat` 页面;两边都会出现在「谁找你」里,带未读条数
|
|
31
|
+
- **面板能直接回私信**:不用跳网页,写完就发;B站回完顺手把对方会话标为已读,红点会消
|
|
32
|
+
- **抖音收件箱原来读错了地址**:代码里用的是 `/user/self`,那页只有导航壳,什么都读不到;正确的是 `/chat`。顺手把昵称、时间、最后一句、未读数分开解析,相对时间(「11分钟前」「周四」)也换成了近似时间戳用于排序
|
|
33
|
+
- **新按钮「B站私信我」**:在「谁找你」右上角,一键让她给你发条私信,用来验证投递通不通
|
|
34
|
+
- **修:抖音主人「绑定不成功」**。设置里其实已经存下了 sec_uid,但面板和给她的提示词里只写了 B站主人,她看不到抖音那份,就以为没绑。现在两边分开显示,格式不对会说格式不对(`MS4w` 开头)
|
|
35
|
+
- **修:私信设备号每次重启都换**。B站私信要稳定的 `dev_id`,以前是进程内随机生成、从不落盘,重启换一个设备号容易被当成陌生设备。现在生成一次就存进 `state.json`
|
|
36
|
+
- **给主人的私信改成不限量**:不进每日额度、不做「同一个对象一天一次」去重,只保留 5 秒防连点。面板的额度条也从 6 格变 5 格(私信那格撤掉),设置里的「每天最多私信」一并隐藏
|
|
37
|
+
- **修:改了设置她不认**。抖音 sec_uid 明明填了,她却说「抖音没绑」——因为运行中的实例还拿着启动时那份配置。现在读主人 ID 时会先看一眼磁盘上的 `config.json`(两秒缓存),改完设置不用重启
|
|
38
|
+
- **顶部两个主人标签对齐**:`B站主人 已绑 / 没绑`、`抖音主人 已绑 / 没绑`,两边同一句式
|
|
39
|
+
|
|
40
|
+
## 1.3.2
|
|
41
|
+
|
|
42
|
+
- **修:点登录,窗口闪一下就没了**。`getPage()` 里隐式调了一次 `launch()`,没带窗口模式,于是它拿「后台模式」的默认值和当前的有头窗口一比,认定「模式不一致」,当场把刚开的登录窗关掉、重开成无头。B站和抖音都中招。现在 `getPage()` 沿用当前模式,不再偷偷换
|
|
43
|
+
- **修:旧窗口的关闭事件会误伤新窗口**。关窗回调没有校验是不是自己那个 context,旧窗口晚到的 close 会把新窗口的记录一起清掉。现在只处理自己的
|
|
44
|
+
- **换号更干净**:登录窗打开后、跳转前先把目标站点的 cookie 清掉,不用再多开一次无头窗口预热
|
|
45
|
+
|
|
3
46
|
## 1.3.1
|
|
4
47
|
|
|
5
48
|
- **修:「重新登录」点了没反应、不弹窗**。1.3.0 里加了一条「已登录就直接收」的快捷路径,结果已登录时点按钮只会回一句「已经是登录状态」,窗口根本不打开。现在只要点登录就一定开窗,不再抄近路
|
package/README.md
CHANGED
|
@@ -49,7 +49,9 @@
|
|
|
49
49
|
- `open`:你发什么链接就看什么;默认**后台**(headless)读标题/简介/热评,不弹窗;要一起看才开窗口。B站视频、**动态**(`t.bilibili.com/…`、`/opus/…`)、**专栏**(`/read/cv…`)都认
|
|
50
50
|
- `comments`:只读评论区,不把这条记进「最近看过」;视频、动态、专栏都能读,返回作者、原文、赞数和 rpid
|
|
51
51
|
- `inbox`:谁回复了你、谁 @ 了你;B站消息按时间排,抖音消息尽力而为
|
|
52
|
-
-
|
|
52
|
+
- 面板「谁找你」:**点一条就用你自己的浏览器打开**(评论会直接跳到 `#reply<rpid>`);能展开全部 15 条、按「私信 / 评论 / @ 我」筛选、标已读、顺手回一句
|
|
53
|
+
- **私信收发都通了**:B站的私信会话和消息直接读接口,抖音读 `/chat` 页面;两边的私信都进「谁找你」,标着「1 条未读」。在面板点「回私信」就能回,B站回完还会替你把会话标成已读
|
|
54
|
+
- **「B站私信我」**:谁找你右上角一个按钮,点一下她就给你发条 B站私信,用来验证投递链路
|
|
53
55
|
- **动态/专栏的评论也能回**:视频、动态、专栏用同一套回复逻辑;面板里点「回一句」直接发到楼里,不用再跳网页
|
|
54
56
|
- `search`:B站搜索(WBI 签名)
|
|
55
57
|
- `following`:关注的人在发什么。B站走动态流接口(要登录),带作者、标题、发布时间和链接;抖音那边的关注页在后台是空壳,读不到会直言,不拿热门凑数
|
|
@@ -69,7 +71,7 @@
|
|
|
69
71
|
- 关注 / 取关(默认每天 3 个,需批准)
|
|
70
72
|
- 评论 / 回复(默认每天 6 条,需批准;禁止链接、广告、复读)。**动态、专栏下的评论一样能回**:自动读详情拿到真正的评论区 `oid/type`,不再只认 BV 号
|
|
71
73
|
- 发动态(B站纯文字,可 @ 主人;默认每天 2 条)
|
|
72
|
-
- 私信主人(B
|
|
74
|
+
- 私信主人(B站走接口,抖音走页面;**只发主人,也不限量**,不占每日额度)· **收**:评论、@、私信都会进「谁找你」
|
|
73
75
|
- 稍后再看(B站,低风险,可自动)
|
|
74
76
|
- 面板里的「看这条评论」「TA 的主页」「在浏览器看」「稍后再看」都是一键直达,不占她的后台浏览器
|
|
75
77
|
- **评论区弹层**:面板「这一条」旁边点「看评论」,在弹层里翻热评、看原文,点「回这句」当场回到楼里
|
|
@@ -161,7 +163,9 @@ corepack pnpm install
|
|
|
161
163
|
|
|
162
164
|
1. **登录 B站**:如果应用里已有 B站登录(比如 `穹和黑助`),会自动复用;没有就点「登录 B站」,在弹出的窗口里扫码,登上后会自动收回登录态并关窗。要换号先点「退出登录」。
|
|
163
165
|
2. **登录抖音**:点「登录 / 验证」,在弹出窗口扫码;登录态保存在 `data/stroll/douyin-profile`,以后不用重复扫。换号同样先点「退出登录」。
|
|
164
|
-
3. **设主人**:设置里填 `主人 B站 UID`(用于 @
|
|
166
|
+
3. **设主人**:设置里填 `主人 B站 UID`(用于 @ 和 B站私信)。填了 UID 后程序会自己查昵称,查不到才用 `主人 B站昵称`。
|
|
167
|
+
- 想让她发抖音私信,再填 `主人抖音`:**最稳的是主页分享链接**(抖音 App →「我」→ 分享 → 复制链接,整段粘进来),也可以直接填 `MS4w` 开头的 sec_uid。抖音号也能填、面板上会出「绑定这个号」,但抖音的搜索页对自动化浏览器基本是空的(反爬),解析成功率不高,所以别把这条路当唯一。
|
|
168
|
+
- **抖音私信有个硬限制**:抖音不允许给自己发私信。所以桌宠登录的抖音号必须和你自己的号是两个号;如果只有一个号,抖音这条路走不通(B站私信不受影响)。面板上的「查登录号」会告诉她现在用的是哪个号、和你绑的是不是同一个。
|
|
165
169
|
4. **审批方式**:建议先用 `全部等我批准`。确认行为稳定后,再考虑 `点赞自动,其余等我批准`。
|
|
166
170
|
5. **兴趣词**:填你真正爱看的,比如 `无畏契约, 独立游戏, 做饭`。只影响本地排序,不花 token。
|
|
167
171
|
|
|
@@ -220,7 +224,7 @@ corepack pnpm install
|
|
|
220
224
|
|
|
221
225
|
- **用小号**:默认复用应用里的 B站登录(通常就是桌宠号);不要把大号绑进来。抖音也建议单独号。
|
|
222
226
|
- **一号一个写手**:同一个账号只让一个插件负责写(点赞 / 评论 / 关注)。读可以并存,写会叠加频控;同时开两个,触发验证的概率明显变高。
|
|
223
|
-
- **量很小**:默认每天 16 赞、6 评、3 关、2
|
|
227
|
+
- **量很小**:默认每天 16 赞、6 评、3 关、2 动态;周上限更紧(赞 120 / 评 40)。**私信不限额**(只发给主人,按聊天算,只防连点)嫌多就在面板点回「日常」或「安静」。
|
|
224
228
|
- **像人**:随机停顿、单线程、先看后动、不批量、不秒回、不复制粘贴同一句。
|
|
225
229
|
- **不绕验证**:遇到验证码/滑块/“操作频繁”就停,不接打码、不换 IP、不伪造签名。
|
|
226
230
|
- **不碰敏感内容**:政治、医疗、投资建议、隐私、未成年人、骂战,一律不评。
|
package/describe.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"tools": [
|
|
3
3
|
{
|
|
4
4
|
"name": "stroll",
|
|
5
|
-
"description": "出门看看(只读,默认后台,不弹网页)。action=status 查登录/额度;brief 一次拿全(推荐,省 token);feed 刷候选;following 看关注的人在发什么(B站/抖音);open 后台看指定视频/动态/专栏(B站链接都行);comments 只读评论区;inbox
|
|
5
|
+
"description": "出门看看(只读,默认后台,不弹网页)。action=status 查登录/额度;brief 一次拿全(推荐,省 token);feed 刷候选;following 看关注的人在发什么(B站/抖音);open 后台看指定视频/动态/专栏(B站链接都行);comments 只读评论区;inbox 看谁回了你(评论/@/私信都算,私信带 kind=dm 和未读条数);search 搜 B站;weekly 看这周小结;books 看书库、read 读一段、note 记一句摘抄;watch 一起看(watch_action=start/stop/status,start 才开窗);login 打开登录窗;history 看最近做过什么。先 brief,少反复 status。",
|
|
6
6
|
"parameters": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
},
|
|
136
136
|
"target": {
|
|
137
137
|
"type": "string",
|
|
138
|
-
"description": "视频 BV/链接、B站动态链接(t.bilibili.com/… 或 /opus/…)、专栏 cv 号;关注时是对方 UID
|
|
138
|
+
"description": "视频 BV/链接、B站动态链接(t.bilibili.com/… 或 /opus/…)、专栏 cv 号;关注时是对方 UID;私信时不用填——只会发给主人(填了也只能是主人)。"
|
|
139
139
|
},
|
|
140
140
|
"text": {
|
|
141
141
|
"type": "string",
|