dsh-tables
其他 活跃维护

dsh-tables

mario03690/dsh-tables

可将杂乱的CSV输入转为可校验的表格,支持数据去重、合并、重塑,可按指定键比对两张表差异,以分为单位核对账本,所有计数均附带代码内算术校验证明,保障数据处理准确可信。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
Other
主要语言
MIT
开源协议
7 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:mario03690/dsh-tables
git clone https://github.com/mario03690/dsh-tables.git
git clone git@github.com:mario03690/dsh-tables.git
README.md main

dsh-tables

Messy CSV in, checkable table out: dedupe, merge, reshape, diff two tables on a key, reconcile ledgers in integer cents — every count/money result carries an in-code arithmetic proof.

What & why

If the numbers don't reconcile the response says so instead of returning a plausible-looking table. reconcile_ledger compares in integer cents, so 0.1+0.2 never invents a phantom difference. Nothing here calls a model: same input, same output, every time. Cheap rather than free — these are metered at $0.002–$0.008 per call (see the table below), inside the free anonymous quota until you exceed it.

Every set ships what_can_you_do — describe a task in any language, get the exact tool + a ready-to-run call.

What's in this pack

15 tools, read from the live endpoint on 2026-08-22 — this table is generated, not hand-written, so it cannot drift away from what tools/list actually returns. The Arguments column is what the tool genuinely reads; it comes from the tool's own declared input schema.

Tool What it does Arguments Price / call
what_can_you_do Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready- task —
csv_to_qbo Convert a transaction CSV into a .qbo / OFX bank-feed file that QuickBooks and similar accounting software import d csv, url, account_id, bank_id, currency $0.004
diff_tables Matches rows across two CSVs on a key column and reports three things: keys only in A, keys only in B, and keys in url_a, url_b, text_a, text_b, key $0.003
clean_table Tidies a spreadsheet export: removes duplicate rows, trims whitespace (half-width and full-width — Chinese exports url, text, ops, keep, split_column, split_by $0.003
merge_tables Combines up to 20 CSVs into a single table. Headers do not have to match: columns are unioned and a file missing a urls, texts $0.004
reconcile_ledger Reconciles two sets of records — your books against a bank, platform, or supplier statement. Matches rows on a key url_a, url_b, text_a, text_b, key, amount $0.006
fix_csv_encoding Detect the real encoding of a CSV (GB18030, Shift-JIS, Windows-1252…), repair mojibake (UTF-8 that was read as Lati url, text $0.002
read_xlsx Read an Excel .xlsx workbook (by URL) into rows — every sheet, or one you name. Returns cell values (not formula te url, sheet, keep_formulas, max_rows, inline, preview_rows $0.003
write_xlsx Build an Excel .xlsx file from rows (CSV text or JSON arrays), optionally several sheets at once. Numbers are writt sheets, url, text, sheet_name $0.004
match_transactions Match bank statement lines to ledger/invoice entries when there is NO shared key — by amount, date window, referenc url_a, text_a, url_b, text_b, sheet_a, sheet_b, date_window_days, fee_tolerance, max_group_size $0.008
dedupe_entities Find records in a supplier/customer/store list that are probably the SAME entity under different names — "北京星辰科技有限公 url, text, sheet, name, tax_id, phone, domain, address, bank, name_threshold $0.006
csv_to_md_table CSV (text or URL) → GitHub-flavoured Markdown table. csv, url $0.002
csv_to_chart CSV (first column = labels, second = values) → chart PNG in one call. csv, url, type $0.003
csv_to_json CSV (text or URL) → JSON array of objects (first row = keys). Returns a .json file. csv, url $0.001
json_to_csv JSON array of objects → CSV file. Flattens keys, quotes fields containing commas. json $0.001

— in the price column means the tool is not metered per call (session/trial-gated instead). Failed calls are never charged. Check it yourself:

curl -s -X POST https://ainetcafe.com/mcp/table -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Install

dsh plugin --profile <your-profile> add github:mario03690/dsh-tables

Thin config layer only (one @deepseek-ai/dsh-mcp-client row, shipped as cordis.patch.yml) — no tool code runs on your machine. Built against the MCP client config shape of the dsh v0.1 developer preview (2026-08-13); if a later preview changes it, open an issue for a same-day fix.

Cost, quota, privacy

Free anonymous quota, no signup; every response reports its exact USD cost; failed calls are not charged. Documents are processed in memory and not retained. The config URL carries ?s=dsh-table — a channel tag identifying the install path, not you.

Disclosure: built and run by the team behind ainetcafe.com — our own service, free tier plus paid usage. Full bundle (everything at once): dsh-netcafe. MIT.

Compatibility & permissions (at a glance)

Signal This plugin
Runtime dsh v0.1 developer preview (2026-08-13, Cordis v4). Touches only the MCP client config shape — the narrowest surface available. Verified against a live endpoint on 2026-08-17.
What runs locally Nothing. Ships one cordis.patch.yml row; there is no tool code, no build step and no lifecycle script in this package.
Filesystem access None.
Shell / process access None.
Network access Outbound HTTPS to ainetcafe.com only, from the MCP client that dsh already ships.
Credentials None required. No signup, no API key for the free tier. An optional AllRouter key, if you supply one, is sent by dsh as a request header and is never stored by us.
Data retention Documents and prompts are processed in memory and not retained.
Dependencies One peer dependency: @deepseek-ai/dsh-mcp-client (ships with dsh).
License MIT (see LICENSE).
Publisher The team that runs ainetcafe.com — our own hosted service, free tier plus paid usage. Issues get a same-day reply.

A directory listing is not a security review. Read cordis.patch.yml — it is short enough to read in full in under a minute.