Russ534

wiznote-clip

"Use when clipping a link into 为知笔记 on fnOS."

Russ534 0 Updated 4d ago
GitHub

Install

npx skillscat add russ534/myopenclawbot/wiznote-clip

Install via the SkillsCat registry.

SKILL.md

为知笔记剪藏(wizserver @ fnOS)

把网页文章 / 视频字幕整理成笔记,写进 NAS 上的为知笔记。

触发

  • 微信/TG 发来文章链接、公众号、B站/YouTube 链接,说“存到为知/记一下/剪藏”
  • “把这篇笔记整理一下”

一句话用法

python3 /opt/data/scripts/clip.py '<url>' --category /剪藏/          # 文章
python3 /opt/data/scripts/video_note.py '<url>' --category /视频笔记/  # 视频(需字幕)

--dry-run 只看抓到的标题/字数,不写笔记。

服务端事实(2026-10-19 实测,wizserver 1.0.31)

  • 地址 http://192.168.31.201:9280,容器 wizserver(fnOS 应用中心装的)。
  • 笔记 API 不在 /ks/api/*(那是老版本),也不在 /wizks/*。真实路由表在容器的
    /wiz/app/wizserver/ks/api/*.jsc(V8 字节码),strings 就能扒出全部路径。
  • 登录:POST /as/user/login(form 或 JSON 都行)→ result.token、result.kbGuid。
    单用户部署的 kbGuid 是全 0:00000000-0000-0000-0000-000000000000。
  • 建笔记:POST /ks/note/create/{kbGuid}?token=...
    body 必须是 JSON,且要带 kbGuid:
    {"kbGuid": "...", "title": "...", "category": "/剪藏/", "html": "<p>...</p>"}
  • 列笔记:GET /ks/note/list/category/{kbGuid}?token=&category=&start=&count=
  • 看正文:GET /ks/note/view/{kbGuid}/{docGuid}/?token=
  • 删笔记:DELETE /ks/note/delete/{kbGuid}/{docGuid}/?token=

踩过的坑

  • form 提交 create 会回 accept json only。
  • 只给 title/category 会回 no html/ziwName —— 必须带 html。
  • body 里漏了 kbGuid 会回 kbGuid is not match(即使 path 里已经带了)。
  • delete 用 POST 会 405,必须 DELETE。
  • /ks/note/download/... 只回 {"returnCode":200} 不带内容,验证正文用 /ks/note/view/...。
  • 访问 NAS 必须绕代理(ProxyHandler({}));访问外网(r.jina.ai、GitHub)反而必须走
    http://192.168.31.201:7890。clip.py 里按 host 自动选。
  • 头条/公众号直连只回一个 JS 壳($jsvmprt),要回退到 r.jina.ai。
  • yt-dlp --print 会隐式 --simulate,字幕不落盘 → 取标题和取字幕必须分两次调用。
  • YouTube 字幕从共享代理 IP 拉常被 429;B站多数视频没有字幕轨,CC 还要登录 cookie。

凭证

/opt/data/.env:WIZNOTE_USER、WIZNOTE_PASSWORD、WIZNOTE_BASE。
Token 缓存在 /opt/data/cache/wiz_token.json(600),失效自动重登。

输出格式

标题 = 页面 <title> / jina 的 Title:;正文按 Markdown 的标题/列表/引用转 HTML;
末尾附 <hr> + 原文链接,方便回溯核对。