Skill flagged — suspicious patterns detected

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

对话读书助理

v1.0.0

新一代读书辅助工具,支持智能标签管理、全文搜索、批量导入导出和阅读统计;当用户输入"读书"开头的内容记录摘录、说"读完了"结束阅读、搜索笔记内容或导出阅读记录时使用

0· 81·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 ludiansheng/reading-assistant-skill.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "对话读书助理" (ludiansheng/reading-assistant-skill) from ClawHub.
Skill page: https://clawhub.ai/ludiansheng/reading-assistant-skill
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 reading-assistant-skill

ClawHub CLI

Package manager switcher

npx clawhub@latest install reading-assistant-skill
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
技能名称、描述和随附脚本(search/import/export/stats/chapter_parser)在功能上匹配:管理摘录、全文搜索、批量导入/导出与统计。所需依赖(仅 python-dateutil)与功能也合理。没有请求与目的无关的外部凭据或二进制。
!
Instruction Scope
SKILL.md 与脚本主要在用户工作目录下的 ./reading-notes/ 下读写文件,这是与功能直接相关的行为并且大部分是合理的。但脚本接受来自用户(或交互)的 book_name 并将其直接用于构造文件路径(例如 os.path.join(base_path, 'books', f"{book_name}.json")),未对 book_name 做强制净化或禁止绝对路径/上级目录引用。此外删除操作基于文件名直接删除对应 JSON 文件(用户确认在交互层面提到,但脚本本身对恶意路径未防护)。这增加了目录遍历或写入/删除非预期路径的风险。
Install Mechanism
无安装脚本,instruction-only + Python 脚本。没有下载远程二进制或第三方 registry 安装,风险较低。SKILL.md 指定的依赖仅为 python-dateutil==2.8.2。
Credentials
不要求任何环境变量或凭据,所有操作均为本地文件读写,所需权限与描述的功能相称。值得注意的是脚本会在用户工作目录创建/修改文件,用户应确认运行环境和权限。
Persistence & Privilege
always:false(默认),且允许用户调用或由代理按需调用,未请求永久驻留或修改其他技能/系统配置。自治调用为平台默认,不构成额外风险。
What to consider before installing
要点与建议: - 总体情况:该技能功能与描述一致,所有脚本只在本地文件系统(./reading-notes/)上操作,未见网络外联或需要任何密钥/凭据,且依赖轻量(python-dateutil)。 - 主要风险:脚本接受“书名/文件名”输入并直接拼接成文件路径并进行创建、写入或删除。若传入绝对路径或包含上级目录(../)等,可能导致在预期目录之外写入或删除文件(例如覆盖/删除系统文件或用户其他数据)。SKILL.md 与 references 中有书名验证建议,但脚本并未在运行时强制执行这些验证。 - 建议措施: 1) 在受信环境运行:先在隔离环境(VM / 临时用户账户 /沙箱)中试用,避免直接在主账户上执行导入/删除操作。 2) 检查/修补脚本:在将其用于生产数据前,确保对 book_name 做严格校验和规范化(例如禁止绝对路径、移除路径分隔符、限制字符集并用安全的文件名转义),或在脚本中使用绝对路径并验证最终路径必须以项目根(例如 os.path.abspath(base_path))为前缀。 3) 备份数据:在首次运行前备份现有目录(reading-notes/),以防误覆盖或误删。 4) 检查删除流程:虽然文档提到“需要用户确认”,但核实实际交互链路(调用者/智能体在何处强制确认)并确保脚本在执行删除前再次进行明确确认并做不可撤销前提示。 5) 审计与最小权限:以最小权限用户运行技能(限制对关键系统目录的写权限),避免以 root/管理员身份运行。 - 其他提示:如果你信任此技能并希望长期使用,建议实现或要求提交补丁来: • 对所有外部输入(book_name、output_path)进行严格净化和归一化(os.path.abspath + 校验前缀), • 明确拒绝绝对路径或包含上级目录的名称, • 在导入/删除等破坏性操作处增加可选的沙箱模式(仅写入到 ./reading-notes/sandbox/)。 如果你想,我可以给出一段示例代码来修补这些脚本,或检查哪些具体调用路径会触发文件写入/删除以便更精确地缓解风险。

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

