mcpbeat

���发 ���横中文网

lornshrimp/分发-纵横中文网

用于将“纵横小说/”目录内指定章节批量上传到纵横中文网作者后台并保存为草稿。支持按 README 读取账号、密码、纵横书籍 ID、书名校验,自动执行登录、新建/修改章节分流、填写“第X章 标题”合并标题、正文与作者有话说录入、保存草稿及章节Id回写。关键词:纵横上传、保存草稿、批量传章、纵横作者后台、作者有话说、章节Id回写。

5k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
148
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/lornshrimp/Lorn.NovelWriteSkills --skill 分发-纵横中文网

The instruction itself

28 sections, as written by the author

<!-- ===== Layer 1: 永久缓存 ===== -->

上传指定章节到纵横中文网并保存为草稿

用于把你指定的 1 章或多章,上传到纵横中文网对应作品下,并全部保存为草稿。

<!-- ===== Layer 3: 场景缓存 ===== -->

工作目录路由规则(强制)

本 Skill 执行前,必须按以下规则确定工作目录:

  • 读取项目根目录 Agents.md,检查其中 主输出平台 声明
  • 若当前平台(纵横中文网)匹配 主输出平台 → 工作目录为 小说正文/
  • 若当前平台不匹配 主输出平台,或 Agents.md 不存在/未声明 主输出平台 → 工作目录为 纵横小说/

后续所有章节文件路径、README.md、分发记录.md 均基于此工作目录。明确说明

  • 本平台是主输出平台时 → 章节文件、README.md分发记录.md 均在 小说正文/
  • 本平台不是主输出平台时 → 章节文件、README.md分发记录.md 均在 纵横小说/

> 路径说明:以下各节中所有 纵横小说/ 形式的路经(如 纵横小说/README.md纵横小说/分发记录.md)均为工作目录的示例写法。实际目录由上方「工作目录路由规则」确定:本平台是主输出平台时,所有这些路径对应 小说正文/;不是主输出平台时,对应 纵横小说/

何时使用

  • 你已经把待上传章节放入 纵横小说/ 目录。
  • 你已经在 纵横小说/readme.md纵横小说/README.md 写好账号、密码、纵横书籍 ID、书名信息。
  • 你希望按固定流程自动完成:登录 → 判断新建/修改模式 → 填写“第X章 标题” → 粘贴正文 → 输入作者有话说 → 保存草稿 → 回写章节Id。

不适用情形

  • 你只想做文本润色,不需要打开网站上传。
  • 你没有提供纵横账号或书籍 ID。
  • 目标不是“保存草稿”,而是“立即发布”。

输入前置要求(强制)

1) 章节文件目录

  • 待上传文件必须放在 纵横小说/ 下。
  • 你会明确指定要上传哪些章节(可单章,可多章)。
  • 章节标题不以文件名直接照抄为准,必须从章节文件内容提取并规范化。

1.1) 章节标题提取与组装规则(强制)

  • 必须从章节文件中提取:卷号、卷名、章号(阿拉伯数字)、章节标题、正文、作者有话说。
  • 若章节文件标题行为 # 1.1.3 三分钟,其中 1.1.3 表示 部号.卷号.章号;提取时必须只取最后一段 3 作为“章号”,三分钟 作为“章节标题”。
  • 纵横是分卷平台,上传时只使用卷内章号,不得把 1.1.32.4.17 这类三级编号原样上传;最终只能写成 第3章 三分钟 一类格式。
  • 纵横章节标题必须由你手工填写完整格式:第{章号}章 {章节标题}
  • 章号章节标题 之间必须保留 1 个空格
  • 例如:第1章 天亮了
  • 不得把文件名中的平台后缀(如 _纵横版)带入标题输入框。

2) 元数据来源

  • 必须读取 纵横小说/readme.md纵横小说/README.md,至少提取以下信息:
  • 纵横中文网用户名
  • 纵横中文网密码
  • 纵横书籍ID(纯数字,如 11997642;按“书籍Id判定规则”选取当前章节对应值)
  • 小说名称(小说书名,用于上传前书名校验)

2.1) 平台校验(强制)

