PlayForm ☁️ 的 DeepSeek 🐳 Harness 插件家族站点
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PlayForm/Site-DeepSeek该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@playform/dsh-family-site(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 17:41:22
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 41 处,展示前 30 条)
- 读取本地文件Source/Library/Config.server.ts:70
if (!existsSync(Path)) { - 读取本地文件Source/Library/Config.server.ts:74
const Tree = fromMarkdown(readFileSync(Path, "utf8"), { - 读取本地文件Source/Library/Design.server.ts:117
for (const Entry of readdirSync(Directory).sort()) { - 读取本地文件Source/Library/Design.server.ts:120
if (statSync(Path).isDirectory()) { - 读取本地文件Source/Library/Design.server.ts:131
const Source = Strip(readFileSync(Path, "utf8")); - 读取本地文件Source/Library/Design.server.ts:170
if (existsSync(Module)) { - 读取本地文件Source/Library/Design.server.ts:174
if (existsSync(Beside)) { - 读取本地文件Source/Library/Design.server.ts:195
if (!existsSync(Directory)) { - 读取本地文件Source/Library/Marketplace.server.ts:51
if (!existsSync(Path)) { - 读取本地文件Source/Library/Marketplace.server.ts:55
const Index = JSON.parse(readFileSync(Path, "utf8")) as Manifest; - 读取本地文件Source/Library/Package.server.ts:74
existsSync(join(Directory, "Classic", "packages")) && - 读取本地文件Source/Library/Package.server.ts:75
existsSync(join(Directory, "EffectTS", "packages")) - 读取本地文件Source/Library/Package.server.ts:140
if (!existsSync(Base)) { - 读取本地文件Source/Library/Package.server.ts:146
for (const Entry of readdirSync(Base, { recursive: true, withFileTypes: true })) { - 读取本地文件Source/Library/Package.server.ts:158
if (!existsSync(Base)) { - 读取本地文件Source/Library/Package.server.ts:162
return readdirSync(Base).filter((Entry) => statSync(join(Base, Entry)).isFile()).length; - 读取本地文件Source/Library/Release.server.ts:19
if (!existsSync(Path)) { - 读取本地文件Source/Library/Release.server.ts:23
return readFileSync(Path, "utf8") - 读取本地文件Source/Library/Session.server.ts:67
if (!existsSync(Root)) return undefined; - 读取本地文件Source/Library/Session.server.ts:71
for (const Directory of readdirSync(Root)) { - 读取本地文件Source/Library/Session.server.ts:74
if (!statSync(Session).isDirectory()) continue; - 读取本地文件Source/Library/Session.server.ts:76
for (const Entry of readdirSync(Session)) { - 读取本地文件Source/Library/Session.server.ts:79
if (!existsSync(Path)) continue; - 读取本地文件Source/Library/Session.server.ts:81
const Time = statSync(Path).mtimeMs; - 执行外部命令固定命令Source/Library/Session.server.ts:104
Text = execFileSync("zstd", ["-dc", Path], { maxBuffer: 256 * 1024 * 1024 }).toString( - 读取本地文件Source/Library/Surface.server.ts:125
if (!existsSync(Path)) { - 读取本地文件Source/Library/Surface.server.ts:129
const Tree = fromMarkdown(readFileSync(Path, "utf8"), { - 发起网络请求Target/_astro/ClientRouter.astro_astro_type_script_index_0_lang.BulL7Ou2.js:1
import{n as t,t as e}from"./prefetch.B7ra_jLX.js";var n="data-astro-transition-persist",o=["data-astro-transition","data-astro-transition-fallback"],r - 写入剪贴板Target/_astro/CopyButton.QsjrqZiy.js:1
import{E as t,a,c as e,f as o,n as s,t as c,w as i}from"./web.DyFOflNw.js";var r=o("<button type=button class=copy-button aria-live=polite>"),l=o=>{co - 发起网络请求Target/_astro/prefetch.B7ra_jLX.js:1
var e,t={},n=new Set,o=new WeakSet,r=!0,s="hover",a=!1;function c(e){a||(a=!0,r??=e?.prefetchAll??!1,s??=e?.defaultStrategy??"hover",function(){for(co
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 插件家族站点
README
由 DeepSeek 最新模型翻译生成@playform / DSH Family - Site
DeepSeek Harness Plugin Family for PlayForm 的网站——一个 Astro 静态站点,采用「Technical Minimalist Harness」设计:只用蓝白两色,字体 Inter + IBM Plex Mono,标题干净,零立体感(1px 细线,无阴影,无渐变)。
页面
| 路由 | 内容 |
| / | 落地页:eyebrow 徽章、hero(使命)、终端安装、操作行、插件网格、版本卡片、flavor 条、模型无关性、记号说明 |
| /plugins/ | 十五个插件及其 @ 句式身份、安装片段(npm install 形式,锁定在 v0.1.0 发布版)、可筛选的注册表、pipeline manifest 表、harness 接缝、smoke 基线,以及架构实战卡片 |
| /plugins/<name>/ | 十五个插件详情页(每个包一页),内容取自各包的真实文档:安装栏、harness 接缝、Where It Fits、Problem、How It Works、Config、In Action(原样字符)和 Ledger |
展开完整文档(README 剩余 1 节)
@playform / DSH Family - Site
DeepSeek Harness Plugin Family for PlayForm 的网站——一个 Astro 静态站点,采用「Technical Minimalist Harness」设计:只用蓝白两色,字体 Inter + IBM Plex Mono,标题干净,零立体感(1px 细线,无阴影,无渐变)。
页面
| 路由 | 内容 |
| / | 落地页:eyebrow 徽章、hero(使命)、终端安装、操作行、插件网格、版本卡片、flavor 条、模型无关性、记号说明 |
| /plugins/ | 十五个插件及其 @ 句式身份、安装片段(npm install 形式,锁定在 v0.1.0 发布版)、可筛选的注册表、pipeline manifest 表、harness 接缝、smoke 基线,以及架构实战卡片 |
| /plugins/<name>/ | 十五个插件详情页(每个包一页),内容取自各包的真实文档:安装栏、harness 接缝、Where It Fits、Problem、How It Works、Config、In Action(原样字符)和 Ledger |
| /setup/ | 四步配置档设置(bundles 列表、cordis.patch.yml 条目、重启、ledger 校验)、可配置面,以及默认关闭的可选性 |
| /versions/ | 双引擎分发:CLASSIC(纯 TypeScript)vs EFFECT-TS(services & layers),两者均为 0.1.0,共享不变量和 smoke 基线 |
| /flavors/ | 七种 normalize flavor(dash、quotes、ellipsis、spaces、invisible、fullwidth、file)、两种治理角色,以及 11 枚徽章 sprite |
| /models/ | 模型无关的故事:这套家族会归一化任何 LLM 的输出;已在 DeepSeek V4 Flash 和 GLM 5.3 Flash 上实战验证 |
| /workbench/ | 交互式 Stream Gate & Normalization Workbench:实时 raw-vs-clean 终端、flavor 钩子切换台、遥测指标、trace 丝带 |
| /matrix/ | 交互式 Matrix Stream Inspector:原始模型输出与归一化输出对比、flavor 复选框,以及支撑演示规则的 smoke 套件 |
旧的 /products/ 路由已移除(重命名为 /plugins/);失效链接会落到带样式的 /404 页面,该页面列出当前导航。
结构
Source/
Layout/ 布局外壳(Base:页头、页脚、字体、meta) Component/ UI 组件(Badge、Card、SectionHeader、PageHero、Terminal) pages/ Astro 页面(index、plugins、versions、flavors、models、workbench、matrix、plugins/<15 个详情页>) Script/ 客户端脚本 Stylesheet/ 设计系统(Base.css:Tailwind;Global.css:token + 布局) Public/ 原样复制的静态资源(404.html、_headers、Manifest.json、robots.txt、assets/) Target/ 构建出的静态站点(部署产物)
components.json 声明组件别名(./Source/Component、./Source/Layout、 ./Source/pages、./Source/Stylesheet);prettier.config.js 承载格式规范(制表符、宽度 100),安装后会自动检测可选的 Astro/Tailwind 插件。
Source/Stylesheet/Global.css 里的设计 token 和组件样式改编自 Reference 设计系统:--color-primary #003ec7、--color-primary-container #0052ff、白色/近白色表面、--radius-* 刻度、8pt 间距节奏,以及精确的 Inter / IBM Plex Mono 字号阶梯。每个表面边界都是 1px 的 outline-variant 细线。
坑(构建站点时)
构建本站点踩过的工程教训,以及它们在哪里咬人——修正后的结论保留。
- 幽灵图标间距类。 正文旁的行内图标从不依赖源码空白:Astro 的表达式间空白不属于布局契约(表达式内的图标渲染时紧贴相邻单词;行内块盒子旁的源码空格渲染成宽度不可预测的间隙)。图标到文字的间距始终用 CSS token(--gap-icon、.brand-icon 上的 margin-right),绝不用源码空格。
- mermaid 标签限制。 图表流水线(Source/Content/Mermaid/Render.mjs)有硬性限制,.mmd 源文件必须遵守:
- 换行预算——Mermaid 会把每个标签按单词拆成多个 tspan 片段;超出预算的标签会换行(允许作为换行符),而标签存在性法则比较的是单空格形式,所以标签换行后必须保住它的空格。
- 列表标记——以语法形状字符开头的标签会被解析成流程图语法;带引号的形式(["..."] / {"..."})是安全的载体。
- <>/引号限制——标签内的 <、> 和引号必须做实体转义(<、>、");渲染器会解码实体,供存在性法则使用。
- 空格规则。 当 htmlLabels: false 时,Mermaid 把每个换行后的词写成一个 tspan 片段,片段之间用前导空格连接——而 SVG 的空白规则会把前导空格折叠掉,导致单词粘连(“Hook@DSH@Core”),并让测量出的标签框变小。渲染器在渲染时把连接用的空格改写成不换行空格(U+00A0);.mmd 源文件保持纯 ASCII。
- 包含规则。 每个标签的边界框必须完全落在 viewBox 内;如果某个标签超出边界,流水线会让这次渲染失败,而不是交付一张被裁切的图。
- 构建是最终裁判。 每次改动后都跑 pnpm run prepublishOnly(astro build,24 页);开发服务器(pnpm run Run,:9999)提供同一棵目录树。
构建
pnpm install
pnpm run prepublishOnly # astro build → Target/
pnpm run Run # astro dev on :9999
部署 - Cloudflare Pages
站点完全静态(output: "static",outDir: "./Target")。要部署,把 Cloudflare Pages 指向这个仓库:
- 构建命令: pnpm run prepublishOnly
- 构建输出目录: Target/
- 框架预设: 无——这是静态站点。
Git 连接的 Pages 项目无需额外配置即可工作:上面的构建命令和输出目录就是 Pages 需要的全部内容。
Public/_headers 为带内容哈希的 _astro/ 资源提供缓存规则,Public/404.html 提供带样式的未找到页面,Cloudflare Pages 会自动提供它。
路由以目录形式生成(plugins/index.html),Pages 原生支持这种形式。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
PlayForm/Site-DeepSeek
PlayForm ☁️ 的 DeepSeek 🐳 Harness 插件家族站点
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目