dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Reviso for DeepSeek Harness (DSH): publish agent output for human review and find it again from the session
Reviso for DeepSeek Harness (DSH) — the DSH surface of the Reviso family.
repo · surface reviso · product (backend + web) reviso-agent · agent skill (any agent, platform-agnostic) reviso-cli · CLI `reviso-dsh` · DSH host integration (this repo)
The supported path is Host-owned end to end:
reviso_publish publishes from the agent without exposing the token./plugins/reviso/*.连接 Reviso; the same-origin OAuth bridgestores REVISO_DSH_* refs in DSH credentials and resolves the personal workspace. The browser never sees a Reviso token and there is no default mock data.
Slot/build contract: see docs/client-face-contract.md.
index.js registers reviso_publish on the DSH Host. The agent passes title and content; the tool resolves three DSH credential refs, reads the calling session id from exec.agent.session.header.id, and posts to Reviso with source_kind=dsh plus source_session_id. The token never enters the browser or an agent child process.
Installed DSH credentials are a flat mapping of POSIX refs to strings ($DSH_HOME/.credentials.yaml):
REVISO_DSH_TOKEN: rak_...
REVISO_DSH_WORKSPACE_ID: wsp_...
REVISO_DSH_SERVER: https://reviso.workThe product path is the 连接 Reviso button in the DSH panel or session tab. For headless verification only, the tool can also reuse a prior CLI OAuth login from ~/.config/reviso/credentials.json:
reviso auth login --server https://reviso.workThe tool then resolves the workspace from /api/agent-connection/self and reuses that connection.
Contract test: npm test.
Real publish verification (requires the three refs above and network access):
npm run verify:real
# optional: -- --credentials <path> --session-id <id> --title <title>It runs the same ToolRuntime and credentials provider as the Host, publishes one document, and reads it back through GET /api/documents?session_key=dsh:.
Minimal DSH bundle that loads under the harness. Roadmap:
source_kind +source_session_id (normalized to session_key); requires the L0 contract in the reviso main repo (document_sources sidecar + read APIs).
(client-face spike against DSH's browser extension contract).
package.jsondeclares dsh.bundle → its cordis.patch.yml inserts plugin rows that reference the package by name.
dsh --profile ); dsh pluginmaintains it. Layer order: profile bundles → profile patch → home patch → --patch overlays.
dsh plugin --profile <name> add /path/to/reviso-dsh
dsh --profile <name> --dump-config # expect a "# == dsh-reviso" layerScratch form uses an absolute source path (paths must be absolute):
# dev.patch.yml
- insert:
- id: reviso-dsh
name: '/absolute/path/to/reviso-dsh/index.js'pnpm dsh web --patch ./dev.patch.ymlThe cross-repo contract (Reviso HTTP API + source_kind enum dsh|claude|codex|cursor|mcp + session_key = kind:normalized_id) is owned by the reviso main repo (L0). This package never talks to Supabase directly.
Tested with DSH 0.2.1-rc.2 (client manifest aligned with the shell static module contract). The client bundle declares @deepseek-ai/dsh-client-store as an external and does not inject the retired dsh-client-runtime seed.
sh pnpm install && pnpm run build:client # produce lib/client.js dsh plugin --profile web add /Users/touchskyer/Code/reviso-projects/reviso-dsh-embed-v1 dsh web # Reviso entry sits beside Settings in the sidebar
Rollback: dsh plugin --profile web remove dsh-reviso.
MIT — same as reviso-agent / reviso-cli.