读取 纵横小说/readme.md(或 纵横小说/README.md)后,必须检查其第一行一级标题是否等于 # 纵横中文网分发配置

  • 匹配 → 继续执行后续流程
  • 不匹配 → 立即停止上传,并向用户报错:README.md 平台标识与当前 Skill 不符:预期"纵横中文网分发配置",实际读取到"{实际读取到的标题}"。请检查是否将其他平台的 README.md 误放到了当前工作目录。

3) 分发记录来源(强制)

  • 必须读取 纵横小说/分发记录.md
  • 若文件不存在,先创建后再执行分发。
  • 用于查询“章节唯一键 -> 章节Id”映射,判定该章是“新建模式”还是“修改模式”。

4) 书名判定规则(强制)

  • 若小说无分部:小说书名使用该平台目录 readme.md/README.md 中的“小说名称(小说书名)”。
  • 若小说有分部(多部):小说书名使用该章节所在分部的分部名,不得误用总书名。

4.1) 书籍Id判定规则(强制)

  • 若小说无分部:书籍Id使用该平台目录 readme.md/README.md 中与“小说名称(小说书名)”成对维护的书籍Id。
  • 若小说有分部(多部):书籍Id使用该章节所在分部名对应成对维护的书籍Id。
  • 禁止把总书名对应书籍Id用于分部章节,或把分部书籍Id用于非对应分部章节。

5) 分发记录.md 模板(首次创建直接使用)

# 纵横中文网分发记录

> 用途:记录“章节唯一键 -> 纵横章节Id”映射,供分发流程判断“新建模式/修改模式”。

## 字段说明

- `章节唯一键`:固定格式 `纵横书籍ID|分部名|卷号|卷名|章号|章名`
- `纵横书籍ID`:对应 `纵横小说/readme.md` 或 `纵横小说/README.md` 中书籍ID
- `章节Id`:章节保存后返回的纯数字
- `最近操作`:`新建` 或 `修改`
- `更新时间`:`YYYY-MM-DD HH:mm:ss`
- `备注`:可选

## 记录表

|章节唯一键|纵横书籍ID|章节Id|最近操作|更新时间|备注|
|:--|--:|--:|:--|:--|:--|

6) README.md 模板(首次创建直接使用)

纵横小说/README.md 不存在时,必须按以下模板创建:

# 纵横中文网分发配置

> 用途:存储纵横账号与书籍信息。分发流程将读取此文件。

## 账号信息

- 用户名:`your_username`
- 密码:`your_password`

## 书籍信息

### 无分部小说

| 小说名称 | 书籍ID |
|:--|--:|
| 作品名 | 11997642 |

### 有分部小说

| 分部号 | 分部名 | 书籍ID |
|:--|:--|--:|
| 第1部 | 分部一书名 | 11997642 |
| 第2部 | 分部二书名 | 11997643 |

## 卷名映射

### 分部一书名

| 卷号 | 卷名 |
|--:|:--|
| 1 | 第一卷 卷标题 |
| 2 | 第二卷 卷标题 |

### 分部二书名

| 卷号 | 卷名 |
|--:|:--|
| 1 | 第一卷 卷标题 |
| 2 | 第二卷 卷标题 |

## 字段说明

- `小说名称` / `分部名`:必须精确匹配 SKILL 中的"书名判定规则"
- `分部号`:必须使用 `第N部` 规范格式(如 `第1部`、`第2部`),并与 `分部名` 一一对应,不得错位或复用
- `书籍ID`:纯数字,从纵横作者后台获取

## 安全提醒

- 本文件包含明文密码,请妥善保管。
- 本文件应存入 `.gitignore`,不提交到公开仓库。

执行流程(强制按序)

步骤 1:读取本地输入

  • 读取并解析 纵横小说/readme.md(若不存在则读取 纵横小说/README.md)。
  • 确认已获得:账号、密码、目标书籍Id(按“书籍Id判定规则”选取)、目标小说名。
  • 读取 纵横小说/分发记录.md,建立“章节唯一键 -> 章节Id”映射。
  • 读取你指定的章节文件,提取每章:卷号、卷名、章号、章名、正文、作者有话说。
  • 组装页面标题:第{章号}章 {章名},并校验“章号和章名之间只有 1 个空格”。