latestvk975eandbta1rv4fmsdwzhshh984e21t
81downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

读书辅助工具

任务目标

本 Skill 用于:帮助用户高效管理阅读摘录,构建个人知识库 能力包含:书籍管理、智能摘录整理、标签系统、全文搜索、批量导入导出、阅读统计 触发条件:用户输入"读书"开头的文本或语音,自动记录到当前在读书籍

前置准备

依赖说明

python-dateutil==2.8.2

数据目录结构

在用户工作目录下创建以下结构:

./reading-notes/
├── current.json          # 当前在读书籍信息
└── books/
    ├── 书名1.json        # 书籍档案
    └── 书名2.json

操作步骤

一、快速记录摘录(核心流程)

1.1 自动记录

触发:用户输入"读书"开头的文本或语音

示例

  • "读书 第1章讲到了系统1和系统2的概念..."
  • "读书 这个观点很有意思,认知偏差会影响我们的决策..."
  • "读书 作者在这里提出了一个反直觉的结论..."

执行流程

  1. 检查当前书籍:读取 current.json,确认是否有在读的书籍
  2. 如果当前有在读书籍
    • 直接处理摘录内容(章节识别 → 标签提取 → 深层分析)
    • 保存到当前书籍档案
    • 确认保存成功
  3. 如果当前没有在读书籍
    • 询问书名
    • 创建书籍档案
    • 更新 current.json
    • 处理摘录内容并保存

章节识别:调用 scripts/chapter_parser.py 识别章节信息

章节识别规则:参考 references/chapter-rules.md

1.2 补充记录

触发:用户明确提到书名,即使这本书已经标记为"已完成"

示例

  • "《思考快与慢》里有个观点:系统1是快速的..."
  • "刚才在《原则》中看到一句话..."

执行流程

  1. 识别书名
  2. 检查书籍档案是否存在
  3. 如果不存在,询问是否创建
  4. 如果存在(无论状态),直接补充记录
  5. 确认保存成功

注意:补充记录不会改变书籍状态,也不会更新 current.json

二、书籍生命周期管理

2.1 开始阅读

触发:用户输入"读书"开头的文本,且当前没有在读的书籍

执行

  1. 询问书名
  2. 询问作者(可选)
  3. 创建书籍档案:./reading-notes/books/{书名}.json
  4. 更新当前在读:./reading-notes/current.json
  5. 书籍状态设为 reading
  6. 处理用户输入的摘录内容

数据结构:参考 references/data-structure.md

2.2 结束阅读

触发:用户说"读完了"、"这本书看完了"、"读完了《XXX》"等

执行

  1. 确认要结束的书籍(如果是当前在读,直接处理;如果不是,询问书名)
  2. 更新书籍状态为 completed
  3. 清空 current.json
  4. 生成阅读摘要(可选)
  5. 确认结束阅读

注意:结束阅读后,用户输入"读书"开头的内容将不会记录到这本书,除非:

  • 用户明确提到这本书的书名(补充记录)
  • 用户重新开始读这本书(会创建新的档案或询问是否继续)

2.3 切换书籍

触发:用户说"切换到《XXX》"或"开始读《XXX》"

执行

  1. 检查书籍是否存在
  2. 如果存在且状态为 completed,询问是否继续阅读(重新开始)
  3. 如果不存在,创建新档案
  4. 更新 current.json
  5. 书籍状态设为 reading
  6. 确认切换成功

2.4 删除书籍

触发:用户说"删除《XXX》"

执行

  1. 确认删除操作
  2. 删除书籍档案文件
  3. 如果是当前在读书籍,清空 current.json
  4. 确认删除成功

三、标签管理

3.1 自动标签

智能体根据摘录内容自动提取标签,包括:

  • 核心概念(如"认知偏差"、"系统思维")
  • 人物名称
  • 关键理论
  • 方法论

