🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

流明市场 Femad-6/dsh-lumen-market

DeepSeek Harnessv0.5.1
Femad-66 天前有提交已提供中文文档扫描:含敏感能力

流明市场:DSH 插件发现、介绍与文档、GitHub 仓库查验,以及官方管线安装和更新。

31.5/100
综合分
2
GitHub 星标
290
npm 周下载
—/5
用户评分

数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-lumen-market
npm 源 · dsh-lumen-market 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 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
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 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
预览分享卡片长什么样 ↓Femad-6/dsh-lumen-market
分享 · DeepSeek Harness Hub
Femad-6/dsh-lumen-market

流明市场:DSH 插件发现、介绍与文档、GitHub 仓库查验,以及官方管线安装和更新。

回到顶部