Chuyển đến nội dung chính

dsh-plugin-mtsa

Đã xác minh

dsh-plugin-mtsa · v0.1.1 · MIT · Giao diện web

MTS Analytics for DeepSeek Harness: token-managed MCP connection (mcp__mtsa__* tools through the official dsh-mcp-client) plus the "MTS Analytics" agent preset with bundled mtsa-* skills.

Cài đặt

dsh plugin add dsh-plugin-mtsa

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

dsh-plugin-mtsa

MTS Analytics for DeepSeek Harness.

One bundle gives you:

  • a token-managed MCP connection to the mtsa-mcp server — the official @deepseek-ai/dsh-mcp-client bridge does the connecting; this plugin only writes its configuration row (tools appear as mcp__mtsa__*);
  • the «МТС Аналитика» agent preset (mtsa-analytics): an analyst persona plus the bundled mtsa-* skills, registered into the preset's scope layer so the skill catalog appears only in those sessions;
  • a Settings → Plugins tab where you paste the connection token, see the connection state, and browse the live tool inventory.

Install

Enter one of these in DSH's plugin installation interface:

dsh-plugin-mtsa

or the tarball URL (self-hosted distribution; always the latest build). Paste the FULL address exactly as written — the DSH installer recognizes a tarball only when the spec ends in .tgz (a bare file name is treated as an npm package name and fails lookup):

https://mtsa-next.ru/mcp/dsh-plugin/dsh-plugin-mtsa-latest.tgz

To pin a release, use https://mtsa-next.ru/mcp/dsh-plugin/dsh-plugin-mtsa-<version>.tgz (SHA-256 published alongside as .sha256).

After installing or upgrading, let running tasks finish, fully quit DSH, and reopen it. Closing a window may not quit the application.

Setup

  1. Get a connection_id for the mtsa-mcp server (Chrome extension export, or uv run python -m mtsa_mcp auth list --full for operators).
  2. Open Settings → Plugins → MTS Analytics.
  3. Paste the token and press Save token. The plugin appends one generated operation to the profile's cordis.patch.yml (backup-first, append-only, verified against the loader); the web profile hot-reloads it — no restart.
  4. Create a session with the «МТС Аналитика» preset.

To disconnect, press Disconnect and redact token: the row is disabled (tools unregister) and the effective credential is blanked. Earlier blocks in the patch file's history may still hold previous tokens — prune the file to purge them completely.

Security notes

  • The token is stored in plaintext in the profile's cordis.patch.yml (same shape as the official DSH examples). Treat that file as a secret. The connection_id is revocable: re-export from the Chrome extension to rotate.
  • The token value never leaves the host: the status snapshot carries presence booleans only, and the settings tab input is write-only.
  • Manual alternative (headless / SDK profiles): put MTSA_TOKEN=<connection_id> into ~/.dsh/.env and write the row yourself with Authorization: !!js 'Bearer ${process.env.MTSA_TOKEN}' — see docs/deploy/dsh-plugin.md in the mtsa-mcp repository.
  • Disabling the plugin does not disconnect the MCP server — the written row lives in the profile patch. Disconnect first, then disable.

Compatibility

  • Developed and tested against DSH 0.2.0-rc.* (@deepseek-ai/dsh next channel). DSH is in developer preview; other versions are not certified. The installer checks peer ranges before anything downloads; dsh plugin allow-version grants an explicit exemption.
  • UI dictionaries ship in English and Chinese (the harness locale registry accepts en/zh); the analyst persona and skills are Russian-first.

Development

Node.js 22+, pnpm 10+.

pnpm install
pnpm run prebuild   # sync skills from docs/skills/src + generate cordis.patch.yml
pnpm run typecheck
pnpm test
pnpm run build      # tsdown: lib/index.js + lib/typert.host.js + lib/client.js

Prebuilt lib/, synced skills/, and the generated cordis.patch.yml are committed (no install lifecycle scripts — a profile that installs this package never builds code). Regenerate and commit all three after changing sources: docs/skills/src/*, persona/prefix.md, or package.json version.

Structure:

Path Role
src/index.ts host entry: global row mounts the mtsa Remote service; the preset row registers bundled skills
src/service.ts status snapshot + token actions (append-only profile-patch writes, backup + readback + loader verification)
src/patch.ts / src/write.ts fragment rendering (insert / update / disable+redact) and the atomic append-only writer
src/skills.ts bundled mtsa-* skill loading and scoped registration
src/wire.ts / src/typert.host.ts Typert invocation descriptors shared by both faces
src/client/ Settings tab (Remote contribution, locales, styles, React component)
persona/prefix.md the «МТС Аналитика» persona source
tools/sync-skills.mjs / tools/gen-patch.mjs skills sync + patch generation (with gates)

License

MIT. The append-only writer follows the discipline of dsh-mcp-panel (Apache-2.0).