Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

番茄小说 AI 自动连载、发布技能。流程全自动,每天定时生成并发布小说章节,支持多书管理、金手指边界校验、角色状态追踪。用户只需要获取网页cookie即可每天自动发布,无需任何人工干预。

v1.0.2

番茄小说 AI 自动连载发布技能。每天定时生成并发布小说章节,支持多书管理、金手指边界校验、角色状态追踪。需配合 OpenClaw cron 使用。

1· 85·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for qiqi52566/novel-serial.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "番茄小说 AI 自动连载、发布技能。流程全自动,每天定时生成并发布小说章节,支持多书管理、金手指边界校验、角色状态追踪。用户只需要获取网页cookie即可每天自动发布,无需任何人工干预。" (qiqi52566/novel-serial) from ClawHub.
Skill page: https://clawhub.ai/qiqi52566/novel-serial
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install novel-serial

ClawHub CLI

Package manager switcher

npx clawhub@latest install novel-serial
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description claim: automated daily generation+publish to 番茄小说. The code and SKILL.md implement scanning local novel folders, generating/updating chapters, and automating publish via Playwright — this aligns with the stated purpose. However, the package is instruction-only (no install spec) yet includes non-trivial scripts that require Playwright/Chromium; those dependencies are not declared. Also SKILL.md references Feishu notifications (OpenClaw delivery) while the scripts themselves do not implement Feishu API calls — that is a platform integration assumption but should be explicit. Overall purpose matches code, but missing dependency and integration details are disproportionate to what an instruction-only skill normally requires.
!
Instruction Scope
Runtime instructions and code read and write many local files under ~/.openclaw/workspace/novels (meta.json, memory files, chapters, uploaded/, state.json). That is expected for a publisher. However, the code instructs the user to create and persist state.json (browser cookies/localStorage) containing session tokens — a sensitive artifact. The SKILL.md also instructs the cron to trigger an agentTurn that reads SKILL.md/KNOWLEDGE.md and scans novels/; this grants the agent access to all local novel content. The instructions do not explicitly warn the user about the sensitivity of saved state.json or recommend secure handling. The code also programmatically clears proxy environment variables before launching Playwright (surprising scope change of environment). No instructions request unrelated system files or extra credentials, but the implicit creation/storage of authentication state and proxy modifications expand the runtime footprint.
!
Install Mechanism
There is no install spec. The Python scripts require 'playwright' and a Chromium install (the scripts' docstrings mention pip install playwright and playwright install chromium), but these are not declared in the skill metadata. That means the skill will fail or will require manual dependency installation. Lack of an install spec also means the evaluator cannot see any packaged third-party components; however, the scripts will run substantial browser automation locally (downloaded browser binaries if user runs playwright install). While there is no external URL download in the skill itself, missing dependency declaration and the need to install Playwright/Chromium are non-trivial and should be made explicit.
!
Credentials
The skill declares no required env vars or credentials (primaryEnv none), which superficially looks minimal. However, the code manipulates the process environment by forcibly removing common proxy variables (http_proxy, https_proxy, all_proxy, etc.) before launching the browser — this is unexpected and can bypass site traffic routing/monitoring or corporate proxies. The skill asks users to create and persist a state.json (browser storage) containing cookies/localStorage — effectively local credentials for the user's account. That is necessary to automate publishing, but it is sensitive and not explicitly justified in SKILL.md beyond 'save login state'. No other unrelated credentials are requested. Overall the requested/created secrets (state.json) are proportionate to publishing but the proxy clearing is disproportionate and surprising.
Persistence & Privilege
always is false and the skill is user-invocable/autonomously invokable (platform default). The skill writes its own state.json and uploaded/ archives, which is normal for a publishing automation tool. It does not request permanent inclusion or modify other skills. No evidence it changes system-wide agent settings or other skills' configs.
What to consider before installing
This skill appears to implement automated publishing to 番茄小说, but take precautions before installing: - Dependencies: The scripts require Playwright and a Chromium browser (pip install playwright + playwright install chromium). The skill metadata does not declare these; install them only in a controlled environment (e.g., isolated VM or container). - state.json: Running login.py will create a state.json that contains cookies/localStorage and effectively authenticates to the platform. Treat this file as a secret: store it securely, restrict filesystem permissions, and remove it if you stop using the skill. Be aware anyone with this file could access your account. - Proxy clearing: The scripts deliberately remove http(s)_proxy/all_proxy environment variables before launching the browser. That can bypass corporate or personal proxy/monitoring - confirm you understand why this happens and whether it is acceptable in your environment. If you rely on a proxy for auditing or outbound filtering, run the tools in an environment where bypassing proxies is acceptable. - Review and test: Inspect the full, untruncated script files locally. Run them first in an isolated environment with a throwaway account to confirm behavior. Check that there are no hidden network endpoints or unexpected uploads beyond the target site. - Cron and agent access: The SKILL.md recommends scheduling cron jobs that allow the agent to read your local novels/metadata daily — ensure you want the agent to have that file access. If you do not want automated publishing, do not add the cron job. Given the missing dependency declarations, the proxy manipulation, and the sensitive local session file handling, proceed only after understanding and mitigating these issues (isolation, secrets handling, and code review).

Like a lobster shell, security has layers — review code before you run it.

latestvk97emjdx4dktdtp0t6y64fx2dh84v2yc
85downloads
1stars
3versions
Updated 2w ago
v1.0.2
MIT-0

Novel Serial — 番茄小说日更连载技能(执行版)

仅包含执行流程。知识性内容请参考 KNOWLEDGE.md


整体架构

用户
 ↑
 ↑ 飞书私信
 ↑
OpenClaw(服务器)
 ├── Cron Scheduler(定时触发器)
 │   └── jobs.json → 每天 12:00 触发
 │   ↓
 └── Session(写作会话)
       ├── ① 读取本 SKILL.md + KNOWLEDGE.md
       ├── ② 扫描 novels/ 目录
       ├── ③ 读取 meta.json + 最新章节
       ├── ④ 写章节(调用 LLM)
       ├── ⑤ 保存到 chapters/
       ├── ⑥ 更新 meta.json
       └── ⑦ 推送完整章节到飞书

部署步骤

第一步:创建 cron 任务

在 OpenClaw 的 jobs.json 中添加:

{
  "name": "novel-serial-daily",
  "schedule": {
    "kind": "cron",
    "expr": "0 12 * * *",
    "tz": "Asia/Shanghai"
  },
  "wakeMode": "now",
  "payload": {
    "kind": "agentTurn",
    "message": "执行小说日更任务:读取 ~/.openclaw/workspace/skills/novel-serial/SKILL.md 和 KNOWLEDGE.md,按「每日写作任务」流程执行——扫描 novels/ 目录,对每本 status ≠ 已放弃/已完本 的书写下一章,保存到 chapters/,更新 meta.json,将完整章节正文通过飞书发送给用户。",
    "timeoutSeconds": 600
  },
  "delivery": {
    "mode": "announce",
    "channel": "feishu",
    "to": "ou_6ca9cba7370295c18cd206cce698cbb8"
  }
}

第二步:建立小说目录

~/.openclaw/workspace/novels/
└── novel-{N}/              ← 每本书一个文件夹
    ├── meta.json           ← 必须:章节数、主角年龄/能力、状态
    ├── book-bible.md       ← 必须:金手指边界、各阶段能力、悬念清单
    ├── memory/
    │   ├── 人物性格.md      ← 必须:主角各阶段能力/性格状态
    │   ├── 世界观设定.md    ← 必须:金手指详细规则+边界
    │   └── 伏笔钩子.md      ← 必须:埋线+回收追踪
    └── chapters/
        ├── ch01.md         ← 每章一个文件
        └── ...

第三步:确认 meta.json 必须字段

{
  "title": "《书名》",
  "author": "xxx",
  "status": "待更新",
  "current_chapter": 0,
  "word_count": 0,
  "platform": "番茄小说",
  "last_updated": "",
  "主角年龄": "X岁",
  "主角能力等级": "能A/B,不能C",
  "金手指当前等级": "LvX",
  "悬念状态": {
    "悬念A": {"承诺章节": N, "状态": "待交代"}
  }
}

status 可选值:

  • 待更新 → 正常日更
  • 停更 → 跳过
  • 完结 → 跳过

⚠️ 铁律:每次写作前必须读取状态文件

禁止凭记忆写作。每次必须从文件读取当前状态。

对一本书操作前,按顺序读取以下所有文件

BOOK_DIR="~/.openclaw/workspace/novels/novel-{N}/"

必须读取:
1. meta.json             → 章节数、主角年龄/能力、状态
2. book-bible.md         → 金手指边界、主线进度、已承诺的悬念
3. memory/人物性格.md    → 各角色当前能力/性格
4. memory/伏笔钩子.md    → 哪些悬念承诺了几章内交代
5. 最新章节 ch{N}.md     → 上章结尾主角做了什么/说了什么,承接关系

每日写作任务(完整流程)

目标:每天每本写 2 章,每章 大于 2000 字,最多 3500 字

执行流程(每步不可跳过)

STEP 1:扫描 novels/ 目录
  - 扫描 ~/.openclaw/workspace/novels/
  - 过滤 meta.json 中 status ≠ "已放弃" 且 ≠ "已完本" 的书
  - 停更/完结/不存在 → 跳过

STEP 2:读取当前书籍状态
  对每本书,依次读取:
  a. meta.json             → current_chapter、主角年龄、能力等级
  b. memory/人物性格.md    → 当前主角能做什么/不能做什么
  c. memory/世界观设定.md → 金手指规则和边界
  d. 最新章节 ch{N}.md    → 上章结尾,必须承接

STEP 3:输出「本章状态确认」
  必须输出以下内容后才能开始写:

  📋 [{书名}] 第{N+1}章写作前确认

  【基础状态】
  - 当前章节:ch{N+1}
  - 主角年龄:{从meta.json}
  - 主角能力等级:{从memory/人物性格.md}
  - 金手指等级:{从book-bible.md}
  - 核心悬念待交代:{从memory/伏笔钩子.md}

  【承接检查·上章结尾】
  - 上章结尾:{从ch{N}.md最后一段}
  - 本章必须承接:{如何自然接上}

  【能力边界检查】
  - 本章主角能做什么:{列举}
  - 本章主角不能做什么:{列举}(严禁超出边界)

  【悬念承诺检查】
  - {悬念A}:第{X}章承诺→第{Y}章交代,本章是否该兑现?

  字数目标:2000-3500字

STEP 4:写章节(按单章模板)

STEP 5:写完后的「一致性自检」——逐条确认才能发

  【主角一致性检查】
  - [ ] 年龄:本章={}岁,与meta.json一致,无跳跃
  - [ ] 能力:能做{},不能做{},没有超出边界的新能力
  - [ ] 情绪表现:通过{动作/表情/声音}表现,不是【系统提示】独挑大梁

  【标题匹配检查】
  - [ ] 标题"{章名}"核心事件={},正文≥80%围绕此事件

  【悬念推进检查】
  - [ ] 承诺{章节}交代的{悬念},本章已/未交代(不得逾期)
  - [ ] 新增悬念{悬念名},承诺第{}章交代

  【字数检查】
  - [ ] 实际字数 2000-3500字(超出需拆分,短了需补写)

STEP 6:保存章节
  - 路径:chapters/ch{N+1}.md
  - 格式:Markdown

STEP 7:更新 meta.json
  - current_chapter += 1
  - word_count += 新增字数
  - last_updated = 今天日期
  - 如有主角年龄/能力变化,同步更新

STEP 8:更新 memory 文件
  - memory/人物性格.md(如主角能力有变化)
  - memory/伏笔钩子.md(如有悬念推进或新增)

STEP 9:发送飞书消息给用户
  每章单独一条消息,格式见下方「发送格式」

STEP 10:发送日更汇总报告
  格式见下方「日更汇总格式」

单章写作模板

【章节信息】
第{X}章 | {章节名} | 本章爽点类型:{钩子/反转/升级等}

【情节概述】
{两句话讲清楚这章发生什么}

【主角当前状态核对】
- 年龄:{从meta.json}
- 能力等级:{从memory/人物性格.md}
- 上章结尾主角做了什么/说了什么:{确认}

【必须包含元素】
- {冲突/危机}
- {金手指展示(必须符合边界)}
- {本章钩子}

【写作要求】
- **章节标题格式(必须严格遵守,否则发布脚本无法提取标题):**
  - 第一行必须是 `第{N}章 | {标题}` 格式,示例:`第13章 | 真相`
  - 分隔符必须是 **竖线 `|`**,前后可以有空格,禁止使用冒号、破折号等其他分隔符
  - 标题两个字以内算违规,标题里不能包含 `|` 字符
- 字数:2000-3500字
- 前500字必须有冲突
- 每1000字一个小高潮
- 结尾留悬念
- 短句为主,减少"的"字
- 情绪:必须通过{动作/表情/声音/行为}表现,禁止【系统提示】独挑大梁

发送给用户的格式

每章单独一条消息:

📖 《{书名}》第{X}章 · {章节标题}

{正文全文}

---
字数:{xxxx}字 | 本书总字数:{xxxxx}字

日更汇总(每本书日更完成后发一条):

📖 《{书名}》日更 · {日期}

━━━ 第X章 ━━━
{章节标题}
{正文}

━━━ 第X+1章 ━━━
{章节标题}
{正文}

字数:{xxx}字 / {yyy}字 | 本书总字数:{zzzzz}字

⚠️ 一致性确认:主角{X}岁 | 能力无新增 | 悬念无逾期

金手指边界规则(必须遵守)

好的设定(金手指有边界):
  系统:金手指系统
  能力:主角可通过情绪共鸣影响周围50米内所有人的情绪
  限制:主角每次使用能力后需要睡眠2小时恢复;主角无法主动控制能力触发时机
  升级条件:主角成长度达到20/50/80时解锁对应技能

禁止的设定(无边界!):
  ❌ 系统可以生成任何能力,宿主需要什么就有什么
  ❌ 系统可以主动触发宏观事件(热搜、舆论等)
  ❌ 系统没有使用代价和冷却机制

质量速查(每次输出前逐条确认)

创作质量

  • 第一个字有冲突?
  • 500字内有危机/钩子?
  • 金手指展示了(且符合边界)?
  • 每1000字有情节点?
  • 结尾有悬念?
  • 短句为主(每段≤3行)?
  • 没有连续3段纯对话?
  • 字数 2000-3500字?

一致性(核心!)

  • 主角年龄:本章={}岁,与meta.json一致,无跳跃
  • 主角能力:能做{列举},不能做{列举},没有超出边界的新能力
  • 主角情绪表现:是通过{动作/表情/声音}表现,不是【系统提示】独挑大梁
  • 标题匹配:标题"{章名}"核心事件={},正文≥80%围绕此事件
  • 悬念推进:承诺{章节}交代的{悬念},本章已/未交代(不得逾期)

常见错误清单(违反 = 严重错误)

#错误类型错误描述如何避免
1主角年龄跳跃0岁婴儿突然会说话/唱歌/走路严格按年龄-能力表写,用meta.json核对
2金手指无限膨胀需要什么能力就冒出什么能力Book Bible阶段设好边界,禁止凭空创造
3标题与内容不符标题写A,正文80%在写B写前核查清单里有标题匹配检查
4show-don't-tell违规只写【系统提示:主角哭了】,没有动作/表情/声音一致性检查里有情绪表现方式检查
5悬念不兑现承诺3章内交代,结果写到第10章还没交代伏笔钩子.md里记录承诺章节,超时=错误
6能力忽高忽低主角这章能A,下章突然不能A了每次写之前读memory/人物性格.md
7不读取文件凭记忆"我记得主角上次做了什么"就直接写写作前强制Step 1:读取所有状态文件

Comments

Loading comments...