dsh-plugin-mtsa
Đã xác minhdsh-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-mcpserver — the official@deepseek-ai/dsh-mcp-clientbridge does the connecting; this plugin only writes its configuration row (tools appear asmcp__mtsa__*); - the «МТС Аналитика» agent preset (
mtsa-analytics): an analyst persona plus the bundledmtsa-*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
- Get a
connection_idfor the mtsa-mcp server (Chrome extension export, oruv run python -m mtsa_mcp auth list --fullfor operators). - Open Settings → Plugins → MTS Analytics.
- 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. - 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. Theconnection_idis 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/.envand write the row yourself withAuthorization: !!js 'Bearer ${process.env.MTSA_TOKEN}'— seedocs/deploy/dsh-plugin.mdin 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/dshnextchannel). DSH is in developer preview; other versions are not certified. The installer checks peer ranges before anything downloads;dsh plugin allow-versiongrants 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).