跳到主内容

pi2dsh

154Star32Fork1Issue0Watching

把 Pi 生态的插件原样跑在 DeepSeek Harness 上,并提供兼容检查与 MCP 配置翻译 CLI。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
ai-agentscompatibility-layerdeepseek-harnessdshdsh-pluginmigrationpipi-agent

安装

命令web profile
$ dsh plugin --profile web add pi2dsh

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 weijiafu14/pi2dsh:先查看仓库 https://github.com/weijiafu14/pi2dsh 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

把 Pi 生态的几百个插件原样跑在 DeepSeek Harness 上,不 fork、不打补丁、不为每个插件写适配器;同一个桥实例统一管理模型目录、登录入口、凭证存储和升级路径。

核心能力

  • 让 npm 上原样发布的 Pi 插件以普通 DSH 依赖方式安装并启动工作
  • 把每个 profile 直接依赖中识别为 Pi 包的插件自动挂载,单进程共享一个模型目录和凭证
  • 把 Pi 提供的工具、命令、会话、子代理、UI surface、模型 provider、OAuth 流程映射到 DSH 的同名公开 seam
  • 自动为纯文本模型路由注册贴图伴生路由,让 DeepSeek 这类纯文本模型也能在 Web 上看图
  • 配套提供 CLI:兼容性体检(inspect)、能力矩阵(matrix)、Pi MCP 配置翻译成 DSH 官方 MCP 客户端条目(mcp-config)
  • 同时扮演 DSH 架构的实战压力测试:每个能力都按"Pi 调用 → 翻译 → 公开 seam → DSH 权威 → 用户可见"五层证据链分级

技术实现

  • 语言: TypeScript(ESM,"type": "module")
  • 关键依赖: @deepseek-ai/cordis(运行时挂在 cordis 上的插件)、@deepseek-ai/dsh-* 一组 rc.8 的 peerDependencies(llm/tools/session/credentials/user-questions/commands 等)、jiti(动态加载 Pi 扩展 TS 源码)、pacote(按需解析 npm 注册表)、tinyglobby(读 Pi 包的资源清单)
  • 架构模式: 一个 cordis 插件(apply + inject: ['tools', 'systemPrompt', 'commands', 'skills'])。在 agent/created、system-prompt/assemble、tools/pre-execute 三个 DSH 公开事件/waterfall 上挂网关,确保 Pi 运行时在每个根 Agent 的第一个 turn 前就绪;HOST 层资源(provider route、/login、凭证、伴生路由)由引擎独占挂载一次,避免每个 Agent 实例重复注册
  • 入口文件: src/index.ts(cordis 引擎表面);CLI 入口在 src/cli.ts,包内 pi2dsh 二进制指向 ./dist/cli.mjs

适用场景

你正在用 DeepSeek Harness,又想立刻拿到 Pi 生态里那些成熟插件的能力——联网搜索、视觉、代码导航、子代理、OAuth 订阅登录等;不想为这件事 fork 插件或维护适配层。本插件也是 DSH 架构的可执行回归测试,每次升级 DSH 后跑一遍能力矩阵和真实插件验证就能发现新出现的架构缺口。

前置依赖与兼容性

依赖最低版本说明
Node.js>=22.19.0源码中 engines.node 声明
DeepSeek Harness0.1.0-rc.8+一组 dsh-* peerDependencies 全部钉 ^0.1.0-rc.8;rc.8 之后 rc.8 之前的几个架构缺口(DSH-ARCH-002)需要 rc.8 才能被翻译过去
cordis^4.0.1引擎作为 cordis 插件挂载
TypeScript^5(可选)仅 inspect 命令的静态分析需要
平台跨平台引擎没有原生模块,资源路径使用 node:path 处理

安装方式

dsh plugin --profile web add github:weijiafu14/pi2dsh

配置项

配置类型说明默认值
visionCompanionsfalse 或 { <route>: [modelIds] }控制"贴图伴生路由":默认自动为每个纯文本路由注册 <route>-vision 伴生,路由在选择器里显示为 "+ Vision Bridge"。设为 false 全关;显式 map 只对列出的路由开,并限制可用的视觉模型自动开启
packagesstring[] 或 { name, config? }[]跳过自动发现,强制只挂载这些包未配置时自动从 profile 直接依赖发现
excludestring[]自动发现时跳过这些包不过滤

引擎自身不持有任何模型配置或凭证。Pi 插件的模型/密钥走 Pi 生态惯用的环境变量或 auth.json;DSH 模型路由走 DSH 的 settings.yaml。

常见问题

Q: 安装时遇到 ERR_PNPM_IGNORED_BUILDS 怎么办?

