PageSourceSearch

https://dshplugin.app/assets/_slug-BndUjnMt.js

js dshplugin.app collected 2026-10-08 04:44:51 UTC 25,578 bytes, 1 lines download raw bytes

1import{r as N,l as v,j as e,a as k,t as I,ct as w,v as g,bd as H,b as A,L as $,dl as L,dm as S,g as T}from"./main-BCIamrcv.js";import{G as C}from"./github-star-count-AU7w9Tw6.js";import{I as D,a as G}from"./IconTerminal2-BIxUbk-n.js";import{I as z}from"./IconPackage-JePHBY2e.js";import{I as U}from"./IconShieldCheck-DogVjKvR.js";import"./IconStar-BoVPdIuM.js";const p={en:{plugin:"DeepSeek Harness Plugin",back:"DeepSeek Harness Plugins",indexed:"Indexed",manifest:"Manifest Valid",verified:"Runtime Verified",install:"Install",copy:"Copy",copied:"Copied",source:"Source",homepage:"Homepage",registryStatus:"Registry status",profile:"DSH profile",version:"Latest version",license:"License",indexedAt:"Indexed",repository:"Repository",intelligence:"Plugin Overview & Capabilities",intelligenceDescription:"AI-assisted organization based on the public repository snapshot. The content must be grounded in source evidence and does not replace compatibility or security verification.",sourceGrounded:"source-grounded",capabilities:"Key Capabilities",useCases:"Useful For",targetUsers:"Who It Fits",limitations:"Documented Limitations",compatibility:"DSH Compatibility",compatibilityDescription:"Version-specific runtime evidence collected by DSH Plugin. A missing result means we have not tested that combination yet.",noCompatibility:"No runtime compatibility tests have been published yet.",security:"Security Signals",securityDescription:"Objective signals discovered from package metadata and source inspection. These are not a guarantee that a plugin is safe.",noSecurity:"No automated security signals have been published yet.",activity:"Repository Activity",stars:"GitHub stars",forks:"Forks",issues:"Open issues",lastCommit:"Last commit",lastRelease:"Last release",noInstallCommand:"No clear install command was found in the current repository evidence.",unavailable:"Unavailable",noCommitData:"No commit data",noRelease:"No release detected",sourceNotes:"Source & Registry Notes",sourceNotesDescription:"Public provenance, Registry classification, and the latest source check for this entry, kept separate from runtime verification.",sourceRepository:"Source repository",registrySource:"Registry source",registryClassification:"Registry classification",sourceChecked:"Source checked",sourceNotCaptured:"Source snapshot not captured yet",related:"Related DSH Plugins",relatedDescription:"Ranked by overlapping capabilities, use cases, plugin type, categories, and DSH profile.",viewPlugin:"View plugin",notTested:"Not tested yet",dataNotice:"This project is independently indexed from public source information. DSH Plugin is not affiliated with DeepSeek or the plugin author. Always check the author repository before installation."},zh:{plugin:"DeepSeek Harness 插件",back:"DeepSeek Harness 插件",indexed:"已收录",manifest:"Manifest 有效",verified:"运行验证通过",install:"安装",copy:"复制",copied:"已复制",source:"源码",homepage:"项目主页",registryStatus:"Registry 状态",profile:"DSH Profile",version:"最新版本",license:"许可证",indexedAt:"收录时间",repository:"GitHub 仓库",intelligence:"插件能力与用途",intelligenceDescription:"基于公开仓库快照由 AI 辅助整理,内容必须有源码依据;它不等同于兼容性验证或安全验证。",sourceGrounded:"源码有据",capabilities:"核心能力",useCases:"适用场景",targetUsers:"适合谁",limitations:"文档中可确认的限制",compatibility:"DSH 兼容性",compatibilityDescription:"DSH Plugin 针对具体版本记录的运行验证证据。没有结果只代表我们尚未测试,不代表不兼容。",noCompatibility:"目前还没有发布运行兼容性测试结果。",security:"安全信号",securityDescription:"来自包元数据和源码检查的客观信号。这些信息用于辅助判断,不代表绝对安全保证。",noSecurity:"目前还没有发布自动安全检查信号。",activity:"仓库活跃度",stars:"GitHub Stars",forks:"Fork 数",issues:"未关闭 Issue",lastCommit:"最近提交",lastRelease:"最近发布",noInstallCommand:"当前仓库证据中未发现明确安装命令。",unavailable:"暂无数据",noCommitData:"暂无提交数据",noRelease:"未发现 Release",sourceNotes:"来源与 Registry 记录",sourceNotesDescription:"展示此条目的公开来源、Registry 分类与最近一次源码检查信息,并与运行验证结果明确分开。",sourceRepository:"源码仓库",registrySource:"Registry 来源",registryClassification:"Registry 分类",sourceChecked:"源码检查",sourceNotCaptured:"尚未获取源码快照",related:"相关 DSH 插件",relatedDescription:"综合核心能力、适用场景、插件类型、分类和 DSH Profile 进行相关性排序。",viewPlugin:"查看插件",notTested:"尚未测试",dataNotice:"本页面基于公开源码信息独立收
1录。DSH Plugin 与 DeepSeek 及插件作者均无隶属关系;安装前请始终以作者仓库中的最新说明为准。"}},M={vision:"视觉与图像","ui-productivity":"UI 与效率",terminal:"终端与 TUI","developer-tools":"开发者工具","browser-web":"浏览器与 Web","security-policy":"安全与策略","skills-workflows":"Skills 与工作流","remote-execution":"远程执行"};function u(s){if(!s)return"—";const i=new Date(s);return Number.isNaN(i.getTime())?s.slice(0,10):i.toISOString().slice(0,10)}function V(s,i,r){return r==="zh"?M[s]??i:i}function B(s,i){if(!s)return;const t={plugin:["Plugin","Plugin"],"plugin-bundle":["Plugin Bundle","Plugin Bundle"],directory:["Directory","目录"],registry:["Registry","Registry"],scaffold:["Scaffold","脚手架"],template:["Template","模板"],resource:["Resource","资源"],unknown:["Unclassified","未分类"]}[s];return t?i==="zh"?t[1]:t[0]:s.split("-").map(o=>o.charAt(0).toUpperCase()+o.slice(1)).join(" ")}function F(s,i){if(s)return s==="github-topic"?"GitHub · dsh-plugin topic":s==="submission"?i==="zh"?"社区提交":"Community submission":s==="manual"?i==="zh"?"Registry 手动收录":"Registry curated":s.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function E(s,i){const r=i==="zh"?p.zh:p.en;if(!s?.sourceCheckedAt)return r.sourceNotCaptured;const t=u(s.sourceCheckedAt);return s.githubCommitSha?`${s.githubCommitSha.slice(0,7)} · ${t}`:t}function O(s,i){return i!=="zh"?s:s==="passed"?"通过":s==="failed"?"失败":s==="partial"?"部分通过":"未测试"}function W(s,i){return i!=="zh"?s:s==="critical"?"严重":s==="high"?"高":s==="medium"?"中":s==="low"?"低":"信息"}function y(s){return s.replace(/_/g," ").replace(/\b\w/g,i=>i.toUpperCase())}function b(s,i){const r=s?.[i];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function R(s,i){const r=s?.[i];return typeof r=="string"?r:void 0}function K(s,i){if(i!=="zh")return{label:y(s.type),summary:s.summary};const r=s.details,t={source_available:"源码可用",repository_archived:"仓库已归档",license_declared:"已声明许可证",license_not_declared:"未声明许可证",package_manifest_not_found:"未发现 package.json",package_manifest_available:"已获取 package.json",dsh_bundle_declared:"已声明 DSH Bundle",preinstall_script_detected:"检测到 preinstall 脚本",install_script_detected:"检测到 install 脚本",postinstall_script_detected:"检测到 postinstall 脚本",prepare_script_detected:"检测到 prepare 脚本",dependency_counts:"依赖数量"};let o;if(s.type==="source_available")o="本次 Registry 快照已获取公开 GitHub 源码元数据。";else if(s.type==="repository_archived")o="GitHub 当前将该仓库标记为已归档。";else if(s.type==="license_declared"){const d=R(r,"license");o=d?`GitHub 报告该仓库许可证为 ${d}。`:"GitHub 已报告该仓库的许可证信息。"}else if(s.type==="license_not_declared")o="GitHub 当前没有为该仓库报告 SPDX 许可证。";else if(s.type==="package_manifest_not_found")o="最新 GitHub 快照中未获取到仓库根目录的 package.json。";else if(s.type==="package_manifest_available")o="已获取仓库根目录 package.json,可用于 Registry 元数据检查。";else if(s.type==="dsh_bundle_declared")o="package.json 中声明了 DSH Bundle 元数据。";else if(s.type.endsWith("_script_detected"))o=`package.json 声明了 ${R(r,"script")??s.type.split("_")[0]} 生命周期脚本,在相关安装流程中可能执行。`;else if(s.type==="dependency_counts"){const d=b(r,"runtime")??0,m=b(r,"development")??0,c=b(r,"peer")??0,l=b(r,"optional")??0;o=`package.json 声明了 ${d} 个运行依赖、${m} 个开发依赖、${c} 个 Peer 依赖和 ${l} 个可选依赖。`}return{label:t[s.type]??y(s.type),summary:o??`Registry 检测到源码信号“${y(s.type)}”,当前暂无专用中文说明。`}}function X({status:s,locale:i}){const r=i==="zh"?p.zh:p.en,t=s==="runtime-verified"?r.verified:s==="manifest-valid"?r.manifest:r.indexed;return e.jsxs("span",{className:["inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-xs font-semibold",s==="runtime-verified"?"border-success/25 bg-success/10 text-success":s==="manifest-valid"?"border-primary/25 bg-primary/10 text-primary":"border-border bg-muted/60 text-muted-foreground"].join(" "),children:[s==="runtime-verified"?e.jsx(g,{className:"size-3.5"}):null,t]}
1)}function n({label:s,value:i}){return e.jsxs("div",{className:"flex items-start justify-between gap-5 border-b border-border/70 py-3 last:border-b-0",children:[e.jsx("dt",{className:"text-xs font-medium text-muted-foreground",children:s}),e.jsx("dd",{className:"max-w-[65%] break-words text-right font-mono text-xs text-foreground",children:i})]})}function j({title:s,items:i}){return i.length?e.jsxs("div",{className:"rounded-xl border border-border bg-card p-5",children:[e.jsx("h3",{className:"text-sm font-semibold",children:s}),e.jsx("ul",{className:"mt-3 space-y-2.5 text-sm leading-6 text-muted-foreground",children:i.map(r=>e.jsxs("li",{className:"flex gap-2.5",children:[e.jsx(g,{className:"mt-1 size-3.5 shrink-0 text-primary"}),e.jsx("span",{children:r})]},r))})]}):null}function q({plugin:s,provenance:i,locale:r}){const t=r==="zh"?p.zh:p.en,[o,d]=N.useState(!1),m=v("/",r),c=s.aiEnrichment,l=r==="zh"&&c?.localized?.zh?c.localized.zh:c,h=l?.shortDescription||s.description;async function f(){s.installCommand&&(await navigator.clipboard.writeText(s.installCommand),d(!0),window.setTimeout(()=>d(!1),1400))}return e.jsxs("main",{className:"min-h-svh bg-background",children:[e.jsx("section",{className:"registry-grid border-b border-border/80",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:py-12",children:[e.jsxs("a",{href:`${m}#plugins`,className:"inline-flex items-center gap-1.5 text-xs font-semibold text-muted-foreground hover:text-primary",children:["← ",t.back]}),e.jsxs("div",{className:"mt-6 grid gap-8 lg:grid-cols-[minmax(0,1fr)_300px] lg:items-start",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"font-mono text-xs font-semibold uppercase tracking-[0.12em] text-primary",children:t.plugin}),e.jsx(X,{status:s.status,locale:r})]}),e.jsx("h1",{className:"mt-4 break-words font-mono text-3xl font-bold tracking-[-0.04em] sm:text-4xl lg:text-5xl",children:s.name}),e.jsx("p",{className:"mt-4 max-w-3xl text-base leading-7 text-muted-foreground sm:text-lg",children:h}),e.jsx("div",{className:"mt-5 flex flex-wrap gap-2",children:s.categoryDetails.map(a=>e.jsx("span",{className:"rounded-md border border-border bg-card px-2.5 py-1 text-xs font-medium text-muted-foreground",children:V(a.slug,a.label,r)},a.slug))}),e.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-muted-foreground",children:[e.jsx(C,{stars:s.stars,label:"GitHub Stars",className:"text-xs"}),s.forks!==void 0?e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx(D,{className:"size-3.5"}),e.jsx("strong",{className:"font-semibold text-foreground/85",children:s.forks.toLocaleString("en-US")}),e.jsx("span",{children:t.forks})]}):null,s.lastCommitAt?e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx(k,{className:"size-3.5"}),e.jsx("span",{children:r==="zh"?"更新于":"Updated"}),e.jsx("strong",{className:"font-semibold text-foreground/85",children:u(s.lastCommitAt)})]}):null]}),e.jsxs("div",{className:"mt-7 flex flex-wrap gap-2",children:[e.jsxs("a",{href:s.repositoryUrl,target:"_blank",rel:"noreferrer",className:"inline-flex h-10 items-center gap-2 rounded-lg border border-border bg-card px-4 text-sm font-semibold hover:border-primary/35 hover:text-primary",children:[e.jsx(I,{className:"size-4"}),t.source,e.jsx(w,{className:"size-3.5"})]}),s.homepage?e.jsxs("a",{href:s.homepage,target:"_blank",rel:"noreferrer",className:"inline-flex h-10 items-center gap-2 rounded-lg border border-border bg-card px-4 text-sm font-semibold hover:border-primary/35 hover:text-primary",children:[t.homepage,e.jsx(w,{className:"size-3.5"})]}):null]})]}),e.jsxs("aside",{className:"rounded-xl border border-border bg-card p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-semibold",children:[e.jsx(z,{className:"size-4 text-primary"}),t.registryStatus]}),e.jsxs("dl",{className:"mt-3",children:[e.jsx(n,{label:t.profile,value:s.profile}),e.jsx(n,{label:t.version,value:s.version??"—"}),e.jsx(n,{label:t.license,value:s.license??"—"}),e.jsx(n,{label:t.indexedAt,value:u(s.indexedAt)}),e.jsx(n,{label:t.repository,value:s.repository})]})]})]})]})}),e.jsx("section",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:py-14",children:e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-5 sm:p-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(G,{className:"size-5 text-primary"}),e.jsx("h2",{className:"text-xl font-bold",children:t.install})]}),s.installCommand?e.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded-xl border border-border bg-[#111713] p-2 pl-4 dark:bg-black/35",children:[e.jsxs("code",{className:"min-w-0 flex-1 overflow-x-auto whitespace-nowrap font-mono text-xs leading-7 text-emerald-200 sm:text-sm",children:[e.jsx("span",{className:"text-white/40",children:"$ "}),s.installCommand]}),e.jsxs("button",{type:"button",onClick:f,className:"inline-flex h-9 shrink-0 items-center gap-1.5 rounded-lg border border-white/10 bg-white/5 px-3 text-xs font-semibold text-white/70 hover:bg-white/10 hover:text-white",children:[o?e.jsx(g,{className:"size-4"}):e.jsx(H,{className:"size-4"}),o?t.copied:t.copy]})]}):e.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:t.noInstallCommand})]})}),c&&l?e.jsx("section",{className:"border-y border-border bg-card",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:py-14",children:[e.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[e.jsxs("div",{className:"max-w-3xl",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(A,{className:"size-5 text-primary"}),e.jsx("h2",{className:"text-xl font-bold sm:text-2xl",children:t.intelligence})]}),e.jsx("p",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:t.intelligenceDescription})]}
1),e.jsx("span",{className:"w-fit rounded-md border border-primary/20 bg-primary/5 px-2.5 py-1 font-mono text-[10px] font-semibold uppercase tracking-[0.1em] text-primary",children:t.sourceGrounded})]}),e.jsx("div",{className:"mt-6 max-w-4xl whitespace-pre-line text-sm leading-7 text-muted-foreground sm:text-base",children:l.overview}),e.jsxs("div",{className:"mt-7 grid gap-4 md:grid-cols-3",children:[e.jsx(j,{title:t.capabilities,items:l.capabilities}),e.jsx(j,{title:t.useCases,items:l.useCases}),e.jsx(j,{title:t.targetUsers,items:l.targetUsers})]}),l.limitations.length?e.jsxs("div",{className:"mt-4 rounded-xl border border-warning/25 bg-warning/10 p-5",children:[e.jsx("h3",{className:"text-sm font-semibold",children:t.limitations}),e.jsx("ul",{className:"mt-3 grid gap-2.5 text-sm leading-6 text-muted-foreground md:grid-cols-2",children:l.limitations.map(a=>e.jsxs("li",{className:"flex gap-2.5",children:[e.jsx("span",{className:"mt-2 size-1.5 shrink-0 rounded-full bg-warning"}),e.jsx("span",{children:a})]},a))})]}):null]})}):null,e.jsx("section",{className:"border-b border-border bg-muted/20",children:e.jsxs("div",{className:"mx-auto grid max-w-6xl gap-6 px-4 py-10 sm:px-6 lg:grid-cols-2 lg:py-14",children:[e.jsxs("div",{className:"rounded-xl border border-border bg-card p-5 sm:p-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(D,{className:"size-5 text-primary"}),e.jsx("h2",{className:"text-xl font-bold",children:t.compatibility})]}),e.jsx("p",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:t.compatibilityDescription}),s.compatibility.length?e.jsx("div",{className:"mt-5 overflow-hidden rounded-lg border border-border",children:s.compatibility.map(a=>e.jsxs("div",{className:"flex items-center justify-between gap-4 border-b border-border px-4 py-3 last:border-b-0",children:[e.jsxs("div",{children:[e.jsx("div",{className:"font-mono text-sm font-semibold",children:a.dshVersion}),e.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:u(a.testedAt)})]}),e.jsx("span",{className:["rounded-md border px-2 py-1 text-xs font-semibold",a.status==="passed"?"border-success/25 bg-success/10 text-success":a.status==="failed"?"border-destructive/25 bg-destructive/10 text-destructive":"border-border bg-muted text-muted-foreground"].join(" "),children:O(a.status,r)})]},`${a.dshVersion}-${a.testedAt}`))}):e.jsxs("div",{className:"mt-5 rounded-lg border border-dashed border-border bg-muted/25 px-4 py-7 text-sm text-muted-foreground",children:[e.jsx("strong",{className:"block font-semibold text-foreground",children:t.notTested}),e.jsx("span",{className:"mt-1 block",children:t.noCompatibility})]})]}),e.jsxs("div",{className:"rounded-xl border border-border bg-card p-5 sm:p-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(U,{className:"size-5 text-primary"}),e.jsx("h2",{className:"text-xl font-bold",children:t.security})]}),e.jsx("p",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:t.securityDescription}),s.securitySignals.length?e.jsx("div",{className:"mt-5 space-y-2",children:s.securitySignals.map(a=>{const x=K(a,r);return e.jsxs("div",{className:"flex items-start justify-between gap-4 rounded-lg border border-border px-4 py-3",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs font-semibold",children:x.label}),x.summary?e.jsx("p",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:x.summary}):null]}),e.jsx("span",{className:"rounded-md bg-muted px-2 py-1 text-[11px] font-semibold text-muted-foreground",children:W(a.severity,r)})]},`${a.type}-${a.scannedAt}`)})}):e.jsx("div",{className:"mt-5 rounded-lg border border-dashed border-border bg-muted/25 px-4 py-7 text-sm text-muted-foreground",children:t.noSecurity})]})]})}),e.jsx("section",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:py-14",children:e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[1fr_0.8fr]",children:[e.jsxs("div",{className:"rounded-xl border border-border bg-card p-5 sm:p-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(z,{className:"size-5 text-primary"}),e.jsx("h2",{className:"text-xl font-bold",children:t.sourceNotes})]}),e.jsx("p",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:t.sourceNotesDescription}),e.jsxs("dl",{className:"mt-3",children:[e.jsx(n,{label:t.sourceRepository,value:s.repository}),e.jsx(n,{label:t.registrySource,value:F(i?.registrySource,r)??t.unavailable}),e.jsx(n,{label:t.registryClassification,value:B(i?.artifactType,r)??t.unavailable}),e.jsx(n,{label:t.sourceChecked,value:E(i,r)})]}),e.jsx("p",{className:"mt-4 text-xs leading-6 text-muted-foreground",children:t.dataNotice})]}),e.jsxs("div",{className:"rounded-xl border border-border bg-card p-5 sm:p-6",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(k,{className:"size-5 text-primary"}),e.jsx("h2",{className:"text-xl font-bold",children:t.activity})]}),e.jsxs("dl",{className:"mt-3",children:[e.jsx(n,{label:t.stars,value:s.stars!==void 0?e.jsx(C,{stars:s.stars}):t.unavailable}),e.jsx(n,{label:t.forks,value:s.forks??t.unavailable}),e.jsx(n,{label:t.issues,value:s.openIssues??t.unavailable}),e.jsx(n,{label:t.lastCommit,value:s.lastCommitAt?u(s.lastCommitAt):t.noCommitData}),e.jsx(n,{label:t.lastRelease,value:s.lastReleaseAt?u(s.lastReleaseAt):t.noRelease})]})]})]})}),s.relatedPlugins.length?e.jsx("section",{className:"border-t border-border bg-muted/20",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:py-14",children:[e.jsx("h2",{className:"text-xl font-bold sm:text-2xl",children:t.related}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:t.relatedDescription}),e.jsx("div",{className:"mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:s.relatedPlugins.map(a=>{const x=r==="zh"?a.localizedDescription??`${a.name} 的 DeepSeek Harness 插件条目。`:a.description;return e.jsxs($,{to:v(`/plugins/${a.slug}`,r),className:"registry-card rounded-xl border border-border bg-card p-4",children:[e.jsx("div",{className:"font-mono text-sm font-semibold",children:a.name}),e.jsx("p",{className:"mt-2 line-clamp-3 text-xs leading-5 text-muted-foreground",children:x}),e.jsxs("span",{className:"mt-4 inline-flex items-center gap-1 text-xs font-semibold text-primary",children:[t.viewPlugin," →"]})]},a.slug)})})]})}):null]})}const _="https://dshplugin.app";function J({slug:s,locale:i}){const r=L(i).pluginMaintainer,[t,o]=N.useState("badge"),[d,m]=N.useState(!1),c=`${_}/plugins/${s}`,l=`[View on DSHPlugin.app](${c})`,h=`[![Listed on DSHPlugin.app](${_}/badges/listed.svg)](${c})`,f=t==="badge"?h:l;async function a(){try{await navigator.clipboard.writeText(f),m(!0),window.setTimeout(()=>m(!1),1400)}catch{m(!1)}}function x(P){o(P),m(!1)}return e.jsx("section",{className:"border-t border-border bg-background",children:e.jsx("div",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:py-12",children:e.jsx("div",{className:"rounded-2xl border border-border bg-card p-5 sm:p-6",children:e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(300px,360px)] lg:items-center",children:[e.jsxs("div",{className:"max-w-3xl",children:[e.jsx("div",{className:"font-mono text-xs font-semibold uppercase tracking-[0.12em] text-primary",children:r.eyebrow}),e.jsx("h2",{className:"mt-2 text-xl font-bold sm:text-2xl",children:r.title}),e.jsx("p",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:r.description})]}),e.jsxs("div",{className:"rounded-xl border border-border bg-muted/15 p-3 sm:p-4",children:[e.jsx("div",{className:"text-xs font-semibold text-foreground",children:r.addToReadme}),e.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-1 rounded-lg bg-muted/60 p-1",children:[e.jsx("button",{type:"button","aria-pressed":t==="link",onClick:()=>
1x("link"),className:`h-8 rounded-md px-3 text-xs font-semibold transition-colors ${t==="link"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:r.textLink}),e.jsx("button",{type:"button","aria-pressed":t==="badge",onClick:()=>x("badge"),className:`h-8 rounded-md px-3 text-xs font-semibold transition-colors ${t==="badge"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:r.badge})]}),e.jsx("div",{className:"mt-3 flex min-h-14 items-center justify-center rounded-lg border border-border bg-background px-3 py-3",children:t==="badge"?e.jsx("img",{src:"/badges/listed.svg",alt:r.badgeAlt,className:"h-7 w-auto"}):e.jsx("span",{className:"text-sm font-medium text-primary underline underline-offset-4",children:r.linkPreview})}),e.jsxs("button",{type:"button",onClick:a,className:"mt-3 inline-flex h-10 w-full items-center justify-center gap-2 rounded-lg border border-border bg-background px-3 text-xs font-semibold transition-colors hover:border-primary/35 hover:text-primary",children:[d?e.jsx(g,{className:"size-4"}):e.jsx(H,{className:"size-4"}),d?r.copied:r.copyMarkdown]})]})]})})})})}function Q({availability:s,locale:i}){if(s==="active")return null;const r=s==="archived",t=r?i==="zh"?"仓库已归档":"Archived":i==="zh"?"源码仓库不可用":"Repository unavailable",o=r?i==="zh"?"该仓库已归档,可能不再持续维护。":"This repository is archived and may no longer be actively maintained.":i==="zh"?"源码仓库当前不可用。插件信息保留自 DSH Plugin 最后一次成功获取的 Registry 快照。":"The source repository is currently unavailable. Plugin information is preserved from the last successful DSH Plugin Registry snapshot.";return e.jsx("div",{className:r?"border-b border-border bg-muted/35":"border-b border-warning/25 bg-warning/10",children:e.jsxs("div",{className:"mx-auto flex max-w-6xl flex-wrap items-baseline gap-x-2 gap-y-1 px-4 py-2.5 text-xs sm:px-6",children:[e.jsx("strong",{className:"font-semibold text-foreground",children:t}),e.jsx("span",{className:"text-muted-foreground",children:o})]})})}function ie(){const{plugin:s,provenance:i}=S.useLoaderData(),{lang:r}=S.useParams(),t=T(r);return e.jsxs(e.Fragment,{children:[i?e.jsx(Q,{availability:i.repositoryAvailability,locale:t}):null,e.jsx(q,{plugin:s,provenance:i,locale:t}),e.jsx(J,{slug:s.slug,locale:t})]})}export{ie as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.