DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Sessionflow — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

dsh-sessionflow

Sessionflow

DeepSeek Harness 的跨代理会话连续性。在 DSH 中直接从 Codex、Claude Code、Grok、ZCode 及其他编码代理继续工作。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:HarryHeYu/dsh-sessionflow#4e867bf09b506e648df8df5924e12c7f249a1f17
README兼容性版本

兼容性与来源证明

Sessionflow 以 dsh-sessionflow 发布,当前版本为 1.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/12

版本

1.1.0stable
2026/10/12
1.0.0stable
2026/10/6
0.1.0stable
2026/10/4

相关插件

正在加载相关插件…

最新版
1.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Reme Dsh Plugin@agentscope-ai/reme-dsh-plugin面向 DeepSeek Harness 的 ReMe 记忆与上下文集成Memsearch Dsh@zilliz/memsearch-dsh适用于 DeepSeek Harness 的 MemSearch 插件:在多个代理之间共享 Markdown 记忆,支持捕获、步骤前上下文注入、记忆召回技能和技能候选审核面板。

README

sessionFlow for DeepSeek Harness

Cross-agent session continuity for DeepSeek Harness.

Continue work from Codex, Claude Code, Grok, ZCode and other coding agents directly inside DSH.

Not "yet another session manager" — sessionFlow's continuity layer, exposed to DSH as six tools.

User:  Continue the work I was doing in Claude Code on this repo.

DSH:   → sessionflow_current_work
       → sessionflow_continue

       [continues with the previous goal, files, commands and unresolved work]
Claude Code ─┐
Codex ───────┤
Grok ────────┤
ZCode ───────┼─ sessionFlow ─ DSH
DSH ─────────┤
Cursor ──────┤
Kiro ────────┘

What it is

A thin DSH plugin that exposes sessionFlow (Voyager) as six tools. sessionFlow indexes the session history of every AI coding agent on your machine; this plugin lets a DSH agent use that history — to find past work, to see what the current project was doing, and to pick it up.

The core stays the single source of truth. No session parsing, indexing, search, WorkThread, ranking, merging or context compilation happens in this plugin: every call is forwarded to the existing Voyager core over its stable JSON interface.

Requirements

  • DeepSeek Harness (dsh) — tested against 0.1.5-rc.3, with a working model provider. A fresh headless profile has no LLM adapter and no credentials, and DSH stops with MISSING_CREDENTIAL: … no API key for provider route. That is the host's configuration, not this plugin's: this plugin does not provide model access and cannot work around a missing provider. Set up the provider before installing anything here.
  • sessionFlow / Voyager, installed from source and indexed. It is not published to PyPI — the voyager name on PyPI belongs to an unrelated nearest-neighbour library, so pip install voyager will install the wrong project.
  • Node.js 22.19+

So there are two independent dependencies: DSH needs a model provider to run at all, and this plugin needs the sessionFlow core to answer anything. The plugin adds no third one.

Install

Both pieces are installed from their Git repositories. Neither is published to PyPI or npm, so there is no pipx install / dsh plugin add <name> one-liner that works today.

# 1. the core, from source
git clone https://github.com/HarryHeYu/sessionFlow
cd sessionFlow
pip install -e .
voyager scan

# 2. this plugin, straight from GitHub
dsh plugin --profile web add github:HarryHeYu/dsh-sessionflow
dsh --profile web

pnpm blocks build scripts for git-hosted packages until you allow them, so the first add will stop and print the exact key it wants. Put that key in the profile's pnpm-workspace.yaml and run the same add again:

# <profile>/pnpm-workspace.yaml — the key is printed by the failing `add`
allowBuilds:
  dsh-sessionflow@git+https://github.com/HarryHeYu/dsh-sessionflow.git#<sha>: true

The plugin needs that build step: it is TypeScript, and prepare compiles lib/ on install.

From a local checkout

Working on the plugin itself? Use a file: specifier:

git clone https://github.com/HarryHeYu/dsh-sessionflow
cd dsh-sessionflow && npm install && npm run build
dsh plugin --profile web add file:$PWD

Use file:, not a bare path. A bare path becomes a pnpm link: dependency, and DSH's nodeLinker: hoisted does not create the symlink for those — the install looks like it worked, but the profile never sees dsh.bundle and the plugin does not load. file: copies instead, which works.

Verify

dsh --profile web --dump-config | grep dsh-sessionflow

You should see - id: dsh-sessionflow. If the core is missing, the tools still register but every call fails with a clear message naming the voyager binary — see Troubleshooting.

Tools

