前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。智能体在会话中编写代码,但将其部署到特定平台(如 WePre Next)通常需要人工操作。此插件将 dsh 会话连接到 WePre,使智能体能够直接发布卡片。
是什么¶
插件名 shujitech/dsh-plugin-wepre,由 shujiTech 维护。它是一个 DeepSeek Harness 插件,核心功能是将单屏内容卡片从 dsh agent 会话发布到 WePre Next。安装后,一个 dsh 会话可以从“编写卡片”直接变为“卡片上线”。
安装与启用¶
安装插件:
dsh plugin --profile web add dsh-plugin-wepre
安装后验证图层已加载:
dsh --profile web --dump-config # 应显示 "# == dsh-plugin-wepre" 层
dsh --profile web
无需构建步骤或 prepare 脚本,直接从 git host 安装同样有效。
核心功能¶
插件向模型暴露了五个工具,位于 ctx.tools:
wepre_request_code:发送一次性登录代码(SMS / 邮件)。wepre_login:兑换代码,会话 Cookie 持久化存储。wepre_whoami:显示当前登录状态。wepre_publish:通过服务器端 QA 闸门上传index.html/.zip卡片。wepre_qa_report:获取内容的完整 QA 报告(按视口)。
这些工具的描述告知了模型 WePre 的内容规则(单屏布局、无网络调用、无外部资源等)以及 QA 修复循环:当闸门返回 QA_GATE_FAILED 时,智能体会读取结构化的视口问题并修复,无需人工介入即可重新发布。
认证与配置¶
wepre_publish / wepre_qa_report 按以下顺序解析凭证:
token配置字段:来自 WePre 发布页面的短期发布令牌。WEPRE_PUBLISH_TOKEN环境变量。- 存储的登录会话:由
wepre_login创建,持久化到sessionFile(默认~/.dsh/wepre-session.json,权限 0600)。
对于交互式使用,只需要求智能体登录:
“log in to WePre with 13800138000”
它会发送代码并要求输入,随后存储会话。对于 CI / 无头模式(dsh --profile headless "..."),请设置令牌。
配置示例(覆盖 cordis.patch.yml):
- id: wepre-publish
name: dsh-plugin-wepre
config:
endpoint: 'https://wepre.cn/next-test'
token: !!js process.env.WEPRE_PUBLISH_TOKEN
sessionFile: '/home/me/.dsh/wepre-session.json'
| Key | Default | Meaning |
|---|---|---|
endpoint |
https://wepre.cn/next-test |
WePre Next 站点根地址 |
token |
— | 短期发布令牌 (Bearer) |
sessionFile |
~/.dsh/wepre-session.json |
持久化登录会话 |
内容规则与限制¶
WePre Next 卡片是单屏、离线、沙盒化的页面。发布前工具会进行本地预检,检查违禁词(如 fetch, localStorage, Worker, overflow:auto 等)。
内容必须满足以下规则:
* 根容器高度 100dvh,overflow:hidden。
* 无 overflow:auto/scroll。
* 无网络调用、localStorage、Worker。
* 无外部或根绝对 URL。
* execute 模式卡片必须在 wepre-next:execute postMessage 上运行主动作。
适用场景与注意¶
此插件适合需要在 AI 生成后直接部署到 WePre Next 的场景。它以当前 dsh 进程权限运行,安装前应检查源码与许可证。无构建步骤,使用纯 ESM JavaScript。
短结尾¶
该插件通过工具和自动 QA 循环,填补了 DSH 智能体编写代码与平台发布之间的空白。
- GitHub: https://github.com/shujiTech/dsh-plugin-wepre
- 目录: https://www.skillhub.cn/plugins/shujiTech/dsh-plugin-wepre