dsh-plugin
DayuanJiang/next-ai-draw-iodsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
为 DSH 智能体提供中国会计与税务知识库,由托管服务 Quaesto(api.accountingllm.site)提供,需联网、无需账号或 API key,但查询内容会发往该服务:查企业会计准则、小企业会计准则、审计准则与税法的原文条款、判断决策程序、适用性判定与税会差异,通过 10 个 MCP 工具与 china-accounting-standards 技能对外提供。
English | 中文
给 DeepSeek Harness 用的中国财会知识组合包。装上之后,agent 能按条取《企业会计准则》 《小企业会计准则》《中国注册会计师执业准则》与税法的原文,并且 —— 更要紧的 —— 不会拿着真原文编出一个没有条款锚的结论。
数据来自账面 Quaesto 开放知识库:265 篇可寻址文书, 分两层 ——
免注册、无鉴权、只读。
审计这一层是这个包的主要价值所在。 审计准则应用指南散在中注协官网的 PDF 附件里, 没有全文索引,通用联网搜索抓不到正文。实测在 CPA 审计题上,装本包比同一模型出厂自带的 联网搜索多答对 4.9 个百分点(79 题 × 6 轮,95% CI [+1.0, +9.2],Holm 校正后 p=0.013); 而在会计题上没有增益 —— 企业会计准则全网都搜得到,这里提供的是可核性而非正确率。 完整四臂数据、置信区间与「不能说的话」见 实测页。
十个工具(经 @deepseek-ai/dsh-mcp-client 注册,名字是 mcp__quaesto_kb__*)。
条文体例七个:
| 工具 | 回答什么 |
|---|---|
list_standards | 库里有哪些条文体文书,可按体系过滤(CAS / ASSE / TAX / CSA) |
search_kb | 在原文条、判断步骤与单元制文书里全文检索(中文已做多级降级匹配) |
get_article | 按准则号 + 条号取原文逐字文本 |
get_decision_procedure | 这件事怎么一步步判,每步挂着原文条款锚 |
check_applicability | 这家主体该执行哪套体系 —— 企业规模是算出来的,不是声明的 |
get_tax_treatment | 税前扣除标准、税率与征收率、进项不得抵扣情形、小微优惠 |
get_tax_accounting_diff | 同一事项会计与税法差在哪,属永久性还是暂时性差异 |
单元体例三个 —— 应用指南、准则解释、应用案例、监管指引这类没有「第 X 条」体例的文书
走这一路,靠 stable_id 寻址:
| 工具 | 回答什么 |
|---|---|
list_documents | 库里有哪些单元制文书,可按体系过滤(CAS / CSA) |
search_units | 只在单元制文书里检索,返回可直接喂给 get_unit 的 stable_id |
get_unit | 按 stable_id 取一个单元的逐字原文 + 出处 / 文号 / 抓取时间 / 校验值 |
一个 skill —— china-accounting-standards。只挂工具是不够的:模型拿着真原文照样可能
给出没有锚的结论,那等于用知识库的可信度给幻觉背书。skill 把五条硬规矩交给模型:
(行业, 营业收入, 从业人员, 资产总额) 算出,不能自己声明 —— 划型阈值按行业不同。l3_dependency 的条目必须提示核对现行公告。另有一条行为约束,它是这一版 skill 的主要改动:查证是用来核对的,不是用来改答案的。 先按自己的理解得出初判再去查;查回来的条文只有明确与初判矛盾时才改口,且必须指出矛盾在 哪一句原文上。「查到一条相关条文」不等于「这条条文否定了初判」。 实测这条规则在 CPA 会计题上相对只给工具净增 1.7 个百分点(区间 [+0.1, +3.4])—— 而在同一批题上,光把新库接上去的增益是 +0.0pp。
dsh plugin --profile <name> add github:niuniu-869/dsh-plugin-cas-kb#<sha>
包内是纯 ESM 且没有任何构建脚本,所以 git 安装不会在你机器上执行任何代码,也不需要
allowBuilds 授权。锁 commit 是为了让之后的推送不能悄悄改变你实际运行的内容。
尚未发布到 npm。
dsh --profile headless "业务招待费在企业所得税前能扣多少?给出条款依据。"
—— 这次会话日志里真实的工具调用顺序:
1. skill {"name": "china-accounting-standards"}
2. mcp__quaesto_kb__list_standards {"framework": "TAX"}
3. mcp__quaesto_kb__search_kb {"q": "业务招待费 税前扣除"}
4. mcp__quaesto_kb__get_tax_treatment {"category": "税前扣除"}
5. mcp__quaesto_kb__get_tax_treatment {"id": "cit-deduct-entertainment"}
6. mcp__quaesto_kb__get_article {"ref": "中华人民共和国企业所得税法实施条例", "article_no": 43}
回答逐字引了实施条例第四十三条,把「超支不得结转」标注为对条文的对比阅读而非条文原话, 指出差异性质为永久性,并提示「当年销售(营业)收入」的口径在公告层、本库尚未收录。
requires_human_confirmation 标记。它们过了一组自动校验门(条号必须真实
存在、每个数字必须在被引条文里逐字找得到、交叉引用必须能解析),这能挡住编造引用,
但不等于专业意见。stable_id 寻址;标「推导 ID」的单元在原文里没有官方编号,
ID 由排版位置推导,换版可能变化。两行都可以在你自己 profile 的 cordis.patch.yml 里按 id 覆盖,例如指向自建镜像。
注意 patch 是整段替换 config 而不是逐键合并,覆盖时要把需要的键写全:
- id: quaesto-kb-mcp
config:
serverName: quaesto_kb
transport: streamable-http
url: https://your-mirror.example.com/mcp
toolCallTimeoutMs: 30000
failOnStartupError: false
serverName 同时出现在两行和 skill 正文里,改就要一起改,否则 skill 会教模型去调一个
不存在的工具。
工具调用会发到 api.accountingllm.site,也就是你的查询内容会离开本机。服务端不要求账号、
不存用户身份,但会记录工具名、调用参数和按日轮换盐的 IP 哈希,用于用量统计与防滥用,
并按 IP 限流 120 次/分钟。插件本身不做任何额外遥测。
原文层为转录副本,以财政部与国家税务总局官方发布为准;判断层为研究草案,未经注册会计师 核定,不构成会计或税务意见。
MIT 协议。账面 Quaesto —— 面向 AI Agent 的会计基础设施。