A: pnpm 默认拦截依赖的构建脚本。在 profile 目录下跑 pnpm approve-builds,或在 profile 的 pnpm-workspace.yaml 的 allowBuilds 下把需要的包设为 true,然后重新 add。这是用户的安全决定,桥不会绕过。

Q: 发版后立刻 add 却装到了旧版本怎么办?

A: pnpm 11 的 minimumReleaseAge 默认跳过刚发布不久的版本。用 dsh plugin add pi2dsh@<版本> 显式钉版本即可。

Q: 引擎和 Pi 插件是分开装的吗?

A: 是。dsh plugin add pi2dsh 装引擎(这一层只在 package.json 声明 dsh.bundle,被 profile 识别为引擎层);之后每个 Pi 插件用 dsh plugin add <pkg> 当作普通依赖装。重启 dsh,引擎读 profile 的直接依赖,自动挂载所有识别为 Pi 包的依赖。

Q: 默认的纯文本模型也能看图吗?

A: 能。引擎会为每个纯文本路由自动注册 <路由>-vision 伴生路由——在选择器里显示为 "+ Vision Bridge" 分组。贴图后由挂载的视觉 Pi 插件分析,分析结果以注入上下文的形式回到本轮;像素始终不会进入纯文本那条线。注意 GPT-5/o 系列不要用作视觉后端,它们会拒绝部分插件发的非默认 temperature 参数。

Q: ChatGPT / Claude / Copilot / Kimi 的订阅账号能直接用吗?

A: 能。引擎内建 Pi 官方四个 OAuth 流程。装完引擎后 dsh plugin 的 /login <provider> 就能登录,凭证以 Pi 的 auth.json 语义持久化,通过标准 dsh-credentials 解析,调用走 DSH 原生 LLM 路径——一笔订阅走 DSH 模型选择器。

Q: Pi 的 MCP 服务怎么迁过来?

A: 用 CLI:npx pi2dsh mcp-config 读取 Pi 的六层标准 mcpServers 配置(含 disabled 标记),输出可直接放进 cordis.patch.yml 的 DSH 官方 MCP 客户端条目。不需要执行 Pi 的 MCP 适配器代码。

Q: 升级引擎会影响已装的 Pi 插件吗?

A: 不会。引擎与每个插件是独立的升级单元:dsh plugin add pi2dsh@latest 只升引擎,dsh plugin add <pkg>@latest 只升那个插件。升级前想体检某个 Pi 包的兼容性,可以跑 npx pi2dsh inspect <pkg>@<version>,会给出 full/partial/unsupported 三类清单。

上手难度

进阶 — 引擎本身零配置装好即可,但要让某个 Pi 插件工作到底,仍然需要读懂该插件自己的环境变量或 OAuth 流程,以及 DSH 的 settings.yaml、cordis.patch.yml。普通用户按 README 走示例可以直接跑通;想做能力评估或写自定义 patch 的用户需要熟悉 DSH 的工具/会话/模型三大子系统。

已知问题与限制

  • 插件自绘卡片当前不被渲染:Pi 插件可以在自己的 view 里画组件样式;引擎接受这些注册但不调用,对应的笔记按 DSH 原生上下文注入行出现——内容能看见,样式丢。客户端半边已就位(侧边面板、header、widget dock、working chrome 四个 slot 都已经画),只剩 card renderer 没接。
  • 4 个已确认的 DSH 架构缺口(非 pi2dsh 缺陷,而是 DSH 自身的限制):DSH-ARCH-001(仓外插件无法注册可安全前向读取的自定义持久事件);DSH-ARCH-003(已有 adapter 缺 wire 请求/响应 middleware);DSH-ARCH-004(压缩执行前没有决策 waterfall);DSH-ARCH-005(项目资源加载前没有 trust policy)。插件遇到这些只能降级或走 sidecar,不会假装成功
  • runtime.ts 体积约 3900 行:源码顶部留有 TODO(2026-08-20 用户拍板,待拆),跨包挂载/SharedHostState/模型目录投影//login 与凭证恢复/伴生路由/命令工具事件桥六个层次都在同一个文件里;拆解方案按三层架构走,动手前需对齐
  • 运行期包安装和独立模型运行时被刻意屏蔽:Pi 的 DefaultPackageManager 和 ModelRuntime 导入就标记、构造直接抛 PiCapabilityError——这些是 DSH 宿主的安全门,pi2dsh 不会复制第二套
  • 纯文本模型的视觉能力要依赖挂载的视觉 Pi 插件:引擎的伴生路由只负责"接收图片并交给挂载的视觉插件",本身不带视觉能力

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/weijiafu14/pi2dsh)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录