步骤 2:进入作者后台

  • 必须新开一个浏览器标签页,并访问:
  • https://zuozhe.zongheng.com/front/book-manage
  • 该新标签页仅用于本次纵横上传流程,不复用其他任务标签页。
  • 若出现登录态失效或未登录:
  • 使用 readme/README.md 中的用户名和密码登录。
  • 若登录后出现验证码或二次验证:
  • 必须立即暂停流程,等待用户手动完成验证并明确反馈“登录完成”。
  • 在收到“登录完成”反馈前,不得继续任何后续步骤。

步骤 3:进入目标章节页(新建/修改二选一)

  • 每章开始前,先查询 纵横小说/分发记录.md 中该章节是否已有 章节Id
  • 若该章节没有章节Id(新建模式),访问:
  • https://zuozhe.zongheng.com/front/book-upload?id={书籍Id}
  • 若该章节已有章节Id(修改模式),访问:
  • https://zuozhe.zongheng.com/front/book-upload?id={书籍Id}&cid={章节Id}
  • 注意:新建模式跳转后 URL 不会出现章节Id,必须在保存后回查草稿列表获取。
  • {书籍Id} 必须来自 readme/README.md,且必须为纯数字。

步骤 4:双重页面校验(书名 + 卷章信息)

  • 校验页面左上角书名与 readme 中小说书名一致。
  • 校验页面上方 卷: 后面的卷号与卷名,必须与当前章节文件一致。
  • 卷:... 后紧跟显示的章节编号与章节名,必须与本章目标一致。
  • 任一校验不通过,立即停止当前章上传并报错,禁止盲传。

步骤 4.1:卷选择弹出框强制确认(新增,必须执行)

  • 在每章填写内容前,必须点击章节编辑界面左上角 卷: 入口,打开卷选择弹出框。
  • 在弹出框内必须显式选择“当前章节所属卷名称”(与章节文件提取出的卷名完全一致)。
  • 必须点击弹出框内的“确认”完成卷切换/确认,不允许只看不点。
  • 确认后需再次校验页面显示的 卷:{卷名} 与目标卷一致;不一致则禁止继续填写。
  • 不得沿用上一章卷选择状态;多章循环时每章都要重复本步骤。

步骤 5:填写章节标题

  • 章节标题必须手工填写完整格式:第{章号}章 {章名}
  • 章号章名 之间必须严格保留 1 个空格。
  • 若页面已有旧标题,先全选清空,再填入本章标题,避免串章。

步骤 6:填写正文

  • 在正文编辑框输入本章正文。
  • 必须确保正文来自你指定的章节文件,不得错章串章。

步骤 6.1:正文分段保真输入规范(新增,必须执行)

  • 读取章节正文时,必须保留原文段落边界(空行/段分隔)并按段写入,不得把整章压成单段长文本。
  • 向编辑器写入时必须使用“段落级写入策略”(逐段插入),保证页面中每个段落为独立段落节点。
  • 禁止仅使用纯文本整块覆盖导致分段丢失;禁止把换行折叠为单空格。
  • 写入后必须执行分段回读校验:页面中的段落数应与源文本非空段数一致(或在平台自动清理空段后保持语义等价的段落边界)。
  • 若分段校验失败,必须先清空正文并重写;重试仍失败则停止当前章并记录“正文分段保真失败”。

步骤 7:填写作者有话说

  • 作者有话说在章节编辑页面直接出现,无需点击额外按钮。
  • 直接定位“作者有话说”输入区并填入本章内容。
  • 输入前建议全选清空旧内容,避免拼接历史文本。

步骤 8:保存草稿并回查章节Id

  • 若为新建模式,点击按钮:存为草稿
  • 若为修改模式,点击按钮:更新草稿
  • 等待页面成功提示(或等价成功状态)。
  • 保存成功后,切换草稿列表页回查章节Id:
  • 访问 https://zuozhe.zongheng.com/front/book-manage/draft?id={书籍Id}
  • 在草稿列表定位目标章节,点击“修改”。
  • 从跳转 URL 提取 cid 作为章节Id。
  • 将“章节唯一键 + 章节Id + 最近操作 + 更新时间”写回 纵横小说/分发记录.md
  • 若记录不存在:新增一条。
  • 若记录已存在:更新 章节Id(如变化)、最近操作更新时间

