惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园_首页
WordPress大学
WordPress大学
博客园 - 聂微东
P
Privacy International News Feed
Forbes - Security
Forbes - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
NISL@THU
NISL@THU
美团技术团队
T
Tailwind CSS Blog
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Hacker News
The Hacker News
B
Blog
P
Palo Alto Networks Blog
L
Lohrmann on Cybersecurity
有赞技术团队
有赞技术团队
The Register - Security
The Register - Security
S
Securelist
A
Arctic Wolf
MyScale Blog
MyScale Blog
H
Help Net Security
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Security Latest
Security Latest
T
Tor Project blog
V
Vulnerabilities – Threatpost
V
V2EX
AI
AI
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
Simon Willison's Weblog
Simon Willison's Weblog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Troy Hunt's Blog
Schneier on Security
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Heimdal Security Blog
Google Online Security Blog
Google Online Security Blog
Know Your Adversary
Know Your Adversary

Halo - 强大易用的开源建站工具 | 应用市场

ShaneYu EverUs Ethereal 主题漫游 软件分发管理 Moonlit Playground 山月记 Shortcode AI智能套件 文档 Cosolar 演示站防护 业余无线电 GardMap 通联网格地图 元数据字段管家 评论组件 Next 统一身份认证 Morpho Moesora 全能右键 保险箱插件 Earthquake Aurora InkNest Quiet 项目集 AI回评 AI Foundation Kaze 域名主题路由 代码增强(高亮+折叠+长图折叠) 氢·简 文章组件 Floating Particles Huohuo Weather Glass Vahlok AstraHub 星链 全局私密 业余无线电 QSL卡片管理系统 Bark 推送 微信读书(WeRead)信息展示 自定义社交分享卡片 Halorum 文章加密 KMath 轻言 Navidrome 播放器 家庭私厨 页面转换器 Sky Blog 3(macOS) 在线显示 邀请码注册 安全跳转助手 日程日历 Cartly 商城主题
初春图床
2026-07-09 · via Halo - 强大易用的开源建站工具 | 应用市场

初春图床 Halo 插件

初春图床(oneimg)集成到 Halo 2.x,支持附件上传与一键同步。

本插件使用 DeepSeek v4 Pro 辅助开发。

关于初春图床

初春图床 是一个基于 Go + Vue 3 的现代化图床管理系统,支持本地/S3/WebDAV/FTP 等多种存储后端,上传图片自动转 WebP,提供 POW 安全验证、剪贴板粘贴上传、数据仪表板等功能,可通过 Docker Compose 一键部署。

功能

  • 附件上传 — Halo 中上传的图片自动存储到初春图床
  • 附件删除 — Halo 中删除附件不联动图床,仅删除 Halo 侧记录
  • 一键同步 — 将初春图床中已有图片批量导入 Halo 附件库,实时显示日志,自动跳过已存在图片

2026-07-08_17-51-24

TODO

  • 一键同步清理 — 同步时增加反向清理:对 Halo 中属于初春图床策略的附件,若对应图片在图床中已不存在,则自动删除 Halo 侧的附件记录。当前同步逻辑仅处理「图床有 → 写入 Halo」,不清理已失效的附件。

前置条件

  • 已部署初春图床服务
  • 在初春图床后台「系统设置 → API Token」生成并启用 Token
  • Halo >= 2.25.0

安装

应用市场安装

待发布后从 Halo 应用市场安装。

手动安装

  1. Releases 下载最新 JAR
  2. Halo 后台「插件管理 → 上传插件」安装

配置

1. 存储策略

Halo 后台「附件 → 存储策略 → 新增」选择「初春图床」:

配置项 说明 必填
API 地址 初春图床部署地址,务必使用 HTTPS
API Token 后台生成的 Token
存储桶 ID 目标存储桶,默认 1
标签 ID 上传时自动添加的标签(可选) -

2. 同步已有图片

插件设置「同步」标签页中点击「开始同步」,将初春图床中所有图片批量导入 Halo 附件库。已存在的图片自动跳过,日志实时滚动显示。

开发

环境

  • JDK 21
  • Gradle 8.x
  • pnpm

构建

# 前端(如修改了 ui/ 目录)
cd ui && pnpm install && pnpm build
cp dist/main.js dist/style.css ../src/main/resources/console/

# 后端
./gradlew build

# 产物位于 build/libs/plugin-oneimg-X.X.X.jar

目录结构

├── ui/                          # Vue 3 前端(同步标签页)
│   ├── src/
│   │   ├── index.ts             # 插件入口,注册扩展点
│   │   └── SyncView.vue         # 同步 UI 组件
│   └── vite.config.ts           # IIFE 构建配置
├── src/main/java/io/github/alonenannan/oneimg/
│   ├── OneImgPlugin.java        # 插件生命周期
│   ├── OneImgAttachmentHandler.java  # 上传/删除附件
│   └── OneImgSyncEndpoint.java  # 同步 REST API
└── src/main/resources/
    ├── plugin.yaml              # 插件元数据
    ├── console/                 # 前端构建产物
    └── extensions/
        ├── policy-template.yaml # 存储策略表单
        └── settings.yaml        # 插件设置

技术架构

  • 基于 Halo Plugin Framework,实现 AttachmentHandler 扩展点
  • 上传使用 Spring WebClient 调用初春图床 API(响应式非阻塞)
  • 同步使用 java.net.http.HttpClient,异步执行 + 前端轮询实时日志
  • 前端 Vue 3 + Vite,通过 plugin:self:tabs:create 扩展点注册标签页

许可证

GPL-3.0