CX

cloudmantou/xiangseskill

Data science & ML
85 stars 품질 70 트렌드 70

香色闺阁(StandarReader 2.56.1)书源开发资料仓库,聚焦三件事: - (网站 → JSON → 校验 → XBS → 导入 App) - 书源格式转换(JSON XBS) - Codex 技能(skill)沉淀与实战规则维护

개요

香色闺阁(StandarReader 2.56.1)书源开发资料仓库,聚焦三件事: - (网站 → JSON → 校验 → XBS → 导入 App) - 书源格式转换(JSON XBS) - Codex 技能(skill)沉淀与实战规则维护

README

xiangseSkill

香色闺阁(StandarReader 2.56.1)书源开发资料仓库,聚焦三件事:

  • AI + Skill 根据网站写书源(网站 → JSON → 校验 → XBS → 导入 App)
  • 书源格式转换(JSON XBS)
  • Codex 技能(skill)沉淀与实战规则维护

注意:本仓仅服务香色闺阁 2.56.1,不承担安卓阅读/跨客户端兼容目标。

视频与社群

公众号二维码:

  • QQ 频道:AppFlex(扫码加入频道,二维码以最新版本为准)

QQ 频道二维码:

目录说明

  • tools/scripts/: 转换脚本
    • xbs_tool.py(跨平台主入口,推荐)
    • json2xbs.sh
    • xbs2json.sh
    • roundtrip_check.sh
    • json2xbs.cmd(Windows)
    • xbs2json.cmd(Windows)
    • roundtrip_check.cmd(Windows)
  • skills/xbs-booksource-workflow/: Codex 可发现的标准 Skill(唯一权威入口)
    • SKILL.md
    • agents/openai.yaml
    • references/
  • skills/global/、skills/local/: 旧路径兼容指针,不再维护第二套规则
  • docs/: 规则文档与维护记录

环境要求

  • Python 3.9+
  • Node.js 18+(simulate-live/simulate-fixture 需要,首次执行前运行 cd tools/validator && npm install)
  • Go 1.22+(仅在命中源码 fallback 时需要)
  • xbsrebuild 工具满足任意一种即可:
    • 设置 XBSREBUILD_BIN 指向可执行文件(Windows 可指向 .exe)
    • Windows 直接使用仓库内置 tools/bin/windows/xbsrebuild.exe(无需 Go)
    • xbsrebuild 已加入 PATH
    • 设置 XBSREBUILD_ROOT 指向 xbsrebuild 源码目录(脚本会自动 go run)
    • 使用仓库内置源码快照 tools/vendor/xbsrebuild(脚本自动兜底)

已内置引入 xbsrebuild(Vendor Snapshot)

为降低外部仓推送权限对日常使用的影响,本仓已内置 xbsrebuild 源码快照:

  • 内置路径:tools/vendor/xbsrebuild/
  • 上游仓库:ne1llee/xbsrebuild
  • 当前同步基线:5cd1249
  • 追溯文件:tools/vendor/xbsrebuild/UPSTREAM_SOURCE.md

默认会按以下顺序自动探测:

  1. XBSREBUILD_BIN
  2. 内置 Windows 二进制 tools/bin/windows/xbsrebuild.exe
  3. PATH 中的 xbsrebuild
  4. XBSREBUILD_ROOT
  5. 仓库同级目录 ../xbsrebuild
  6. 仓库内置源码 tools/vendor/xbsrebuild

建议显式设置:

export XBSREBUILD_ROOT=/path/to/xbsrebuild

Windows PowerShell 建议:

$env:XBSREBUILD_BIN="D:\tools\xbsrebuild.exe"

AI 根据网站写书源(推荐流程)

Skill 入口:skills/xbs-booksource-workflow/SKILL.md

验收证据必须分层:仓内 [email protected] 是带修改/注入组件的静态逆向样本,只能提供字段与兼容性线索;fixture 只做解析单测;live 证明真实网络四步链;最终 pass 还必须在来源明确、未修改的官方 StandarReader 2.56.1 App 中完成导入、搜索、详情、目录、正文和编辑保存验证。