3.2 手动标签

触发:用户说"给这条摘录添加标签:XXX"或"打标签"

执行

  1. 识别最近的摘录
  2. 添加用户指定的标签
  3. 确认标签添加成功

3.3 查看标签

触发:用户说"查看所有标签"或"有哪些标签"

执行

  1. 读取当前书籍的所有标签
  2. 按使用频率排序显示
  3. 显示每个标签对应的摘录数量

四、笔记搜索

4.1 全文搜索

触发:用户说"搜索XXX"或"查找关于XXX的笔记"

执行:调用 scripts/search_notes.py 搜索

参数说明

  • keyword(必需):搜索关键词
  • book_name(可选):指定书籍,不填则搜索所有书籍
  • tag(可选):按标签筛选
  • chapter(可选):按章节筛选

输出

  • 匹配的摘录列表
  • 高亮显示关键词
  • 显示书籍、章节、标签信息

4.2 按标签筛选

触发:用户说"查看标签XXX的笔记"

执行

  1. 调用搜索脚本,传入标签参数
  2. 显示该标签下的所有摘录

4.3 按章节筛选

触发:用户说"查看第X章的笔记"

执行

  1. 调用搜索脚本,传入章节参数
  2. 显示该章节的所有摘录

五、导出笔记

5.1 导出当前书籍

触发:用户说"导出笔记"、"导出为XXX格式"

执行

  1. 询问导出格式(Markdown/HTML/PDF)
  2. 询问是否包含深层分析(默认包含)
  3. 调用 scripts/export_notes.py 生成文件
  4. 提供下载路径

导出模板:参考 references/export-templates.md

5.2 导出所有笔记

触发:用户说"导出所有笔记"

执行

  1. 询问导出格式和输出目录
  2. 为每本书生成独立的笔记文件
  3. 生成索引文件
  4. 显示导出结果统计

六、阅读统计

6.1 单书统计

触发:用户说"统计《XXX》"或"阅读报告"

执行:调用 scripts/stats.py 生成统计报告

输出内容

  • 摘录总数
  • 章节覆盖情况
  • 标签分布
  • 时间线(按日期统计)
  • 阅读天数

6.2 全局统计

触发:用户说"统计所有书籍"或"总体阅读报告"

执行

  1. 遍历所有书籍档案
  2. 汇总统计数据
  3. 生成可视化报告

输出内容

  • 书籍总数(在读/已完成/已归档)
  • 总摘录数
  • 阅读时间跨度
  • 最常使用的标签
  • 阅读活跃度

七、笔记查看

7.1 查看当前书籍

触发:用户说"查看笔记"或"显示笔记"

执行

  1. 读取当前在读书籍的档案
  2. 按章节组织显示
  3. 显示摘录内容、标签、时间

7.2 查看指定书籍

触发:用户说"查看《XXX》的笔记"

执行

  1. 读取指定书籍档案
  2. 按章节组织显示

八、批量导入

触发:用户说"导入笔记"或"批量导入"

执行流程

  1. 询问导入来源(微信读书/Kindle/其他)
  2. 请求用户提供文件路径
  3. 调用 scripts/import_notes.py 解析文件
  4. 显示导入预览(摘录数量、章节分布)
  5. 用户确认后批量保存
  6. 显示导入结果统计

支持格式:参考 references/import-formats.md

九、智能推荐(进阶)

9.1 相关摘录推荐

触发:用户说"找相关的笔记"

执行

  1. 分析最近一条摘录的关键词
  2. 搜索相似标签的摘录
  3. 推荐相关内容

9.2 知识关联发现

触发:用户说"发现知识关联"或"跨书籍搜索"

执行

  1. 分析所有书籍的标签
  2. 识别跨书籍的共同主题
  3. 展示知识网络

资源索引

必要脚本

领域参考

输出资产

注意事项

数据管理

  • 所有书籍档案存储在用户工作目录的 ./reading-notes/
  • 删除操作需要用户确认
  • 建议定期备份 reading-notes/ 目录

