从 DeepSeek Harness 上传图片和文件到图床,由 PicGo 驱动
32.1/100
综合分
3
GitHub 星标
522
npm 周下载
—/5
用户评分
数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @picgo/dsh-pluginnpm 源 · @picgo/dsh-plugin 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@picgo/dsh-plugin @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 12:39:54
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
- 发起网络请求lib/index.js:409
const response = await fetch(`${this.endpoint}/heartbeat`, { - 读取本地文件lib/index.js:424
const readable = await Promise.all(absolute.map((path) => stat(path).then((s) => s.isFile()).catch(() => false))); - 发起网络请求lib/index.js:445
response = await fetch(`${this.endpoint}/upload`, { - 读取密钥环境变量lib/index.js:549
const fromEnv = process.env.PICGO_SERVER_SECRET?.trim(); - 读取本地文件lib/index.js:679
raw = await readFile(path, "utf8");
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-skill@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
3 张 · 点击查看大图功能亮点
- 上传本地图片到图床
- 生成图片链接
README
由 DeepSeek 最新模型翻译生成@picgo/dsh-plugin
@picgo/dsh-plugin
从 DeepSeek Harness 上传图片和文件到你的图床,由 PicGo 驱动。
Harness 能给智能体看截图,但没办法把本地文件变成链接。于是智能体写 README、渲染图表、截屏的时候,图片只能留在磁盘上,你一 push, 就成了死链。这个插件补上这一环。
上传走的是你在 PicGo 里已经配好的图床——PicGo Cloud、GitHub、S3、腾讯 COS、七牛,或者你装过的任何第三方上传插件。不用重新配置。没用过 PicGo 也没关系,插件会带你开通 PicGo Cloud 免费版。
如果 PicGo 桌面端正在运行,上传就走它,复用你在它窗口里配好的图床。否则在进程内上传。见上传路径。
安装
dsh plugin --profile web add @picgo/dsh-plugin
然后照常启动:
dsh --profile web
你会得到什么
picgo_upload —— 一个工具,本地文件需要变成链接时,模型会自己调用它。
展开完整文档(README 剩余 1 节)
@picgo/dsh-plugin
@picgo/dsh-plugin
从 DeepSeek Harness 上传图片和文件到你的图床,由 PicGo 驱动。
Harness 能给智能体看截图,但没办法把本地文件变成链接。于是智能体写 README、渲染图表、截屏的时候,图片只能留在磁盘上,你一 push, 就成了死链。这个插件补上这一环。
上传走的是你在 PicGo 里已经配好的图床——PicGo Cloud、GitHub、S3、腾讯 COS、七牛,或者你装过的任何第三方上传插件。不用重新配置。没用过 PicGo 也没关系,插件会带你开通 PicGo Cloud 免费版。
如果 PicGo 桌面端正在运行,上传就走它,复用你在它窗口里配好的图床。否则在进程内上传。见上传路径。
安装
dsh plugin --profile web add @picgo/dsh-plugin
然后照常启动:
dsh --profile web
你会得到什么
picgo_upload —— 一个工具,本地文件需要变成链接时,模型会自己调用它。返回结构化结果,所以在 Code Mode 里可以直接用:
const { uploaded } = await tools.picgo_upload({ paths: ['/tmp/chart.png'] })
console.log(uploaded[0].imgUrl)
/picgo —— 一条命令,上传不消耗模型轮次:
| 命令 | 作用 |
| /picgo | 上传剪贴板里的图片 |
| /picgo <path>... | 上传一个或多个文件 |
| /picgo status | 显示当前图床和登录状态 |
| /picgo login [token] | 登录 PicGo Cloud |
| /picgo logout | 退出登录 |
Harness 里的 /picgo 命令和内置技能
一个内置技能,教模型什么时候该上传——往文档里插截图是主要场景——什么时候不该(你指定了目标位置,或者你要留一份本地副本)。
上传路径
这个插件有两条路能到达你的图床,每次上传时选一条:
1. PicGo 桌面端,前提是它正在运行。它会开一个本地上传服务,走这条路,上传就遵循你在它窗口里配好的图床。
2. 进程内 PicGo,其余情况——picgo 库读取 ~/.picgo/config.json。
这一点很关键,因为两者读的配置文件不一样。桌面端把设置存在系统应用数据目录(macOS 上是 ~/Library/Application Support/picgo/data.json),而库读的是 ~/.picgo/config.json。如果你一直只用图形界面,库这条路看到的是你从没碰过的配置——多半是空的,默认走 PicGo Cloud。优先用桌面端,才能让「直接沿用你现有的配置」这句话成立。
从 0.1.x 升级? 如果桌面应用正在运行,并且两份配置指向不同主机,你的上传现在会落到应用的主机,而不是命令行的主机。把 gui.mode 设为 off 可保留旧行为。
/picgo status 会告诉你当前走哪条路由。关于桌面应用路由,有两点值得了解:
- 应用会把每个 URL 复制到剪贴板并弹出通知 —— 这是应用自身的行为,本插件无法关闭。
- 如果那里的上传因登录错误失败,请从应用自己的窗口登录。/picgo login 写的是 PicGo 命令行配置,桌面应用不读它。
首次运行
如果你从未配置过 PicGo,上传默认走 PicGo Cloud,需要一次性登录。免费额度够日常使用。
/picgo login
它会打开浏览器,完成后回报结果。如果你已经从 PicGo Cloud 控制台拿到 token,/picgo login <token> 立即生效。
模型永远不会替你执行这条命令:没有 token 时,登录会阻塞等待浏览器回调,导致会话卡住。它只会转达指令并等待。
已经在 PicGo 里用 GitHub、S3 或其他主机?以上都不适用 —— 你的现有配置原样使用,不涉及登录。
配置
每个字段都有可用默认值。在你的配置档 cordis.patch.yml 里覆盖:
- id: picgo
name: '@picgo/dsh-plugin'
config:
silent: true
timeoutMs: 120000
| 字段 | 默认值 | 含义 |
| configPath | '' | PicGo 配置文件;留空则用 PicGo 自己的默认路径(~/.picgo/config.json) |
| silent | true | 屏蔽 PicGo 的控制台输出和 picgo.log 写入 |
| timeoutMs | 120000 | 单次上传的等待时长 |
| registerSkill | true | 注册内置的 picgo-upload 技能 |
| registerCommand | true | 注册 /picgo 命令 |
| announceSignIn | true | 启动时,提示未登录 PicGo Cloud 的用户执行 /picgo login |
| gui | 见下文 | 如何连接正在运行的 PicGo 桌面应用 |
gui 控制 上传路由 中描述的桌面应用路由:
| 字段 | 默认值 | 含义 |
| gui.mode | auto | auto 在应用有响应时使用应用;off 从不尝试;only 强制使用应用,而不是上传到其他主机 |
| gui.host | 127.0.0.1 | 应用上传服务的监听地址 |
| gui.port | 36677 | 同上 |
| gui.secret | '' | 认证密钥,前提是你在应用里启用了。留空则回退到 $PICGO_SERVER_SECRET |
| gui.probeTimeoutMs | 1500 | 等待应用响应心跳的时长 |
| gui.probeTtlMs | 5000 | 心跳结果的复用时长,避免多文件上传时每个文件都重新探测 |
| gui.timeoutMs | 0 | 这条路由的上传截止时间;0 表示继承 timeoutMs |
补丁会替换整行 config,不会按 key 合并,所以想保留的字段都要重新写一遍。在 gui 内部,没写的 key 仍会回落到上面的默认值——只覆盖 gui.mode 没问题。
注意事项
上传后的链接是公开的。 任何人拿到 URL 都能打开,删掉的文件也可能留在缓存里。截图和文档配图无所谓;合同 PDF 或内部归档,上传前先想清楚。内置技能会让模型对看起来敏感的内容先跟你确认。
你的 PicGo 配置按只读处理,只有一个例外,且不受本插件控制:PicGo Cloud 拒绝已存的 token 时,PicGo 自己会把它从 ~/.picgo/config.json 里清掉。通过 /picgo login / /picgo logout 登录和登出也会写入 token,这在意料之中。
剪贴板上传需要桌面会话,而且只能通过 /picgo 触发——模型永远拿不到上传剪贴板的途径,因为它不知道剪贴板里有什么。
回落到进程内上传的路径刻意收得很窄。 如果桌面应用在检查和上传之间退出,上传会在进程内重试。但上传被拒、缺少 auth secret、超时,都只报错,不会换个地方重试:应用可能已经收下了文件,悄悄重传会在你没选的图床上多出一份。
通过应用上传卡住时,看看它的设置里是不是开了「上传前重命名」——那会弹对话框等人点,智能体会话里没人会去点。超时提示里也写了这一点。
开发
pnpm install
pnpm build
pnpm test
pnpm test:live 还会针对运行中的 PicGo 应用跑一遍桌面应用路径。它不在 pnpm test 里,因为它会把真实文件上传到你真实的图床。
想不打包、直接对着 dsh 源码检出跑,写一个 cordis.dev.yml(已 gitignore——路径因机器而异):
- insert:
- id: picgo
name: '/absolute/path/to/dsh-plugin/lib/index.js'
然后在 dsh 检出目录里执行:
pnpm dsh web --patch /absolute/path/to/dsh-plugin/cordis.dev.yml
路径必须是绝对路径:补丁只添加配置,不会改变加载器的解析根目录。
发布
@picgo/bump-version 一步搞定升版本、写 changelog、提交、打 tag:
pnpm release # patch: 0.1.0 -> 0.1.1
pnpm release:minor # 0.1.0 -> 0.2.0
pnpm release:major # 0.1.0 -> 1.0.0
pnpm release:beta # 0.1.0 -> 0.1.1-beta.0
pnpm release:dry # print what would happen, change nothing
然后推 tag——发布就是靠它触发的:
pnpm push-release
release 工作流在发布前会跑类型检查、测试和构建;如果 tag 与 package.json 不匹配,就拒绝发布。预发布 tag 会各自选择 dist-tag(-beta.x → beta,-alpha.x → alpha,其他预发布 → next),所以 npm install @picgo/dsh-plugin 永远不会解析到预发布版本。
npm 认证
包还不存在时,npm 无法为它配置 trusted publisher,所以首次发布和之后的每次发布走不同的认证方式。
首次发布 —— 需要仓库密钥 NPM_TOKEN(一个 granular token,对 @picgo scope 有发布权限):
gh secret set NPM_TOKEN --repo PicGo/dsh-plugin
首次发布落地之后,改用 trusted publishing,这样就不涉及长期有效的 token。在 npmjs.com 上打开该包 → Settings → Trusted Publisher,然后登记:
| 字段 | 值 |
| Publisher | GitHub Actions |
| Organization or user | PicGo |
| Repository | dsh-plugin |
| Workflow filename | release.yml(只填文件名,不是路径) |
| Environment name | 留空 |
| Allowed actions | npm publish |
工作流已经设置了 id-token: write,所以这边不用改任何东西 —— npm 会自动优先选 OIDC,而不是 token。一旦某次 trusted-publish 发布成功,就删掉 NPM_TOKEN 密钥并吊销该 token,然后把 Settings → Publishing access 设为 "Require two-factor authentication and disallow tokens"。
Trusted publishing 需要 npm ≥ 11.5.1,所以 release 工作流跑在 Node 24 上(自带 npm 11.x)。Node 22 自带 npm 10.x,会报一个误导性的 404。这个选择只影响执行发布的那台机器 —— 包本身仍然支持 Node ^22.19.0 || >=24.0.0,CI 也在 22 上测试。
兼容性
需要 DeepSeek Harness 0.2.1-rc.2 或更高版本(已在 0.2.1-rc.2 和 0.2.1-rc.3 上测试)以及 PicGo Core 3.0.1。需要 Node ^22.19.0 || >=24.0.0。更旧的 Harness 版本会把这个版本判为不兼容;那些版本请继续用 @picgo/dsh-plugin@0.2.0。
桌面应用这条路需要 PicGo 应用足够新,能暴露本地上传服务器。如果你的版本更旧,gui.mode: auto 就是永远找不到它,一切照旧在进程内运行。
Harness 是开发者预览版,API 经常变。如果某个版本弄坏了这个插件,请开 issue。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
PicGo/dsh-plugin
从 DeepSeek Harness 上传图片和文件到图床,由 PicGo 驱动
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目