返回目录
模型与 MCP 插件

stacktree-dsh

stevysmith/stacktree-dsh

Publish HTML from DeepSeek Harness to a private, live URL. No account for the viewer, unguessable links, replace in place. DSH plugin (Cordis overlay) for the Stacktree MCP server.

Stars
0
Forks
0
Issues
0
更新
今天

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:stevysmith/stacktree-dsh

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

stacktree-dsh

Publish HTML from DeepSeek Harness to a private, live URL.

DSH is very good at making things — a report, an audit, a dashboard, a proposal. It is not built to put one in front of a person who is not at your terminal. This plugin adds that step: your agent calls one tool and gets back a URL that opens in any browser, with no account for whoever you send it to.

Links are unguessable by default, not crawlable, and replace in place — so a URL you already sent keeps showing the current version instead of going stale.

Install

Stacktree speaks MCP, so this is a Cordis overlay rather than a package to build. Pick a transport.

Hosted — nothing to install:

export STACKTREE_API_KEY=stk_live_...   # https://app.stacktr.ee/api-keys
dsh web --patch "$PWD/stacktree-hosted.cordis.yml"

Local — runs stacktree-mcp as a child process:

export STACKTREE_API_KEY=stk_live_...
dsh web --patch "$PWD/stacktree.cordis.yml"

To keep it across runs, merge the overlay's single insert patch into $DSH_HOME/profiles/<name>/cordis.patch.yml for one profile, or $DSH_HOME/cordis.patch.yml for every profile. Do not overwrite an existing file — it may hold unrelated patches.

No key yet? A funded agent can buy one without a human: POST https://api.stacktr.ee/provision returns a 402, pay $1 over x402 (USDC on Base) and the response carries a persistent key. One-off page instead: POST the HTML to https://agents.stacktr.ee/api/publish and pay $0.50, no key at all.

Tools

Tools arrive namespaced as mcp__stacktree__<name>. The ones that matter:

Tool What it does
publish_html Upload HTML, get { url, id, expires_at } back
update_site Replace content in place — the URL stays valid
set_password Passcode-gate a link
set_email_gate Restrict viewers to one company email domain
set_expiry Hours from now, or never
set_client File a page under a client space
list_client_spaces The spaces pages are filed under

Nineteen in total, including client-space management and reading viewer feedback back off the page.

Client spaces

Name who the work is for and the page files itself under them:

publish this audit for Meridian Group

A space can carry its own address — meridian.youragency.com — and a generated index of everything delivered to that client, newest first. When a space has an address, publish_html returns client_url alongside the stacktr.ee link. Hand over client_url; it is the one their client bookmarks.

Failure behaviour

Both overlays set failOnStartupError: false explicitly. If Stacktree is unreachable at startup, the row activates with no tools registered rather than rejecting activation — it cannot take your composition down with it. Reconnection is on by default with exponential backoff.

Notes

The DSH stdio bridge scrubs ambient variables whose names look like credentials before it launches a child, so STACKTREE_API_KEY is passed through config.env explicitly in the overlay. It is read from your environment — never paste a key into the YAML.

Free plan: 3 pages lifetime, 7-day expiry ceiling. Paid plans add passcodes, email-domain gates, permanence and your own domain. Read expires_at off the publish response rather than assuming.

Every served page carries a strict CSP and X-Robots-Tag: noai, noimageai, noindex.

Links

MIT.

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类模型与 MCP
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: mcp、mcp-server。