Tinger-X/dsh-chapter-word-counter ↗★ 0
dsh-chapter-word-counter
DeepSeek Harness 工具插件:统计小说章节文件的正文字数,提供 chapter_words_count 工具。
AI 分析
核心用途是为 DSH 提供精准的小说正文字数统计工具(自动忽略标题行和空白符)。适合网文作者或编辑进行字数统计与文本分析。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-chapter-word-counter
DeepSeek Harness (DSH) 章节字数统计工具插件(Cordis 插件)。 DSH tool plugin: count the body word count of novel chapter text files.
注册一个模型可直接调用的工具 chapter_words_count:传入章节文件路径列表,返回与输入顺序一致的正文字数列表。
chapter_words_count(file1, file2, ...) -> [3156, 3349, ...]
统计规则(Counting rule)
- 忽略第一行(章节号 + 标题,如「第001章 开篇」);
- 去除换行符(以及空格、制表符、全角空格等一切空白字符)——只统计正文中的文字和标点;
- 其余每个字符(汉字、标点、数字、字母)计 1 字,按码点计数。
- 路径由 DSH 文件系统后端解析(绝对路径或工作区相对路径),受当前沙箱权限约束;
- 文件不存在或不是普通文件时报错;
- 空文件或只有标题行的文件计 0。
包结构(Layout)
lib/count.js 纯计数逻辑(零依赖,可独立测试、独立 import)
lib/index.js Cordis 插件本体:name / inject / Config / apply
test/ node:test 单元测试(npm test)
插件按 Cordis/DSP 惯例导出 { Config, apply, inject, name }:
name = "dsh-chapter-word-counter"(加载器补丁行按此名引用)inject = ["tools", "fs"](工具注册表 + 沙箱化文件系统服务)- 经
ctx.tools.register(defineTool({...}))注册,工具名chapter_words_count - 读取文件一律走
ctx.fs(与内置 read/write 工具同一沙箱与观测链路)
安装到 DeepSeek Harness(Install & activate)
在 profile 的补丁层($DSH_HOME/profiles//cordis.patch.yml)插入一行:
- insert:
- id: dsh-chapter-word-counter
name: 'dsh-chapter-word-counter'
并把本包安装到插件解析路径。两种方式:
方式 A(推荐,标准):在 profile 目录用 pnpm 安装本包后,按包名引用:
dsh plugin --profile web add dsh-chapter-word-counter@github:Tinger-X/dsh-chapter-word-counter
# 或先克隆到本地后:dsh plugin --profile web add file:D:\...\dsh-chapter-word-counter
方式 B(手动):把整个包目录复制到 DSH 安装目录的 node_modules 下(加载器从安装目录解析裸包名):
$src = ''
$dst = '\node_modules\dsh-chapter-word-counter'
Copy-Item $src $dst -Recurse
profile 补丁层会被运行中的服务热加载(watchUserPatches),通常无需重启;若未生效,重启 dsh web 即可。
开发与测试(Develop & test)
npm install # 安装 schemastery 及 @deepseek-ai/* 开发依赖
npm test # node --test test/
计数规则自检样例:
| 输入 | 正文字数 |
|---|---|
第001章 开篇\n晨光落进窗来,檐角有风。\n猫在打盹。\n | 17 |
第999章 测试\nABC123,。!?\n | 10 |
| 空文件 / 只有标题行 | 0 |
License
MIT © Tinger-X