# 1) 先人工确认四个真实页面,再显式抓取。不要只传 --site;当前脚本不会自动发现下游链接。
python3 tools/scripts/pipeline_new_source.py fetch-samples \
  --site https://www.example.com/ \
  --search-url 'https://www.example.com/search?q=%E9%83%BD%E5%B8%82' \
  --detail-url 'https://www.example.com/book/123' \
  --list-url 'https://www.example.com/book/123/chapters' \
  --content-url 'https://www.example.com/book/123/chapter/1' \
  -o tools/verification/samples/example \
  --keyword 都市

# 2) AI 根据样本写 .json 后,运行 fail-closed 的 fixture + live + package 流水线;不要在这里自动导入。
python3 tools/scripts/pipeline_new_source.py run \
  -i tools/verification/.json \
  --fixtures tools/verification/samples/example \
  --live \
  --report-dir tools/verification/out

# 3) run 只会在 live 通过后生成 out/.xbs;随后再做 roundtrip,并进入官方 App 验收。
python3 tools/scripts/xbs_tool.py roundtrip \
  -i tools/verification/.json \
  -p tools/verification/out/.verify

pipeline_new_source.py run --live 会在 schema、编辑器兼容、fixture 或 live 门禁失败时停止,不会提前打包;每个交付文件只允许一个 alias,避免验证第一项却打包未验证书源。但它的 PIPELINE_STATUS: pass 仍不等于最终交付通过,因为脚本没有执行官方 App 内的搜索、详情、目录、正文和编辑器保存验收。--import-mac 只代表发起交付,必须同时提供新的 --app-source-backup 路径;工具会在 App 退出状态下先备份 sourceModelList.xbs,但仍不把 open 成功当作 App 导入或运行证据。权威顺序见标准 Skill。

给 AI 的提问模板(复制即用):

请使用 $xbs-booksource-workflow,并按 skills/xbs-booksource-workflow/SKILL.md 执行。
site=https://www.example.com/
task_type=new_source
keyword=都市

书源转换用法

推荐(跨平台统一命令)

python3 tools/scripts/xbs_tool.py import-fix -i  -o  --report 
python3 tools/scripts/check_xiangse_schema.py --strict-requestinfo 
python3 tools/scripts/xbs_tool.py check-editor -i 
python3 tools/scripts/xbs_tool.py simulate-fixture -i  --engine auto --webview-timeout 25 --fixtures  --report 
python3 tools/scripts/xbs_tool.py simulate-live -i  --engine auto --webview-timeout 25 --keyword 都市 --book-index 0 --chapter-index 0 --report 
python3 tools/scripts/pipeline_new_source.py package -i  -o 
python3 tools/scripts/xbs_tool.py roundtrip -i  -p 
python3 tools/scripts/xbs_tool.py doctor

说明:

  • import-fix 用于旧源导入修复:先只输出 JSON 和报告,不要在校验前使用 --to-xbs。
  • xbs_tool.py 在 json2xbs/roundtrip 会自动执行 schema 检查并在失败时中断。
  • simulate-live 会自动执行:import-fix -> schema_check -> editor_check -> 四步真实请求模拟。
    • 四步为:searchBook / bookDetail / chapterList / chapterContent。
    • --engine 支持:auto|http|webview(默认 auto)。
    • --webview-timeout 控制 WebView 执行超时(秒)。
    • 命中风控会给出 blocked(例如 403/challenge),与 parser 规则失败分开标记。
  • 交付流程禁止使用 --skip-schema-check。

真实模拟测试(导入前验收)

python3 tools/scripts/xbs_tool.py simulate-live -i /abs/source.json --engine auto --webview-timeout 25 --keyword 都市 --report /abs/source.sim.report.json

报告核心字段:

  • schema_check
  • editor_check
  • simulation_verdict
  • overall_verdict
  • steps.searchBook/bookDetail/chapterList/chapterContent
  • steps.*.runtime_engine
  • steps.*.webview_applied_keys
  • steps.*.webview_trace

