流明市场:DSH 插件发现、介绍与文档、GitHub 仓库查验,以及官方管线安装和更新。
31.5/100
综合分
2
GitHub 星标
290
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-lumen-marketnpm 源 · dsh-lumen-market 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-lumen-market @ 0.5.1
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 00:34:56
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 44 处,展示前 42 条)
- 读取密钥环境变量lib/index.js:21
const token=process.env.DSH_LUMEN_MARKET_GITHUB_TOKEN?.trim()||null - 发起网络请求lib/client.js:44
const response=await window.fetch(API+path,{method:body?'POST':'GET',headers:{'x-dsh-lumen-market':'1','content-type':'application/json'},body:body?JS - 读取本地文件lib/host/profile.js:8
function read(path){try{return JSON.parse(readFileSync(path,'utf8'))}catch{return null}} - 读取本地文件lib/host/snapshots.js:15
if(statSync(path).size<=MAX_BYTES){ - 读取本地文件lib/host/snapshots.js:16
const data=JSON.parse(readFileSync(path,'utf8')) - 写入本地文件lib/host/snapshots.js:41
mkdirSync(folder,{recursive:true}) - 写入本地文件lib/host/snapshots.js:42
writeFileSync(path+'.tmp',data,{mode:0o600});renameSync(path+'.tmp',path) - 写入本地文件lib/host/snapshots.js:42
writeFileSync(path+'.tmp',data,{mode:0o600});renameSync(path+'.tmp',path) - 读取本地文件lib/host/reinstall.js:12
async function optional(file){try{return await readFile(file)}catch(error){if(error.code==='ENOENT')return null;throw error}} - 读取本地文件lib/host/reinstall.js:13
async function manifest(dir){return JSON.parse(await readFile(join(dir,'package.json'),'utf8'))} - 读取本地文件lib/host/reinstall.js:28
const data=JSON.parse(await readFile(join(dir,'.lumen-market','reinstall',parts[0],'journal.json'),'utf8')) - 发起网络请求lib/host/reinstall.js:56
response=await this.fetch(url.href,{redirect:'manual',signal}) - 写入本地文件lib/host/reinstall.js:72
await writeFile(file,bytes,{flag:'wx',mode:0o600}) - 写入本地文件lib/host/reinstall.js:78
await mkdir(stateDir,{recursive:true}) - 写入本地文件lib/host/reinstall.js:86
await writeFile(join(backupDir,'journal.json.tmp'),JSON.stringify(journal,null,2)+'\n',{mode:0o600}) - 写入本地文件lib/host/reinstall.js:87
await rename(join(backupDir,'journal.json.tmp'),join(backupDir,'journal.json')) - 读取本地文件lib/host/reinstall.js:98
const installed=JSON.parse(await readFile(join(dir,'node_modules',existing.name,'package.json'),'utf8')) - 读取本地文件lib/host/reinstall.js:109
try{version=JSON.parse(await readFile(join(dir,'node_modules',existing.name,'package.json'),'utf8')).version}catch{} - 写入本地文件lib/host/reinstall.js:123
await mkdir(join(backupDir,'files'),{recursive:true});await record('preparing') - 读取本地文件lib/host/reinstall.js:131
const installedBefore=JSON.parse(await readFile(join(dir,'node_modules',existing.name,'package.json'),'utf8')) - 写入本地文件lib/host/reinstall.js:133
for(const file of FILES)if(saved[file])await writeFile(join(backupDir,'files',file),saved[file],{mode:0o600}) - 删除本地文件lib/host/reinstall.js:170
if(terminal)await unlink(active) - 读取本地文件lib/host/backups.js:11
try{const info=await stat(file);if(!info.isFile()||info.size>max)throw new MarketError('backup-too-large',413);return await readFile(file)} - 读取本地文件lib/host/backups.js:11
try{const info=await stat(file);if(!info.isFile()||info.size>max)throw new MarketError('backup-too-large',413);return await readFile(file)} - 写入本地文件lib/host/backups.js:61
await mkdir(join(directory,'files'),{recursive:true,mode:0o700}) - 写入本地文件lib/host/backups.js:62
for(const name of FILES)if(saved[name]!==null)await writeFile(join(directory,'files',name),saved[name],{mode:0o600,flag:'wx'}) - 写入本地文件lib/host/backups.js:64
await writeFile(join(directory,'index.json.tmp'),JSON.stringify(meta,null,2)+'\n',{mode:0o600,flag:'wx'}) - 写入本地文件lib/host/backups.js:65
await rename(join(directory,'index.json.tmp'),join(directory,'index.json')) - 读取本地文件lib/host/backups.js:81
try{entries=await readdir(root(dir),{withFileTypes:true})}catch(error){if(error.code==='ENOENT')return [];throw error} - 读取本地文件lib/host/catalog.js:19
const file=join(dir,'.lumen-market','archives',parts[0]),entry=JSON.parse(await readFile(file+'.json','utf8')) - 读取本地文件lib/host/catalog.js:21
if((await stat(file)).size>MAX||hash(await readFile(file))!==entry.integrity)return null - 读取本地文件lib/host/catalog.js:21
if((await stat(file)).size>MAX||hash(await readFile(file))!==entry.integrity)return null - 读取本地文件lib/host/catalog.js:95
try{if((await stat(file)).size>JSON_MAX)throw new MarketError('invalid-source');return validate(JSON.parse(await readFile(file,'utf8')))}catch(e){if(e - 读取本地文件lib/host/catalog.js:95
try{if((await stat(file)).size>JSON_MAX)throw new MarketError('invalid-source');return validate(JSON.parse(await readFile(file,'utf8')))}catch(e){if(e - 写入本地文件lib/host/catalog.js:105
const folder=join(dir,'.lumen-market'),file=join(folder,'sources.json');await mkdir(folder,{recursive:true}) - 写入本地文件lib/host/catalog.js:107
await writeFile(file+'.tmp',text,{mode:0o600});await rename(file+'.tmp',file);return merged - 写入本地文件lib/host/catalog.js:107
await writeFile(file+'.tmp',text,{mode:0o600});await rename(file+'.tmp',file);return merged - 发起网络请求lib/host/catalog.js:112
const response=await this.fetch(sourceURL(url),{redirect:'error',signal:AbortSignal.timeout(max===JSON_MAX?15000:120000)}) - 写入本地文件lib/host/catalog.js:138
await mkdir(folder,{recursive:true});const temp=file+'.'+randomUUID()+'.tmp';await writeFile(temp,bytes,{mode:0o600});await rename(temp,file);return f - 写入本地文件lib/host/catalog.js:138
await mkdir(folder,{recursive:true});const temp=file+'.'+randomUUID()+'.tmp';await writeFile(temp,bytes,{mode:0o600});await rename(temp,file);return f - 写入本地文件lib/host/catalog.js:138
await mkdir(folder,{recursive:true});const temp=file+'.'+randomUUID()+'.tmp';await writeFile(temp,bytes,{mode:0o600});await rename(temp,file);return f - 读取本地文件lib/host/catalog.js:150
if(item.integrity){file=join(dir,'.lumen-market','archives',Buffer.from(item.integrity.slice(7),'base64').toString('hex')+'.tgz');try{if((await stat(f
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 插件搜索与查验
- 插件介绍与文档
- 一键安装更新
README
由 DeepSeek 最新模型翻译生成流明市场 · Lumen Market
为 DeepSeek Harness 提供 npm 与 GitHub 插件发现、兼容性查验和安装管理。
npm · 问题反馈
当前版本:0.6.0。
本版包含配置备份、兼容性确认、可恢复的一键升级和全新图标,详见更新记录。
功能
- 搜索 npm 与 GitHub 插件,查看介绍、源码和文档。
- 发现页只展示未安装插件,每页 21 项,支持来源筛选和 GitHub 排序。
- 不输入关键词时,选择「GitHub 星标最多」即可查看 dsh-plugin 范围内总 Star 最多的插件。
- 支持「GitHub 一周 Star 增长最多」:对匹配范围内总 Star 排名前列的最多 50 个候选统计周增量,再按新增 Star 排序。卡片显示「近7天 +N」;按 GitHub 提供的完整日数据统计,截止昨日,不是精确滚动 168 小时,也不是全 GitHub 周增榜。
- 安装前查验兼容性,通过 DSH 官方管理器安装、更新和卸载。
- 兼容性区分「版本声明匹配」「冲突」和「未声明」。按宿主规则优先检查 engines.dsh,无该字段时检查 DSH peer;另检查 Node.js 和作者的明确兼容范围。未声明的插件需阅读提示后确认,不会自动显示为已兼容。
展开完整文档(README 剩余 1 节)
流明市场 · Lumen Market 为 DeepSeek Harness 提供 npm 与 GitHub 插件发现、兼容性查验和安装管理。 npm · 问题反馈 当前版本:0.6.0。 本版包含配置备份、兼容性确认、可恢复的一键升级和全新图标,详见更新记录。 功能 - 搜索 npm 与 GitHub 插件,查看介绍、源码和文档。 - 发现页只展示未安装插件,每页 21 项,支持来源筛选和 GitHub 排序。 - 不输入关键词时,选择「GitHub 星标最多」即可查看 dsh-plugin 范围内总 Star 最多的插件。 - 支持「GitHub 一周 Star 增长最多」:对匹配范围内总 Star 排名前列的最多 50 个候选统计周增量,再按新增 Star 排序。卡片显示「近7天 +N」;按 GitHub 提供的完整日数据统计,截止昨日,不是精确滚动 168 小时,也不是全 GitHub 周增榜。 - 安装前查验兼容性,通过 DSH 官方管理器安装、更新和卸载。 - 兼容性区分「版本声明匹配」「冲突」和「未声明」。按宿主规则优先检查 engines.dsh,无该字段时检查 DSH peer;另检查 Node.js 和作者的明确兼容范围。未声明的插件需阅读提示后确认,不会自动显示为已兼容。 - 在发现卡片或详情中点击「一键安装」,自动查验目标,通过后直接安装;也可使用「安装预览」先查看目标。尚未查验的 GitHub 候选支持直接发起查验,查验失败会显示原因并停止安装。 - 查看已安装插件与可用更新,显示操作进度和重启提醒;可升级插件显示小灯提示。 - 已安装页支持按名称、简介即时搜索,忽略大小写,支持清空;本地筛选不需要联网。 - “有新版”与“当前可升级”分别显示。支持保留配置和加载顺序的目标提供「一键升级」:确认后校验安装与恢复包、备份配置,再由官方管理器卸载旧版并安装固定新版。不能安全重装的目标保留升级方法。 - 可输入确切版本并查验,查验不会安装或卸载;重装必须单独点击「确认卸载并升级」,目标版本与已校验安装包固定,不随 latest 变化。 - 切换标签或离开流明市场后会清空搜索词,并将来源、排序、页码和「仅可安装」恢复默认,再进入时显示未搜索的列表。 - 本地保存发现结果,查询失败或限流时继续显示缓存。 - 「配置备份」可保存本机 Profile 的组合配置,导出不含配置正文和凭据的插件清单。恢复预览展示版本、来源、固定 commit、启用状态、加载顺序及配置文件差异,保留本机新增插件,不自动覆盖当前环境。 - 保存成功查验过的安装目标。遇到网络故障、超时或限流时,可从缓存发起安装,界面显示「使用缓存安装」和缓存时间;npm 固定确切版本,GitHub 固定 commit。缓存按 DSH 配置隔离,重启后仍可使用。 安装 在 DSH 的「插件 → 添加插件」中输入: dsh-lumen-market@0.6.0 按官方管理器提示完成安装。需要支持官方插件管理器的 DeepSeek Harness;Node.js ^22.19.0 || >=24.0.0。 安装后从侧栏打开「流明市场」,在发现页搜索插件,点击「一键安装」或先查看「安装预览」;在已安装页搜索、管理插件,在可更新页检查版本。按宿主提示正常退出并重启 DSH,使插件生效。 如果默认 npm 镜像尚未同步目标版本,可在官方插件管理器中使用 npm 官方源安装包链接: https://registry.npmjs.org/dsh-lumen-market/-/dsh-lumen-market-0.6.0.tgz 使用须知 - 配置备份从页面底部进入。原始配置可能含私有设置,只保存在当前 Profile 的 .lumen-market/backups/;导出的 JSON 仅含插件清单及状态,不包含原始 YAML、API Key 或本机路径。恢复入口目前是只读差异预览。 - 卸载重装前会再次检查旧版是否仍能在当前宿主恢复;明确冲突或无法取得有效恢复包时,在卸载前停止。 - npm 来源以及本市场有完整校验来源记录的固定安装包支持检查更新;普通本地链接和 Git 来源暂不支持按包名升级。重装后的安装包与来源记录保存在当前 Profile 的 .lumen-market/reinstall/,仍在使用时请保留此目录。 - 当前 DSH 宿主可能禁止在配置运行时覆盖已有依赖。市场优先使用支持的直接升级;否则仅对官方允许卸载、能保持当前加载顺序的 npm 插件提供确认后的卸载重装。市场自身、官方组件、普通本地/Git 来源或无法保留顺序的目标保留手动升级方法;不会直接删除插件目录。 - 用户可确认安装刚发布的确切版本,依赖仍遵守官方包管理器策略。重装前必须取得并校验旧版恢复包;新版失败时用本地恢复包恢复旧版,恢复失败则保留记录并停止。普通升级失败不会静默转换为卸载重装。 - Star 数目前仅显示在 GitHub 来源的结果中。 - GitHub 查询可能受到限流;已有缓存时会继续展示,并标注缓存时间。 - 周增榜按同一批候选分页,统计结果缓存 15 分钟;「重新检查」可主动刷新。界面显示成功统计数量与时间,未知增量排在末尾;全部统计失败时保留同查询的已有缓存。 - 缓存安装仅适用于已经成功查验并保存过的目标;仅有名称、简介的搜索记录不足以安装。仍会检查本机兼容性、来源冲突和已安装状态,明确的无效清单、目标不存在或官方拒绝不会用旧缓存绕过。下载插件及依赖仍需网络;不提供离线升级。 - 截图中的背景和配色来自 DSH 宿主主题,不是插件自带皮肤。 更新记录 · 配置备份说明 兼容性与权限 Node.js 支持范围为 ^22.19.0 || >=24.0.0;DSH 的明确版本声明和逐版本验收状态见 package.json 的 dsh.compatibility。本插件需要读取 Profile、写入本地缓存和访问 npm/GitHub,可选使用专用 GitHub Token,并通过官方管理器执行插件变更。建议商城采用 user-reviewed 策略;权限声明不代表自动审核通过。 详细说明:依赖、外部服务与失败边界 · 隔离配置档验收结果。 界面预览 发现插件 搜索 npm 与 GitHub 插件 已安装插件与升级提示灯 已安装插件及升级预览旁的小灯 查看可用更新 可更新插件列表 GitHub 星标排序 按 GitHub 星标排列搜索结果 截图由实际使用界面提供,版本和查询状态以拍摄时为准。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Femad-6/dsh-lumen-market
流明市场:DSH 插件发现、介绍与文档、GitHub 仓库查验,以及官方管线安装和更新。
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7