交互原则

  • 简洁优先:用户输入"读书"开头的内容时,直接记录,不要过多询问
  • 智能推断:能从上下文推断的信息不要重复询问
  • 确认机制:重要操作(删除、批量导入)需要用户确认

标签规范

  • 标签应简洁明确,避免过长
  • 优先使用通用概念,便于跨书籍关联
  • 避免同义词标签(如"认知偏差"和"认知偏误"应统一)

章节识别

  • 如果脚本无法识别章节,智能体应根据内容推断
  • 支持用户手动指定章节
  • 记录章节识别失败的情况,用于改进规则

书籍生命周期

  • reading 状态的书籍可以接受"读书"开头的输入
  • completed 状态的书籍不接受"读书"输入,除非用户明确提到书名
  • archived 状态的书籍不接受任何自动输入,仅供查看和搜索

使用示例

示例1:开始阅读并记录摘录

用户:读书 第1章讲到了系统1和系统2的概念,系统1是快速的直觉系统,系统2是慢速的理性系统。
智能体:检测到您当前没有在读的书籍,请问这本书的名字是?
用户:思考,快与慢
智能体:已创建《思考,快与慢》的书籍档案,现在可以记录摘录了。

已识别章节:第1章
已提取标签:系统1、系统2、双系统理论
深层含义:作者揭示了人类思维的二元结构,快思考负责直觉判断,慢思考负责理性分析,两者相互配合又时常冲突。
应用建议:在决策时,可以刻意激活系统2进行慢思考,避免系统1的直觉陷阱。

摘录已保存到《思考,快与慢》。

示例2:持续记录摘录

用户:读书 锚定效应是一种常见的认知偏差,人们在做判断时容易受第一印象的影响。
智能体:已识别章节:第11章
已提取标签:认知偏差、锚定效应、决策陷阱
深层含义:锚定效应是一种强大的认知偏差。即使我们知道锚点无关,仍然会受其影响。
应用建议:在谈判、购物、估值等场景中,警惕锚定效应的影响。

摘录已保存到《思考,快与慢》。

示例3:结束阅读

用户:读完了
智能体:确认结束阅读《思考,快与慢》吗?这本书已记录 45 条摘录。
用户:确认
智能体:已将《思考,快与慢》标记为已完成。

阅读摘要:
- 摘录数量:45 条
- 阅读天数:15 天
- 主要标签:认知偏差、决策、系统思维

您可以随时说"读书"开始新的阅读,或补充《思考,快与慢》的内容(需要明确提到书名)。

示例4:补充已完成的书籍

用户:《思考,快与慢》里还有个观点:可得性启发法也是一种认知偏差。
智能体:已识别章节:未分类
已提取标签:认知偏差、可得性启发
深层含义:人们倾向于根据记忆中容易想到的例子来判断事件的概率,而不是基于客观数据。
应用建议:在做判断时,问自己"我是否因为最近看到了相关新闻而高估了概率?"

摘录已补充到《思考,快与慢》(这本书已标记为完成,补充记录不会改变状态)。

示例5:搜索笔记

用户:搜索关于"认知偏差"的笔记
智能体:(调用搜索脚本)找到 3 条相关笔记:

1. 《思考,快与慢》第11章
   内容:锚定效应是一种常见的认知偏差...
   标签:认知偏差、锚定效应

2. 《影响力》第5章
   内容:社会认同也是一种认知偏差...
   标签:认知偏差、社会认同

3. 《思考,快与慢》第8章
   内容:可得性启发法是另一种认知偏差...
   标签:认知偏差、可得性启发

示例6:导出笔记

用户:导出《思考,快与慢》的笔记
智能体:请选择导出格式:Markdown、HTML、PDF
用户:Markdown
智能体:是否包含深层分析?(默认包含)
用户:包含
智能体:(调用导出脚本)已生成笔记文件:./reading-notes/exports/思考,快与慢.md
共包含 45 条摘录,已按章节组织。

Comments

Loading comments...