判定规则:

  • overall_verdict.status=pass:结构、编辑兼容、live 四步模拟均通过,才可进入打包阶段。
  • simulation_verdict.status=blocked:站点风控阻断(非 parser 规则错误),不得打包为交付件或标记 pass。
  • simulation_verdict.status=fail:规则解析链路失败,按步骤报告定位字段修复。

macOS / Linux / Termux(兼容旧命令)

1) JSON -> XBS

bash tools/scripts/json2xbs.sh  

2) XBS -> JSON

bash tools/scripts/xbs2json.sh  

3) 回转校验(推荐)

bash tools/scripts/roundtrip_check.sh  

会生成:

  • .xbs
  • .roundtrip.json

Windows(CMD)

tools\scripts\json2xbs.cmd  
tools\scripts\xbs2json.cmd  
tools\scripts\roundtrip_check.cmd  

Windows(PowerShell)

python .\tools\scripts\xbs_tool.py doctor
python .\tools\scripts\xbs_tool.py json2xbs -i .\in.json -o .\out.xbs

如何正确使用我们的 skill

在 Codex 中触发

  1. 将整个 skills/xbs-booksource-workflow/ 目录复制到 Codex skills 目录,保持目标结构为 xbs-booksource-workflow/SKILL.md;不要只复制旧的 *.SKILL.md 文件。
  2. 在对话中明确点名 skill:
请使用 $xbs-booksource-workflow 为 https://example.com 写香色闺阁书源。

旧 skills/global/*.SKILL.md 与 skills/local/*.SKILL.md 仅是兼容指针,不再提供第二套约束。

给普通用户的建议话术(可直接复制):

请使用 $xbs-booksource-workflow,按香色闺阁 2.56.1 专用流程输出:
1) 先给 JSON 规则
2) 再给 xbs_tool.py 转换命令
3) 最后给 roundtrip 校验命令和失败排查点

Tare(弱模型)专用用法

如果使用 Tare 这类弱模型,不要直接让它“自由发挥”,请强制走固定协议:

  1. 先让它读取:docs/TARE_USAGE_PLAYBOOK.md
  2. 每次只给一个任务类型:new_source / fix_source / convert_only
  3. 要求它只按“固定输出 JSON”返回结果
  4. 强制先跑:python3 tools/scripts/check_xiangse_schema.py --strict-requestinfo

可复制提问模板:

请严格按 /docs/TARE_USAGE_PLAYBOOK.md 执行。
task_type=fix_source
site=https://m.libahao.com/
input_file=/abs/path/libahao_source.json
target_file=/abs/path/libahao_source_fixed.json
must_rules=1) list 子字段 XPath 必须 // 开头 2) 去除空白污染 3) 分类 cover 不能为空
samples=(粘贴你的错误解析 JSON)
只允许输出固定 JSON,不要输出自由文本。

推荐工作流

  1. 先确认并抓取站点四类真实页面样本:搜索、详情、目录、正文。
  2. 先产出 JSON 规则,依次通过 schema、editor、fixture 解析单测和 live 四步链,再打包及 roundtrip。
  3. 用文档规则复核:
    • docs/XBS_JSON_CODING_RULES.md
    • docs/MAINTENANCE_WORKFLOW.md
  4. 最后在来源明确的官方 App 中完成运行与编辑保存验证,再记录变更到 docs/CHANGELOG.md。

参考文档

  • skills/xbs-booksource-workflow/SKILL.md
  • skills/xbs-booksource-workflow/references/xbs-2561-contract.md
  • skills/xbs-booksource-workflow/references/verification-and-delivery.md
  • docs/XBS_JSON_CODING_RULES.md
  • docs/REVERSE_BASELINE_2561.md(修改样本静态证据,不是官方 App 运行证明)
  • docs/REVERSE_WEBVIEW_BASELINE_2561.md
  • docs/RETROSPECT_LOG.md
  • docs/TARE_USAGE_PLAYBOOK.md
View this README on GitHub

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add cloudmantou/xiangseskill