dsh-plugin-cas-kb
English | 中文
A DeepSeek Harness bundle for Chinese accounting and tax questions. It gives an agent article-level access to Chinese Accounting Standards (CAS), the Accounting Standards for Small Enterprises (ASSE) and Chinese tax law — plus a skill that keeps the model from citing articles it never read.
Backed by the Quaesto open accounting knowledge base: 53 addressable documents — 43 CAS standards (59 source texts once superseded versions are counted), ASSE with the enterprise size-classification rules, and 8 tax laws and implementing regulations — 1,832 articles in total, of which 50 documents also carry step-by-step decision procedures (1,681 steps) anchored to those articles. No account, no API key, read-only.
What you get
Seven tools (via @deepseek-ai/dsh-mcp-client, named mcp__quaesto_kb__*):
| Tool | Answers |
|---|---|
list_standards |
What documents exist, per framework (CAS / ASSE / TAX) |
search_kb |
Full-text search over articles and decision steps |
get_article |
Verbatim article text, by standard reference and article number |
get_decision_procedure |
How to judge, step by step, each step anchored to articles |
check_applicability |
Which framework this entity must apply — size is computed, not declared |
get_tax_treatment |
Deduction limits, VAT rates, non-creditable input tax, small-business relief |
get_tax_accounting_diff |
Where book and tax diverge, and whether the difference is permanent or temporary |
One skill — china-accounting-standards. Tools alone are not enough: a model holding
real source text can still produce a confident conclusion with no anchor, which spends the
knowledge base's credibility on a hallucination. The skill carries the four rules that
matter:
- No verbatim source, no citation. Practice consensus is not standard text.
- The judgment layer is an AI-generated research draft, not CPA-reviewed. Article text is an official transcript; decision procedures are reasoning aids.
- Entity size is computed from
(industry, revenue, employees, assets), never declared — thresholds differ by industry. - The tax announcement layer (L3) is not yet ingested. Entries flagged
l3_dependencymust be re-checked against current circulars.
Install
dsh plugin --profile <name> add github:niuniu-869/dsh-plugin-cas-kb#<sha>
The package ships plain ESM with no build scripts, so a git install runs nothing on your
machine and needs no allowBuilds authorization. Pinning the commit keeps later pushes from
silently changing what you run.
Not on npm yet.
Verified run
dsh --profile headless "业务招待费在企业所得税前能扣多少?给出条款依据。"
("How much business entertainment expense is deductible for CIT? Give the article.")
— the actual tool sequence from that session log:
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}
The answer quoted Article 43 verbatim, marked the no-carry-forward point as inference rather than statute, classified the gap as a permanent difference, and flagged that the definition of qualifying revenue lives in the announcement layer this base does not yet cover.
Coverage and known gaps
- Article layer — transcripts of official releases (casc.org.cn, gov.cn, fgk.chinatax.gov.cn) with source URL, fetch time and content hash. Historical versions are kept separately; superseded documents are labelled.
- Judgment layer — 50 decision procedures / 1,681 steps, all AI-generated and not
reviewed by a CPA; every one is served flagged
requires_human_confirmation. They pass automated gates (article numbers must exist, every figure must appear verbatim in the article it cites, cross-references must resolve), which catches fabricated citations but does not make them professional advice. - Not included: the tax announcement layer (circulars and administrative notices — this is where most current preferential rates live), CAS application guidance and Q&A, and any copyrighted publication. Standard interpretations are cited from within decision steps but are not yet addressable as documents of their own.
Configuration
Both rows can be overridden by id in your own profile patch — for example to point at a
mirror. A patch replaces the whole config, so restate every key you need:
- id: quaesto-kb-mcp
config:
serverName: quaesto_kb
transport: streamable-http
url: https://your-mirror.example.com/mcp
toolCallTimeoutMs: 30000
failOnStartupError: false
serverName appears in both rows and in the skill body. Keep them equal, or the skill will
name tools that do not exist.
Data and privacy
Tool calls go to api.accountingllm.site — the query text leaves your machine. The service
requires no account and stores no user identity; it does log the tool name, its arguments
and a daily-salted hash of the caller IP for usage statistics and abuse control, and rate
limits at 120 requests/minute per IP. The plugin itself adds no telemetry of its own.
Disclaimer
Article text is a transcript; the official releases by the Ministry of Finance and the State Taxation Administration govern. The judgment layer is a research draft, not reviewed by a certified public accountant, and is not accounting or tax advice.
MIT licensed. Part of Quaesto — accounting infrastructure for AI agents.
No comments yet. Be the first to write one.