DeepSeek Harness 插件

dsh-plugin-wepre

DeepSeek Harness plugin: publish single-screen content cards to WePre Next straight from a dsh agent session(英文原文)

跳到安装方式

来源信息

GitHub 仓库
shujiTech/dsh-plugin-wepre
最近更新
2026年8月13日
分类
自动化与任务
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/shujiTech/dsh-plugin-wepre
插件名:dsh-plugin-wepre
作者:shujiTech

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-plugin-wepre

English | 中文

DeepSeek Harnessdsh)插件:让 agent 在对话中把单屏内容卡片直接发布到 WePre Next —— 一个在 AI 生成的等待时间向用户推送单屏离线卡片的平台。

装上这个插件后,一次对话就能走完「写卡片 → 发布上线」的全流程:

你:    做一张番茄钟卡片,发到 WePre
agent: <写 index.html,调用 wepre_publish>
agent: 质检门禁拦下了——390x600 视口 OVERFLOW_Y,我来修…… <改完重新发布>
agent: 已发布。contentId=cnt_xxx,版本 v1(质检:通过)

安装

dsh plugin --profile web add dsh-plugin-wepre

验证配置层已组合,然后启动:

dsh --profile web --dump-config   # 能看到 "# == dsh-plugin-wepre" 层
dsh --profile web

插件是纯 ESM JavaScript、无构建步骤,也支持直接从 git 安装:

dsh plugin --profile web add github:shujiTech/dsh-plugin-wepre

agent 获得的能力

注册到 ctx.tools 的五个模型可见工具:

工具作用
wepre_request_code发送登录验证码(短信 / 邮箱)
wepre_login用验证码登录,会话 Cookie 持久化到本机
wepre_whoami查询当前登录状态
wepre_publishindex.html / .zip 卡片通过服务端质检门禁发布上线
wepre_qa_report查询某个内容的完整质检报告(各视口 issue)

工具描述里内置了 WePre 的内容规则(单屏布局、禁网络请求、禁外部资源、wepre-next:execute 消息约定)和质检修复闭环:门禁返回 QA_GATE_FAILED 时,agent 会逐条阅读结构化的分视口 issue、修复卡片、带同一个 contentId 重新发布——全程无需人工介入。

鉴权

wepre_publish / wepre_qa_report 按以下顺序取凭证:

1. 配置项 token —— WePre 发布页签发的短时发布令牌 2. WEPRE_PUBLISH_TOKEN 环境变量 3. 持久化登录会话 —— 由 wepre_login 创建,写入 sessionFile(默认 ~/.dsh/wepre-session.json,权限 0600)

交互使用直接让 agent 登录即可:「用 13800138000 登录 WePre」——它会发验证码、向你要码、存好会话。CI / headless 场景(dsh --profile headless "…")请配置 token。

配置

在 profile 的 cordis.patch.yml 中覆盖插件行(patch 会整体替换该行的 config,保留的键要全部重写):

- 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'
默认值含义
endpointhttps://wepre.cn/next-testWePre Next 站点根
token短时发布令牌(Bearer)
sessionFile~/.dsh/wepre-session.json登录会话持久化文件

发布调用的细节

wepre_publish 对应 POST /next-test/api/next-contents(multipart)。参数:titlepath(绝对路径,.html.zip)、descriptioncontentId(原地版本更新时传)、changeNoteversionLabeldownloadEnabled(默认 false),以及 manifest 字段 viewportsall/desktop/mobile)、interactionexecute/passive)、capabilities

成功返回 contentIdversionIdversionNumber 和质检状态。遇到 QA_GATE_FAILED(HTTP 422)时返回结构化 issuesreportId(作为正常返回值而非异常),agent 可据此迭代修复。上传前工具还会本地预检 WePre 禁用字样(fetchlocalStorageWorkeroverflow:auto 等)与外链,作为非阻断警告返回。

内容规则速览

WePre Next 卡片是单屏、离线、沙箱化的页面:单个 index.html(或根目录含它的 zip);根容器 100dvh + overflow:hidden;禁 overflow:auto/scroll;禁网络请求 / localStorage / Worker(注释中出现这些字样也会被拒);禁外部资源与根绝对路径;execute 模式卡片须监听 wepre-next:execute postMessage 触发主操作。完整约定见站内《WePre Next 内容发布规范》。

开发

纯 ESM JavaScript,无构建步骤。行为测试用 mock WePre 服务器驱动全部工具:

npm install
npm test

许可证

[MIT](LICENSE)