香色闺阁(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,不承担安卓阅读/跨客户端兼容目标。
视频与社群
- B站视频: 别再手写书源了!用 ChatGPT Codex 全自动转换香色闺阁书源(成功率90%)
- 公众号:好用的软件站
公众号二维码:
- QQ 频道:AppFlex(扫码加入频道,二维码以最新版本为准)
QQ 频道二维码:
目录说明
tools/scripts/: 转换脚本xbs_tool.py(跨平台主入口,推荐)json2xbs.shxbs2json.shroundtrip_check.shjson2xbs.cmd(Windows)xbs2json.cmd(Windows)roundtrip_check.cmd(Windows)
skills/xbs-booksource-workflow/: Codex 可发现的标准 Skill(唯一权威入口)SKILL.mdagents/openai.yamlreferences/
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
默认会按以下顺序自动探测:
XBSREBUILD_BIN- 内置 Windows 二进制
tools/bin/windows/xbsrebuild.exe PATH中的xbsrebuildXBSREBUILD_ROOT- 仓库同级目录
../xbsrebuild - 仓库内置源码
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_checkeditor_checksimulation_verdictoverall_verdictsteps.searchBook/bookDetail/chapterList/chapterContentsteps.*.runtime_enginesteps.*.webview_applied_keyssteps.*.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 中触发
- 将整个
skills/xbs-booksource-workflow/目录复制到 Codex skills 目录,保持目标结构为xbs-booksource-workflow/SKILL.md;不要只复制旧的*.SKILL.md文件。 - 在对话中明确点名 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 这类弱模型,不要直接让它“自由发挥”,请强制走固定协议:
- 先让它读取:
docs/TARE_USAGE_PLAYBOOK.md - 每次只给一个任务类型:
new_source / fix_source / convert_only - 要求它只按“固定输出 JSON”返回结果
- 强制先跑:
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,不要输出自由文本。
推荐工作流
- 先确认并抓取站点四类真实页面样本:搜索、详情、目录、正文。
- 先产出 JSON 规则,依次通过 schema、editor、fixture 解析单测和 live 四步链,再打包及 roundtrip。
- 用文档规则复核:
docs/XBS_JSON_CODING_RULES.mddocs/MAINTENANCE_WORKFLOW.md
- 最后在来源明确的官方 App 中完成运行与编辑保存验证,再记录变更到
docs/CHANGELOG.md。
参考文档
skills/xbs-booksource-workflow/SKILL.mdskills/xbs-booksource-workflow/references/xbs-2561-contract.mdskills/xbs-booksource-workflow/references/verification-and-delivery.mddocs/XBS_JSON_CODING_RULES.mddocs/REVERSE_BASELINE_2561.md(修改样本静态证据,不是官方 App 运行证明)docs/REVERSE_WEBVIEW_BASELINE_2561.mddocs/RETROSPECT_LOG.mddocs/TARE_USAGE_PLAYBOOK.md
推奨ツール
別のキーワードを試すか、フィルタを外してください。
インストール
npx skillfish add cloudmantou/xiangseskill