步骤 9:多章循环

  • 对每个指定章节,严格重复步骤 3~8,直到全部章节完成。
  • 每章都必须重新查询 分发记录.md,独立判定新建/修改模式。

连续多章提效模式(推荐)

> 目标:在不放松现有强制规则的前提下,减少重复点击、重复粘贴与重复判定成本。

A. 先批量预处理,再进入浏览器连续执行
  • 在打开网页前,一次性完成以下预处理:
  • 章节号 / 章节标题提取;
  • 正文与平台扩展字段拆分(如作者的话 / 发布设置文本);
  • 平台限制预检(如标题字数、作者话字数、必选发布项);
  • 新建 / 修改模式预判(来自 分发记录.md)。
  • 产物建议统一放入临时队列(如内存对象或 {平台目录}/.cache/content_parts/no_part/v{卷号}/*.txt{平台目录}/.cache/content_parts/p{分部号}/v{卷号}/*.txt + 映射表),浏览器阶段只做“取数据→填写→保存”。
B. 浏览器阶段采用“固定入口 + 重复节拍”
  • 对于每一章,保持统一节拍:

1) 打开目标地址(按记录走新建或修改);

2) 填标题;

3) 填正文;

4) 填平台扩展字段(如作者话/发布设置);

5) 保存草稿;

6) 提取章节Id;

7) 回写记录。

  • 除“目标地址”和“填入文本”外,其余动作应尽量保持同一套定位器与顺序,避免每章临时切换策略。
C. 用“小批次提交”替代“整批一次性提交”
  • 推荐按 5–10 章为一个小批次执行:
  • 每个小批次完成后立刻回写 分发记录.md
  • 再进入下一个小批次。
  • 这样即使遇到限流、登录态波动或页面改版,也只影响当前小批次,不会让整批进度回滚。

> D / E / F 三节统一执行口径:优先保证批次连续性与可回滚性;安全验证类提示一律按阻断处理;数据通道异常必须可降级。

D. 对“高频弹窗”做一次性消噪
  • 对平台中反复出现的非阻塞提醒(字数提醒、教学浮层、引导弹窗),首次可消噪后继续主流程。
  • 仅当弹窗真实阻断“输入/保存/提交”关键路径时,才升级为失败处理或人工接管。
E. 失败分层:快跳过、可续跑
  • 对单章失败采用“记录原因并继续下一章”的策略(除非用户要求遇错即停)。
  • 失败章需记录最小必要信息:
  • 章节唯一键;
  • 失败步骤(打开页 / 标题 / 正文 / 平台扩展字段 / 保存 / 回写);
  • 页面关键提示。
  • 批量结束后按失败清单单独补传,避免在主循环里反复卡住。
F. 数据通道提效(可选)
  • 长批量自动化场景可选用 scripts/content_parts_server.mjs
  • 无分部:/parts/v/{卷号}/{章号}
  • 有分部:/parts/p/{分部号}/v/{卷号}/{章号}
  • 平铺 /parts/{章号} 仅限单批次临时使用。
  • 该方式是提效手段,不替代各平台 Skill 的书籍Id判定、章节唯一键、回写规则与失败处理要求。
G. 批量执行防误用补丁(建议默认开启)
  • “新建 / 修改模式预判”仅用于提效,不得替代每章执行前对 分发记录.md 的实时查询。
  • “高频弹窗消噪”仅限非安全类提示;涉及登录风控、验证码、实名校验、账号安全提示时,一律按阻断处理并暂停。
  • 失败分层需加入“致命错误即停”:书名/卷名(或作品)不匹配、书籍ID错误、登录态异常未解除时,不得继续下一章。
  • 使用数据通道(如 content_parts_server)时必须提供降级路径:服务不可用时自动回退到本地文件读取,不中断批次执行。
  • 每个小批次结束必须执行对账复核:计划章数 = 成功章数 + 失败章数,且成功章均完成 章节Id 回写。

关键边界与硬规则

  • 纵横与七猫同属相近后台,除“分卷校验”外,其它流程(含章节Id回查逻辑)默认沿用七猫稳态做法。
  • 纵横是分卷平台,必须执行“书名 + 卷信息 + 章信息”三重校验。
  • 新建地址固定为 https://zuozhe.zongheng.com/front/book-upload?id={书籍Id}
  • 修改地址固定为 https://zuozhe.zongheng.com/front/book-upload?id={书籍Id}&cid={章节Id}
  • 新建后 URL 不带章节Id,必须保存后从草稿列表反查 cid
  • 新建模式保存按钮是 存为草稿;修改模式保存按钮是 更新草稿
  • 标题必须是 第X章 标题(中间 1 空格),且由流程填写,不依赖文件名直接上屏。
  • 纵横是分卷平台,章节号必须使用所在卷内的相对章节号,不做跨卷累加。
  • 每章都必须执行“卷选择弹出框 -> 选择目标卷 -> 点击确认 -> 二次校验卷名”的闭环,不得跳过。
  • 正文写入必须保留源文件分段,严禁出现“整章单段无分段”落盘结果。
  • 作者有话说直接在页面输入,不需要点击额外按钮。
  • 最终动作是“保存草稿”,不是发布。
  • 账号密码仅用于当次登录,不写入产物文件、不外泄。

失败与回退处理

  • 登录失败:提示账号/密码错误并停止,不继续后续章节。
  • 验证码拦截:必须立即暂停流程,等待用户手动完成验证并明确反馈“登录完成”;在收到该反馈前不得继续任何后续步骤。
  • 页面元素缺失或改版:记录失败步骤并停止本章。
  • 书名/卷名/卷号/章信息不匹配:停止当前章上传并报错。
  • 卷选择弹出框无法打开/无法确认/确认后卷名不一致:停止当前章上传并报错。
  • 正文分段保真校验失败:清空重写并重试;仍失败则标记失败并停止当前章。
  • 保存草稿失败:本章重试;重试仍失败则标记失败并继续下一章(除非用户要求遇错即停)。
  • 分发记录.md 写入失败:流程标记“部分失败(记录未落盘)”,并提示人工补录。

完成检查清单

  • 已读取 纵横小说/readme.md纵横小说/README.md 并提取必需字段。
  • 已按指定章节列表逐章执行上传。
  • 每章上传前均完成:左上角书名校验 + 卷: 区域卷章信息校验。
  • 每章均已执行:点击 卷: 打开弹出框 → 选择目标卷 → 点击确认 → 卷名二次校验。
  • 每章都已按记录分流到新建/修改 URL。
  • 每章均完成标题、正文、作者有话说填写。
  • 每章正文均通过“分段保真校验”,未出现整章单段。
  • 每章均按模式点击正确保存按钮(新建=存为草稿,修改=更新草稿)。
  • 每章保存后都完成章节Id回查并回写 纵横小说/分发记录.md
  • 已输出每章结果(成功/失败及原因)。

本轮实操经验与教训(2026-05-22)

  • 草稿箱回查不能只看当前页,必须按分页或搜索全量确认;否则容易漏掉已保存章节。
  • 页面出现“已保存到云端”不等于该章已进入草稿箱,最终验收以草稿箱实查结果为准
  • 正文必须按段落级写入;保存后还要复核正文段落数,防止“整章塌成单段”。
  • 卷选择弹框要以“点选目标卷 + 点击确认 + 二次校验卷名”为闭环,不能只依赖默认态。
  • 若上传页保存表现异常,但草稿箱能稳定落库,可采用“先新建草稿占位,再修改覆盖正式正文”的备用路径。
  • 回写 分发记录.md 时,章节唯一键里含有 | 必须转义或改用不会破坏表格的写法;否则会把一行拆成多列。
  • 遇到平台浮层/确认提醒时,必须先消掉阻断弹窗,再继续点击保存;不要把提醒当成成功。
  • 章节最终是否成功,不能只看编辑页字数或云端提示,必须以草稿箱中出现目标标题 + 修改入口可打开 + cid 可解析 为准。

How to use it

Copy the folder

Take lornshrimp/分发-纵横中文网 from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.