核对原产地台账的RVC算术与字段完整性
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PerryLink/dsh-origin-rvc-check该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/11/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-package-manifest@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 核对RVC算术
- 检查字段完整性
- 提示差异
原产地区域价值成分台账核对:依据各自由贸易协定原产地规则(协定文本,本次未取得)。仅提示差异,不作出定性结论。
README
由 DeepSeek 最新模型翻译生成dsh-origin-rvc-check — 原产地判定台账的区域价值成分检查
dsh-origin-rvc-check 读取一份原产地判定台账(原产地判定台账)——协议表头加上每种材料一行——并检查台账自身的算术:协议和产品是否已声明、区域价值成分是否等于(FOB − 非原产价值)÷ FOB × 100、RVC 是否达到你配置的阈值、每种材料是否声明原产地、原产地标准是否来自你协议的词汇表、材料编号是否唯一,以及描述中是否残留未替换的占位符。
它能回答什么
| 你问 | 它回答什么 |
| 区域价值成分列写着 70.00,但该行的净价值是 220,表头的 FOB 是 400。这会被抓到吗? | 会。OR-002 根据净价值列和 FOB 重新计算扣减法公式(FOB − 非原产价值)÷ FOB × 100,容差 0.5 点,当声明的 RVC 不一致时报告该行。它只做算术,并且假定使用扣减法:用累加法填写的台账即使自身惯例正确也会被报告,所以请修改 expression 或禁用该规则。如果 RVC、净价值或 FOB 无法读作数字,该规则会在 skipped 中报告自身,而不是静默通过。 |
| 哪里都没设阈值,而且每一行都通过了。它到底检查 RVC 了吗? | 没有。
展开完整文档(README 剩余 1 节)
dsh-origin-rvc-check — 原产地判定台账的区域价值成分检查
dsh-origin-rvc-check 读取一份原产地判定台账(原产地判定台账)——协议表头加上每种材料一行——并检查台账自身的算术:协议和产品是否已声明、区域价值成分是否等于(FOB − 非原产价值)÷ FOB × 100、RVC 是否达到你配置的阈值、每种材料是否声明原产地、原产地标准是否来自你协议的词汇表、材料编号是否唯一,以及描述中是否残留未替换的占位符。
它能回答什么
| 你问 | 它回答什么 |
| 区域价值成分列写着 70.00,但该行的净价值是 220,表头的 FOB 是 400。这会被抓到吗? | 会。OR-002 根据净价值列和 FOB 重新计算扣减法公式(FOB − 非原产价值)÷ FOB × 100,容差 0.5 点,当声明的 RVC 不一致时报告该行。它只做算术,并且假定使用扣减法:用累加法填写的台账即使自身惯例正确也会被报告,所以请修改 expression 或禁用该规则。如果 RVC、净价值或 FOB 无法读作数字,该规则会在 skipped 中报告自身,而不是静默通过。 |
| 哪里都没设阈值,而且每一行都通过了。它到底检查 RVC 了吗? | 没有。OR-003 出厂时 threshold: 0,意思是未配置,所以该规则会在 skipped 中报告自身,而不是静默通过。把 threshold 设为你协议的数值(例如 40),它就会报告每一行 RVC 低于该值的记录。一条发现只意味着「低于你设定的阈值」——并不意味着货物非原产,因为原产地也可以通过完全获得或税则归类改变标准取得;RVC 只是其中一条路径。 |
| 有一行材料把原产国留空了。 | OR-004 报告每一行原产国(origin)列存在但为空的情况。它只检查单元格是否填写,不检查声明的原产地是否真实,也不检查它是否影响原产地状态;当材料根本没有原产地列时,该规则会报告自身不适用,而不是静默通过。 |
| 原产地标准列里有一个值不在我的列表里。 | OR-005 把每个值与包里的 values 列表比较。该列表出厂时为空——各协议的标准名称和缩写不同,所以插件不硬编码任何值——然后该规则会在 skipped 中报告自身;把 values 填上你协议的标准(完全获得、CTC、RVC、特定加工工序……),任何不在列表上的值都会被报告。它只检查值是否在列表上,不检查货物是否满足该标准。 |
| 同一料件序号出现在两行。 | OR-006 报告重复的料件序号(itemNo),比较时忽略空白字符。重复项会把非原产材料价值重复计算,从而破坏 RVC——这类缺陷会直接导致错误结论。它只报告重复,不判断两行中哪一行有错。 |
| 某个材料的品名列仍为 【待填】。 | OR-007 报告某行的品名(description)包含规则包 terms 中的任意一项——【、】、{{、}}、XXX、xxx、待填、待补充、TBD、todo、示例。从模板复制来的台账看起来像已经清点过材料,RVC 便建立在一份并不存在的材料清单之上。只查找列出的词,因此没人列出的占位符会漏过;terms 跟随你自己的模板。 |
遵循的标准
本规则包未引用任何公开标准:核查过程中未能从任何自由贸易协定的原产地规则中取得逐字文本,因此每条规则的 basis 都如实说明这一点,全部为 derived-from-principle,且没有任何一条高于 warn 或 info。这些检查依据的是台账自身的算术,以及你为适用协定配置的 RVC 阈值和判定标准词汇表。
| 文档 | 编号 | 引用规则 |
| 各自由贸易协定原产地规则(协定文本,本次未取得) | 现行协定版本本次未核实 | OR-001, OR-002, OR-003, OR-004, OR-005, OR-006, OR-007 |
边界: 本插件检查原产地判定台账的算术——协定与产品是否已声明、区域价值成分是否等于(FOB − 非原产价值)÷ FOB × 100、RVC 是否达到你配置的阈值、每个材料是否声明原产地、原产地标准是否来自你协定的词汇表、料件序号是否唯一、是否还有占位符残留。它不判定货物是否具备原产资格、是否适用优惠税率、原产地声明是否有效,也不判定是否发生原产地规避。
⚠️ 原产地规则是条约文本,本规则包不假装引用其中任何一条
RVC 及其他原产地标准——完全获得、税则归类改变——由各自由贸易协定的原产地规则规定。RCEP、中国—东盟、中韩等协定在阈值(40%、30% 及其他档位)和计算方法上各不相同。核查过程中未能从任何协定取得逐字文本,因此每条规则的 basis 都如实说明这一点,并停留在 warn 或 info。
在信任某项发现之前,有三点后果值得了解:
- OR-002 假定采用倒扣法——RVC =(FOB − VNM)÷ FOB × 100。有些协定允许累加法(区域价值 ÷ FOB × 100),同样货物会得出不同数值。按那种方法计算的台账会报出差异;请修改 expression 或禁用该规则。该检查通过表头回退读取 FOB 和净值,因此整套数据只声明一次的数值也能找到。
- OR-003 的阈值默认不设置。 阈值因协议而异,也因税则行而异,所以插件不硬编码任何阈值。命中该规则意味着「低于你设置的阈值」,而不是「这些货物不具备原产资格」——因为原产资格也可以通过完全获得或税则归类改变标准取得。
RVC 只是其中一条路径。 这个区别很重要,规则说明里也写明了。
- OR-005 的标准词表默认为空;标准名称和缩写因协议而异。
兼容性
| 层面 | 状态 |
| Harness | 对等范围 >=0.1.2-rc.1 <0.2.0 \|\| >=0.2.0-0 <0.3.0 —— 已验证可接受 0.2.0-rc.2 和 0.2.1-alpha.1。刻意不声明 engines.dsh:它没有读取方,也无法拒绝宿主 |
| Node | ^22.19.0 || >=24.0.0 |
| 平台 | 全部(纯 ESM;无原生代码、无网络、无模型调用) |
| 工具模式 | 在 native、ptc 和 both 下均可工作;要拿到完整物料清单请用 ptc |
功能
注册 origin_rvc_check 工具。它读取一份原产登记表——协议表头加每项材料一行——套用带版本号的规则包,然后返回报告。
| 规则 | 检查内容 | 严重级别 | 依据类型 |
| OR-001 | 已声明协议和产品 | warn | principle |
| OR-002 | RVC 采用扣减法公式 | warn | principle |
| OR-003 | RVC 达到你配置的阈值(默认关闭) | info | local |
| OR-004 | 每项材料都声明原产地 | warn | principle |
| OR-005 | 标准来自你的词表(默认关闭) | info | local |
| OR-006 | 材料编号唯一 | warn | principle |
| OR-007 | 描述中没有未替换的占位符 | warn | principle |
安装
dsh plugin --profile <name> add dsh-origin-rvc-check
dsh --profile <name> --dump-config | grep 'dsh-origin-rvc-check'
配置
| 键 | 类型 | 默认值 | 说明 |
| rulesFile | string | rules/origin-rvc-check.yaml | 规则包路径,相对于包根目录 |
| disabledRules | string[] | [] | 要停止运行的规则 id;每个都会出现在 skipped 中 |
| onlyRules | string[] | [] | 只运行这些规则 id;留空则运行全部规则 |
| skipNotes | string | "" | 附加到每条 skipped 原因后的备注 |
| timeoutMs | number | 120000 | 协作式工具超时预算 |
值得了解的规则级参数:
- OR-002 expression / tolerance —— RVC 公式,percent 作用于 [netValue, fob],容差 0.5 个百分点。如果你的协议采用累加法,请替换为累加形式。
- OR-003 threshold —— 你所在协议的 RVC 阈值,例如 40。0 表示该规则不运行。
- OR-005 values —— 你所在协议的标准,例如 [完全获得, CTC, RVC, 特定加工工序]。留空表示不检查。
- OR-007 terms —— 要查找的占位符。
材料格式
工具接受 JSON 或 YAML:
agreement: RCEP
agreementVersion: 2022 年生效文本 exporter: 某某出口有限公司 product: 某型电子元件 fob: '400' currency: USD rows:
- { 序号: '1', 商品编号: '8541400000', 品名: 某型电子元件, 原产国: 日本,
非原产材料价值: '180', 净价值: '220', 区域价值成分: '55.00', 原产地标准: RVC }
列名匹配不区分大小写,并忽略空格、下划线和连字符;台账自己的列名会保留,所以检查结果里报出的就是它读到的那一列。表头里只写一次的数值——比如 FOB——算术校验会自己找到,不必在每一行重复。
规则来源
规则数据放在 rules/origin-rvc-check.yaml。原产地规则属于条约文本,核验环节拿不到,所以规则包的 basis 条目会明确说明这一点,而不是引用某一条。加载时的守卫仍然要求每条规则都有 document、clause、excerpt 和 source,也仍然禁止把源自原则或本地配置的检查标成 error。
故障排查
- OR-002 在每一行都触发。 台账是按 build-up 方法算出来的。改 expression,或者关掉这条规则——不要放宽容差来掩盖定义不一致。
- OR-002 报告自己被跳过。 要么净价值列为空(build-up 方法会留空),要么缺 FOB。这项检查不会去猜该套用哪种约定。
- OR-003 报告自己被跳过。 没有设置阈值。阈值随协定和税则号列而变,所以插件不硬编码任何值。
- OR-003 触发了,但我认为货物符合原产地。 RVC 只是取得原产地的路径之一。完全获得标准或税则归类改变标准可能仍然满足——下结论之前,先对照适用的协定确认。
- OR-006 在同一个材料上触发两次。 编号重复会把非原产材料价值重复计算,从而破坏 RVC。改正编号。
- 插件装上了,但工具一直不出现。 检查 main 是否指向 lib/index.mjs,以及 pnpm run build 是否生成了它;main 写错会让加载器静默跳过入口。
- dsh plugin add 以不兼容为由拒绝这个包。 peer 范围覆盖 0.1.x 和 0.2.x;如果你的运行时不在这个范围内,就显式授予豁免: dsh plugin --profile <name> allow-version dsh-origin-rvc-check@0.1.0 --dsh-version <runtime> --accept-risk
- check 报告 manifest-peers 失败。 静态检查器比对的是一个硬编码的 peer 范围,它早于 0.2 系列。运行时会在安装时强制校验 peer 兼容性,所以声明的范围才是正确的;这是 dsh-plugin-dev 里已知的上游问题。
开发
pnpm install
pnpm run typecheck # tsc --noEmit
pnpm test # vitest, the shared table-plugin suite plus paired fixtures
pnpm run build # tsdown -> lib/index.mjs + lib/index.d.mtsbash
node ../scripts/sync-shared.mjs dsh-origin-rvc-check # refresh src/shared from ../_shared
插件只含数据:src/model.ts 声明表结构,共享工具包提供读取器和校验引擎,规则包声明每一项检查。
许可证
Apache License 2.0 © 2026 dsh-origin-rvc-check contributors。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
PerryLink/dsh-origin-rvc-check
核对原产地台账的RVC算术与字段完整性
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目