ToolWhat it answers
sessionflow_search"Find the session where I fixed the parser."
sessionflow_recent"What have I been doing this week?"
sessionflow_session"Show me what that one session was about."
sessionflow_current_work"Where did I leave off on this project?"
sessionflow_continue"Pick the work back up."
sessionflow_merge"Put these sessions together and let me continue."

All six share the sessionflow_* prefix — there is no second voyager_* set. Every tool returns structured data and a model-readable rendering.

When a repo has more than one WorkThread

A project can carry several active WorkThreads at once (two lines of work, or a thread that was reopened after being closed). The tools will not choose between them for you:

  • sessionflow_current_work answers with thread_ambiguous: true, lists every candidate under thread_candidates (id, title, updated_at, goal), and still returns the most recently active one as thread — labelled by thread_default_reason as a default, because activity time is not a decision you made;
  • sessionflow_continue and sessionflow_merge accept thread_id, so the agent can pass the one you pick;
  • with exactly one thread nothing extra is added, and a thread_id that does not exist is reported rather than quietly replaced by another thread.

Ask the agent which thread you mean, or name the id yourself. The same rule holds outside DSH: voyager continue / voyager switch refuse with the candidate list instead of guessing, and voyager status reports AMBIGUOUS rather than NO_THREAD.

Configuration

The plugin finds the core by trying, in order: a configured voyagerBin, then voyager on PATH (and voyager.exe on Windows), then py / python / python3 running -m voyager.cli. Each candidate is proven with a version probe, so a machine with several Python installs picks the one that actually has the package.

Override it in the profile patch:

# cordis.patch.yml
- id: dsh-sessionflow
  config:
    voyagerBin: 'C:/path/to/voyager.exe'   # optional
    timeoutMs: 30000                        # optional, per call

If the core is missing, the tools fail with an actionable message rather than an empty result.

Compatibility

PluginDSHsessionFlow bridge schemaStatus
0.1.00.1.5-rc.31tested

DSH is in Developer Preview and does move. The plugin declares the bridge schema_version it needs and fails clearly against an older core; it does not claim to support "all future versions".

Verification status

Stated at the level actually reached — nothing below is promoted.

CapabilityStatusEvidence
Bridge mechanics: resolution, deadline, malformed JSON, non-zero exit, schema gatePASS (unit)tests/bridge.test.ts, stub executables
JSON round-trip against the real corePASS (integration)tests/bridge.test.ts, real voyager on a seeded index
Six tools register through the real defineToolPASS (unit)tests/plugin.test.ts
DSH bundle discoveryLIVE VERIFIEDdsh plugin --profile … install added dsh-sessionflow to dsh.profile.bundles
DSH composition treeLIVE VERIFIEDdsh --profile … --dump-config shows - id: dsh-sessionflow
Plugin module imported and applied by DSHINSTALL VERIFIED (Linux CI)the boot reaches the credential gate with no import error; --dump-config alone cannot prove this, it never imports the plugin
github: install on a clean machineINSTALL VERIFIED (Linux CI)dsh plugin add github:HarryHeYu/dsh-sessionflow, with the allowBuilds key pnpm prints
file: install on a clean machineINSTALL VERIFIED (Linux CI)dsh plugin add file:<checkout>
Tool registration visible to a real agentLIVE VERIFIEDall six schemas in the request header of a real DSH turn
Natural-language autonomous tool selectionLIVE VERIFIEDasked "我之前这个项目做到哪了?" with no tool named; the agent's first action was sessionflow_current_work
Real agent tool invocationLIVE VERIFIED4 tool/call records in DSH's session log
sessionFlow bridge executionLIVE VERIFIEDresults carried real index data (266 sessions / 150,089 events / 8 providers)

The Linux cold-start jobs run on every push: .github/workflows/cold-start.yml drives scripts/cold-start.sh over both install paths in a throwaway DSH_HOME, with the host toolchain pinned (dsh 0.1.5-rc.3, pnpm 11.22.0, Node 22.22.2, Python 3.13). They need no model: the boot stops at the credential gate, which is the evidence that the plugin loaded.

Full transcript and tool-call records: docs/live-verification.md.

Automated compatibility (O6.5 consumer closure, 2026-10-06)

The six tools were re-verified as a thin adapter against a pinned core — input → bridge call → result formatting, nothing else:

PinnedSHA
sessionFlow core3b98bcd
Bridge schema1 (no request/response shape change → no bump)
dsh-sessionflow37e4317

Verification for this closure is automated contract tests only (npm test: 23 passed, npm run build: clean). The LIVE VERIFIED rows above are the historical real-agent run and are not re-claimed by this closure; a live DSH rerun was not required because no public contract changed since that run.

