CiteGuard 是 DeepSeek Harness 的引用检查器与受限元数据核验工具。它可以从草稿中提取…
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Chhlafiu4312/citeguard该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-citeguard(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 21:26:26
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 27 处,展示前 21 条)
- 读取本地文件scripts/prepare.mjs:20
if (!existsSync(entry)) { - 执行外部命令来自配置/变量scripts/prepare.mjs:24
const result = spawnSync(process.execPath, [entry, ...args], { cwd: root, stdio: 'inherit' }) - 执行外部命令固定命令scripts/extract-patch.mjs:40
return execFileSync('git', ['-C', harness, ...args], { cwd, encoding: 'utf8' }) - 读取本地文件scripts/extract-patch.mjs:61
const config = existsSync(args.config) - 读取本地文件scripts/extract-patch.mjs:62
? JSON.parse(await readFile(args.config, 'utf8')) - 读取本地文件scripts/extract-patch.mjs:71
if (!existsSync(args.config)) { - 读取本地文件scripts/extract-patch.mjs:103
const content = await readFile(path, 'utf8') - 写入本地文件scripts/extract-patch.mjs:107
await writeFile(path, content.replace(seam.old, seam.new)) - 写入本地文件scripts/extract-patch.mjs:115
await writeFile(out, patch) - 执行外部命令固定命令scripts/extract-patch.mjs:116
execFileSync('git', ['-C', baselineTree, 'apply', '--check', out], { encoding: 'utf8' }) - 执行外部命令固定命令scripts/extract-patch.mjs:117
execFileSync('git', ['-C', trimmed, 'apply', '--check', '-R', out], { encoding: 'utf8' }) - 执行外部命令来自配置/变量scripts/update-snapshots.mjs:7
const result = spawnSync(process.execPath, [join(root, 'lib/cli.js'), '--text', 'Claim (10.1234/example).'], { encoding: 'utf8' }) - 写入本地文件scripts/update-snapshots.mjs:12
writeFileSync(join(root, 'tests/snapshots/citeguard-offline.md'), result.stdout) - 读取本地文件scripts/verify-release-tag.mjs:6
const packageJson = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8')) - 读取本地文件scripts/verify-self-contained.mjs:11
const packageJson = JSON.parse(readFileSync(join(root, 'package.json'), 'utf8')) - 读取本地文件scripts/verify-self-contained.mjs:31
for (const entry of readdirSync(directory, { withFileTypes: true })) { - 读取本地文件scripts/verify-self-contained.mjs:55
const source = readFileSync(filePath, 'utf8') - 读取本地文件scripts/verify-self-contained.mjs:73
} else if (!existsSync(targetPath)) { - 读取本地文件scripts/verify-self-contained.mjs:102
if (!existsSync(join(root, requiredPath))) failures.push(`missing repository-layout contract ${requiredPath}`) - 读取本地文件scripts/verify-self-contained.mjs:113
const lockfileSource = readFileSync(join(root, 'pnpm-lock.yaml'), 'utf8') - 读取本地文件src/cli.ts:41
readFile: path => readFile(path, 'utf8'),
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-timeout给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 提取草稿引用
- 核验引用证据
为 DeepSeek Harness 提取引用并核验证据。
README
由 DeepSeek 最新模型翻译生成CiteGuard
CiteGuard 是 DeepSeek Harness 的引用检查器与受限元数据核验工具。它可以从草稿中提取 DOI、arXiv、URL 和 Markdown 引用,完成可机械验证的检查,并为每个结论标明正确的置信边界。
它绝不会把“链接能打开”写成“论点已被证明”。
它解决什么问题
AI 生成的引用可能以不同方式出错:标识符格式错误、论文不存在、标题张冠李戴、链接失效,或者真实论文被放在一个它并不支持的论点旁。CiteGuard 负责发现机械层面的错误,同时把语义判断明确留给人工审阅。
草稿 ──> 提取与规范化 ──> 离线校验 ──> 受限的提供方核验 │ │ └─ 邻近关系标记 ─────┴─> 证据回执
核心能力
- 提取、规范化并去重 DOI、arXiv、HTTP URL 和 Markdown 链接。
- 为每条引用记录行列位置、上下文和同句邻近关系。
- 通过固定 Crossref API 核验 DOI,通过固定 arXiv API 核验预印本元数据,并将重定向锁定在原提供方主机。
- 对带描述性标题的 Markdown 链接进行标题相似度检查。
- 只有显式设置 networkMode=full 才会请求普通 URL。
展开完整文档(README 剩余 1 节)
CiteGuard
CiteGuard 是 DeepSeek Harness 的引用检查器与受限元数据核验工具。它可以从草稿中提取 DOI、arXiv、URL 和 Markdown 引用,完成可机械验证的检查,并为每个结论标明正确的置信边界。
它绝不会把“链接能打开”写成“论点已被证明”。
它解决什么问题
AI 生成的引用可能以不同方式出错:标识符格式错误、论文不存在、标题张冠李戴、链接失效,或者真实论文被放在一个它并不支持的论点旁。CiteGuard 负责发现机械层面的错误,同时把语义判断明确留给人工审阅。
草稿 ──> 提取与规范化 ──> 离线校验 ──> 受限的提供方核验 │ │ └─ 邻近关系标记 ─────┴─> 证据回执
核心能力
- 提取、规范化并去重 DOI、arXiv、HTTP URL 和 Markdown 链接。
- 为每条引用记录行列位置、上下文和同句邻近关系。
- 通过固定 Crossref API 核验 DOI,通过固定 arXiv API 核验预印本元数据,并将重定向锁定在原提供方主机。
- 对带描述性标题的 Markdown 链接进行标题相似度检查。
- 只有显式设置 networkMode=full 才会请求普通 URL。
- SSRF 防护:仅允许 HTTP(S)、拒绝 URL 凭据、按规范子网拒绝 IPv4/IPv6 私有及特殊地址、检查全部 DNS 答案、逐跳检查重定向,并使用一个端到端截止时间及及时响应体回收。
- 提供 citeguard_check Harness 工具、独立 CLI、稳定 JSON 回执和 TypeScript API。
- 限制单次输入与引用数量,避免草稿触发无界网络请求。
完整证据契约见 docs/design.md。
快速开始
从源码构建需要 Node.js 22.19 或更高版本,以及 pnpm。
pnpm install
pnpm run prepare
node lib/cli.js --text "This result follows prior work (10.1234/example)."
CLI 默认完全离线。可以只启用固定元数据提供方,或显式允许普通公网 URL:
node lib/cli.js --file draft.md --online
node lib/cli.js --file draft.md --full --json --fail-on mismatch,unreachable,blocked
退出码:0 表示成功,1 表示出现 --fail-on 指定状态,2 表示参数、I/O 或核验设置错误。
安装到 DeepSeek Harness
源码已经发布到 GitHub,npm 包尚未发布。请在本机终端中运行以下命令,不要粘贴到 Harness 的聊天输入框中;无需预先全局安装 dsh。
npx -y @deepseek-ai/dsh plugin --profile web add https://github.com/Chhlafiu4312/citeguard/releases/download/v0.1.7/dsh-citeguard-0.1.7.tgz
npx -y @deepseek-ai/dsh --profile web --dump-config
安装后重启正在运行的 Web UI。
npx -y @deepseek-ai/dsh web
或构建并安装本地 tarball。
pnpm pack
npx -y @deepseek-ai/dsh plugin --profile web add ./dsh-citeguard-0.1.7.tgz
以上命令会安装到 Web UI 使用的 web profile;如果只使用终端模式,请把 web 替换为 headless。包内的 cordis.patch.yml 会注册 citeguard。可选的 dsh-citeguard/invariant companion 保留给显式挂载 Harness invariants 服务的自定义 profile;官方 headless 与 web profile 默认不挂载该服务。激活后的工具是 citeguard_check({ text, online? })。
状态含义
| 状态 | 含义 |
| verified | DOI 或 arXiv 标识符在受限元数据提供方解析成功,显式标题也通过相似度阈值。 |
| reachable | 显式允许的普通 URL 在资源限制内成功响应。 |
| mismatch | 元数据解析成功,但链接标签与提供方标题相似度不足。 |
| unverified | 本地语法可接受,但离线模式或网络策略没有发出请求。 |
| invalid | 标识符或 URL 未通过本地语法检查。 |
| unreachable | DNS、超时、HTTP 或提供方错误导致无法核验。 |
| blocked | 请求违反网络安全策略或资源限制。 |
任何状态都不代表语义蕴含、研究质量或事实真伪。“论点关联”只表示引用出现在同一个句子中。
配置
| 字段 | 默认值 | 作用 |
| enabled | true | 注册 citeguard_check 工具。 |
| networkMode | metadata | off、固定提供方 metadata 或 SSRF 检查后的 full。 |
| timeoutMs | 8000 | 覆盖 DNS、全部重定向、响应头和完整响应体读取的单一端到端时限。 |
| maxResponseBytes | 1048576 | 最大响应体。 |
| maxRedirects | 4 | 最多允许的逐跳验证重定向次数。 |
| minTitleSimilarity | 0.55 | 显式标题标签所需的词集合相似度。 |
| maxTextChars | 200000 | 单次输入最大长度。 |
| maxCitations | 100 | 单次最多核验的引用数量。 |
完整默认值见 cordis.patch.yml。
安全边界
- metadata 模式只访问 Crossref 和 arXiv;精确主机白名单会在 DNS 解析前拒绝跨提供方重定向,普通 URL 不会被请求。
- full 模式需要主动开启,并在每次重定向前重新检查目标。
- 缺失、畸形、危险或超限的重定向目标在被拒绝前会先取消响应体。
- DNS 检查可以降低 SSRF 风险,但不能让远程内容自动可信。
- HTML 解析保持浅层,不执行脚本。
- Crossref/arXiv 的可用性、限流和元数据质量不由 CiteGuard 控制。
- 标题词重合只用于发现错配,不是作者身份或抄袭判断。
- 是否真正支持某个论点,仍然需要人工阅读来源。
安全问题请按 SECURITY.md 报告,不要在公开 Issue 中发布私人申请材料或攻击目标。
开发与状态
pnpm run verify:self-contained
pnpm run typecheck
pnpm test
pnpm run prepare
pnpm run build
full 模式会逐个验证重定向目标,并把连接固定到已经通过校验的公网 DNS 地址集合,避免校验后再次解析产生的 DNS 重绑定竞态。自定义 fetch transport 必须只连接第三个参数收到的已验证地址集合;内置 transport 会强制执行这一约束。
测试全部使用确定性假提供方,不会发起真实网络请求。0.1.7 对 DNS 与完整重定向流程执行单一截止时间,并及时释放被拒绝的重定向响应体;版本发布于 Chhlafiu4312/citeguard。Release tarball 同时提供 SHA-256 校验文件和 GitHub 构建来源证明。包仍保持 private: true,不会发布到 npm。
采用 BSD-3-Clause 许可证,详见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Chhlafiu4312/citeguard
CiteGuard 是 DeepSeek Harness 的引用检查器与受限元数据核验工具。它可以从草稿中提取…
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 426,451已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,777已汉化MCP
71.8
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲一键通z91772524-ai/pojia-next
🌐 官网国内推荐从这里进:
★ 1,021已汉化DSH
71.6
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 656已汉化DSH
70.7
这是你的仓库?认领条目