DeepSeek Harness 插件

reviso-si/reviso-dsh

Star 数 ★ 0 分类 文档与渲染 收录于 2026-11-02 npm dsh-reviso

把 Agent 产出发布到 Reviso 供人工评审,在侧边栏浏览已发布文档,并在产生这些文档的同一个 DSH 会话中再次找到它们。OAuth 由宿主中转:Reviso token 只保存在 DSH credentials 里,浏览器仅获得短时效的 embed 会话。需要 Reviso 账号或兼容的自建 Reviso 服务。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-reviso

# Release 预构建包

dsh plugin --profile web add "https://github.com/reviso-si/reviso-dsh/releases/download/v0.1.1/dsh-reviso-0.1.1.tgz"

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:reviso-si/reviso-dsh

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

该插件的 README 只有英文版本。

Reviso lets a coding agent publish its work for human review, then find the same document again from the session that created it. This repository is the DeepSeek Harness (DSH) integration.

What it provides

  • reviso_publish host tool: create or update a Reviso document from an agent session without exposing the Reviso access token to the browser.
  • A Reviso sidebar entry and global document browser.
  • A session-scoped Reviso panel with an embedded, read-only document view.
  • A same-origin OAuth bridge. Tokens remain in DSH credentials; the browser receives only a short-lived embed URL.
  • Host-mediated Open in Reviso and opaque-origin iframe handling.

The Reviso server, CLI, and cross-agent MCP integration live in their own repositories. This package is only the DSH host adapter.

Requirements

  • DeepSeek Harness with plugin/profile support.
  • A Reviso account or a compatible self-hosted Reviso server.
  • Node.js 22 or newer for development.

Install

Add the Reviso market index in Plugins → Discover → Add index source:

https://raw.githubusercontent.com/reviso-si/reviso-dsh/main/market/index.json

Then install Reviso from Discover, or through the DSH plugin manager:

# npm package:
dsh plugin --profile web add dsh-reviso
# pinned release tarball (no npm needed):
dsh plugin --profile web add https://github.com/reviso-si/reviso-dsh/releases/download/v0.1.1/dsh-reviso-0.1.1.tgz
# repository head:
dsh plugin --profile web add github:reviso-si/reviso-dsh
# local checkout, while developing:
dsh plugin --profile web add /absolute/path/to/reviso-dsh

Confirm that the profile composed the plugin:

dsh --profile web --dump-config | grep -A5 dsh-reviso

Then start DSH:

dsh web

Open Reviso from the sidebar and connect the account through the OAuth button. The production embed origin can be pinned in the DSH profile:

- id: reviso-dsh
  name: dsh-reviso
  config:
    embedOrigin: https://reviso-api.fly.dev

When embedOrigin is omitted, the adapter accepts only the authenticated Reviso server origin. It does not trust an arbitrary origin discovered from API JSON.

Development

pnpm install --frozen-lockfile
pnpm run check
npm pack --dry-run

pnpm run check runs the unit/integration suite, rebuilds the client bundle, inspects the packed tarball, and installs that tarball into a temporary prefix to verify its ESM import. When a local dsh executable is unavailable, the real Host ToolRuntime integration test reports skip; the public GitHub CI does not claim to have executed a real Host smoke test in that environment.

The published npm tarball contains 12 files, including index.js, host/ (credentials, errors, generation, and OAuth modules), the rebuilt lib/client.js, cordis.patch.yml, README.md, SECURITY.md, and docs/client-face-contract.md. Generated client code is validated by the packed-tarball check.

Security model

  • The Reviso access and refresh tokens stay in DSH credentials.
  • The browser never receives a rak_ token.
  • The embed iframe uses sandbox="allow-scripts" and intentionally runs as an opaque origin.
  • Iframe messages are accepted only from the current iframe. Because the frame is intentionally sandboxed without allow-same-origin, its browser message origin is null; document identity and URL are still checked against the canonical host URL.
  • External navigation is performed by the DSH parent after validation. The sandbox does not grant popup or same-origin privileges.
  • Embed sessions are short-lived, document-scoped, one-time-code sessions and are revoked when their host surface is closed or replaced.

See SECURITY.md and docs/client-face-contract.md.

Real verification

A live publish check requires a connected Reviso credential and network access:

npm run verify:real
# optional:
npm run verify:real -- --credentials <path> --session-id <id> --title <title>

It uses the same tool runtime and credential provider as DSH, publishes one document, and reads it back through the Reviso session query.

License

MIT. See LICENSE.

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。