Environment used: @deepseek-ai/dsh 0.1.5-rc.3, @deepseek-ai/cordis 4.0.2, Node 22.22.2, Windows.

Troubleshooting

The tools are registered but every call fails. The core is missing or not on PATH. Check it directly:

voyager --version

If that fails, install the core from source (see Install) and make sure the interpreter that provides the voyager entry point is the one DSH inherits. The error text names the binary it tried to run.

pip install voyager installed the wrong thing. It did — the voyager name on PyPI is an unrelated nearest-neighbour library. Uninstall it and install from the sessionFlow repository instead.

dsh plugin add dsh-sessionflow cannot find the package. The plugin is not on npm. Use the GitHub specifier instead:

dsh plugin --profile web add github:HarryHeYu/dsh-sessionflow

add fails with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED. pnpm will not run a git-hosted package's build script until you allow it. The error prints the exact key — put it under allowBuilds in the profile's pnpm-workspace.yaml and run the same add again. The plugin cannot skip this: it ships TypeScript, and prepare is what compiles lib/.

Use the key exactly as printed, including the resolved commit. With pnpm 11 the short form (dsh-sessionflow: true) is not enough — it still fails with the same error. Measured against pnpm 11.22.0.

add reported declares no dsh.bundle, and node_modules is empty. You added a bare local path. pnpm turns that into a link: dependency, and with DSH's nodeLinker: hoisted no symlink is created, so the profile cannot read the package's dsh.bundle. Use file: instead:

dsh plugin --profile web add file:$PWD

The same warning with a github: or file: specifier means something else — check that lib/ exists in the package, since DSH reads the manifest from the installed copy.

The plugin loads but a profile shows no dsh-sessionflow line. Run dsh --profile <p> --dump-config and look for - id: dsh-sessionflow. If it is absent, the bundle was not discovered — see the two entries above.

Security

  • Arguments are passed to spawn as an argv array — no shell string is ever built, so a query containing ;, " or CJK text is data, not syntax.
  • The plugin has no arbitrary shell execution. It can only call the core's read-only interface, plus voyager merge (the one write, which persists a WorkThread).
  • It reads only the index sessionFlow already built. It does not scan, copy or upload provider session files, and sends nothing over the network.

Development

npm install
npm run build     # tsc -> lib/
npm test          # build, then node --test (bridge mechanics + live core)

tests/bridge.test.ts covers resolution, timeouts, malformed JSON, non-zero exits and the compatibility gate against stub executables, then runs the real JSON round-trip against the installed core on a seeded temporary index. Those indexes are created under the OS temp directory and removed when the suite exits; set SESSIONFLOW_TEST_TMPDIR to put them somewhere else.

License

MIT. See LICENSE.


中文说明 · sessionFlow

Cross-agent context retrievalLIVE VERIFIEDthe returned WorkThread's members span claude and zcode; search hits span zcode/claude/grok
Continuation context used to pick up another agent's workLIVE VERIFIEDsix synthetic scenarios, real model, real index — see docs/p8-live-verification.md
Autonomous selection with a deliberately misleading handoffLIVE VERIFIEDthe fixture's sessions claim work the checkout does not contain; the agent checked the files and refused to repeat the claim
Ambiguous repo: two active WorkThreadsLIVE VERIFIEDthe agent listed both, refused to pick the newer one, and said why "newest" is not a verdict
Continuation from real provider session files (discovery → parse → index → agent)LIVE VERIFIED3 real Codex rollouts + 3 real Claude Code sessions copied into an isolated HOME, scanned by the real adapters, then continued by a real agent — see docs/p9-live-verification.md
sessionflow_merge callable and semantically correctLIVE VERIFIEDreal voyager merge --json in the integration suite (both sources, provenance, conflict kept, deterministic), and a live turn that called it with both ids
sessionflow_merge chosen without being namedNOT VERIFIEDthe autonomous turn answered correctly via current_work + recent + search + session and never called merge
Multi-thread ambiguity handled, not guessedLIVE VERIFIEDtwo active WorkThreads in one repo: the agent listed both, refused to take the newer one, and said recency is not a decision
Native resume by an agentNOT VERIFIEDno scenario launched another agent's session; retained/SOURCE_MISSING sessions were correctly described as context-only. claude/codex are installed, but a real resume would spend the user's credentials and create a session in their real environment
dsh plugin add <bare local path>DOCUMENTED LIMITATIONa bare path becomes a pnpm link: dependency, and DSH's nodeLinker: hoisted does not create the symlink, so the package's dsh.bundle is never read. Use file: or github: — both verified on Linux CI. See Troubleshooting