3.4.3
最新- 修复友链邀请在审核通知与后台同步同时写入时发生的版本冲突。
- 修复迟到通知可能覆盖较新邀请状态的问题,保护已审核、已确认状态。
- 分离服务端快照时间与本地失败处理,避免本机时间影响数据新旧判断。
- 修复邀请确认记录保存失败仍被报告为成功的问题。
- 优化邀请存储,按邀请 ID 精确查询,减少全量扫描和重复写入。
资源下载
- plugin-astrahub-3.4.3.jar

将 Halo 站点接入AstraHub 星链网络,把站点加入面向独立博客生态的协作图谱,与全网博主形成可联动、可检索、可探索、可交换的关系网络。
或者也可以直接在网站后台的应用市场中搜索Astra 星链并安装。
主要更新。
本次更新重点优化了插件后台的数据加载机制,减少重复请求、服务器流量和数据库压力,并提升页面切换速度。
site_profile_updated 事件处理。以下操作属于主动查询或必要的数据同步,仍会正常访问服务端:
AstraHub 3.0 是从单节点接入迈向多节点协同的一次重大跨越。
这一版本不只是界面和版本号的更新,而是对节点架构、图谱同步、实时通信、故障切换、运行状态存储以及插件交互体验的一次整体升级。
Astra 节点能力由以下成员共同提供强力驱动:
| 节点伙伴 | 节点地址 | 伙伴主页 |
|---|---|---|
| Serenity’s Blog | https://astra.aobp.cn |
https://www.aobp.cn |
| 冷月笙寒的小窝 | https://astra.lygalaxy.cn |
https://lygalaxy.cn |
| Fry酥条 | https://astra.fryfries13.cn |
https://space.bilibili.com/1808002444 |
| Beibing | https://astra.zzrbk.xyz |
https://www.zzrbk.xyz |
| Rinty雨屋 | https://astra.rinty.xyz |
https://www.rinty.xyz |
感谢每一位伙伴为 AstraHub 的贡献。
插件启动后会自动检测各节点状态和连接延迟,并根据实际可用情况选择服务节点。
主要能力包括:
[!CAUTION]
本次更新为强制更新,请所有已接入 AstraHub 的站点管理员尽快完成升级。由于 AstraHub 服务端迁移及数据恢复需要,旧版本插件可能出现站点识别失败、自动上报失败、星链信息推送失败或显示“站点未注册”等问题。
本次更新加入了临时站点身份恢复能力。插件升级后,会使用站点本地保留的接入配置,与新的 AstraHub 服务端重新确认并恢复原有站点身份。
恢复内容包括:
由于恢复过程依赖限时开放的服务端恢复窗口,未及时升级的站点可能无法自动恢复原有接入状态。
siteId 或历史 URL 后立即更新卡片,并在后台重新读取 Hub 权威快照。following / mutual 时,才允许显示“删除友链 / 解除关系”按钮。AstraHub 星图库采用 REST API + WebSocket 的方式对外提供数据。
主题页面建议先请求状态接口,用于判断 AstraHub 插件是否已启用、星图库数据是否可用。
const statusRes = await fetch('/apis/anonymous.astrahub.halo.run/v1alpha1/star-gallery/-/status', {
method: 'GET',
credentials: 'same-origin',
headers: {
Accept: 'application/json',
},
});
if (!statusRes.ok) {
// 插件未安装、未启用,或接口不可用
}
const status = await statusRes.json();
if (!status.available) {
// 插件已启用,但星图库数据尚不可用
}
返回示例:
{
"available": true,
"generatedAt": "2026-06-28T00:00:00Z",
"relationCount": 64
}
状态可用后,请求完整快照接口。
const snapshotRes = await fetch('/apis/anonymous.astrahub.halo.run/v1alpha1/star-gallery/-/snapshot', {
method: 'GET',
credentials: 'same-origin',
headers: {
Accept: 'application/json',
},
});
const snapshot = await snapshotRes.json();
快照主要字段:
snapshot.profile // 本站 / 本星系信息snapshot.sectors // 星系联盟卡片snapshot.posts // 星际资讯每个星系卡片会提供 planetsUrl,主题可以直接请求该地址获取星系成员。
const planetsRes = await fetch(`${sector.planetsUrl}?page=1&pageSize=24`, {
method: 'GET',
credentials: 'same-origin',
headers: {
Accept: 'application/json',
},
});
const planets = await planetsRes.json();
返回示例:
{
"items": [],
"page": 1,
"pageSize": 24,
"total": 98,
"hasMore": true
}
主题可选接入 WebSocket。当 AstraHub 同步到新数据时,前台可以自动刷新星图库。
const protocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
const ws = new WebSocket(
`${protocol}//${location.host}/apis/anonymous.astrahub.halo.run/v1alpha1/astrahub/ws/star-gallery`
);
ws.addEventListener('message', (event) => {
const snapshot = JSON.parse(event.data);
// 使用新的 snapshot 重新渲染页面
});
posts 中推荐按以下字段处理:
post.url // 文章类资讯的原文地址post.siteUrl // 星球 / 站点地址post.type // 资讯类型推荐逻辑:
const isArticle = ['rss', 'article', 'post'].includes(
String(post.type || '').toLowerCase()
);
if (isArticle && post.url) {
// 显示:打开原文
// 跳转:post.url
}
if (!isArticle && post.siteUrl) {
// 显示:定位星球
// 跳转:post.siteUrl
}
如果状态接口请求失败,主题可提示:
需要安装或启动 AstraHub 星链插件
请在 Halo 后台启用 AstraHub 星链插件,并同步星图库数据。
本次更新聚焦友链相关页面的响应速度与交互流畅度。
本次为「站点身份统一」版本,核心目标是让整个友链网络的信息全局自动同步、保持统一。建议所有站点更新。
当任意站点更新自己的资料(域名、站名、头像、简介等)后,所有把该站作为友链的其他站点会自动同步到最新信息,无需任何一方手动改链接、重新提交。
a.top 换成 a.com,所有友链过 A 的站点,其友链卡片会自动更新为 a.com,全网呈现统一的最新信息。推送友链数据时携带对方站点的唯一编号(site_id)作为关系锚点,关系归属判定从「域名匹配」改为「站点编号匹配」。
在后台修改本站域名后,星球探索页的卡片域名、「本站」置顶标识、互相关注状态等将正确刷新,不再停留在旧域名。
新增友链和文章合规性自动检测功能,一经核实自动发送邮件通知对应星系/站长自己友链和友链文章合规性。
修复因友链物化数据重建时触发唯一约束冲突、导致整批更新事务回滚、数据永久停留在旧快照的问题。更换域名后卡片域名现可正常更新。
与第 4 项同源问题导致的连锁误判,一并修复。
互相关注关系现锚定站点编号,更换域名不再触发关系降级。
注:需关系双方均更新至本版本,锚点方可生效。
针对「已关注但对方尚未接入插件」的友链占位站点,按钮文案此前被误判为「凭据缺失」。现已修正为语义准确的「尚未注册」,且不影响对方后续正常注册接入。
+N 折叠groupName 空字符串改为 null)VLoading 导入(by @liuyiwuqing)本次聚焦稳定性、隐私安全与友链管理体验,建议所有用户升级。
修复「配置已保存,但同步失败:push already in progress」
推送任务的并发标志在异常路径下会永久泄漏,导致此后所有同步被拒(429),
只能重启插件才能恢复。现改为自校正的任务句柄,跑完/取消/异常都能正确释放,
保存配置后的同步不再卡死。
修复友链卡片排序错乱
「我已关注、但对方尚未接入星链」的友链,现正确降级排到
「已发邀请 / 可发起邀请」之后,不再夹在互关与已发邀请中间。
关系档位顺序:本站 → 互相关注 → 我已关注(已接入) → 对方关注我 →
已发邀请 → 可发起邀请 → 我已关注(未接入) → 普通。
修复友链邀请可被重复发起
同一对站点之间存在待处理邀请时,正向与反向都不再允许重复发起,
避免产生双向重复邀请;关系已解除(历史记录)则允许重新发起。
修复友链关系匹配口径
统一用规范化比较键匹配,解决同一站点因 URL 写法不同被误判为「未接入」的问题。
友链邀请接口
邀请列表 / 详情接口的站点信息中移除了 contactEmail 字段,
对方邮箱仅在服务端用于发送通知邮件,不再下发到前端或开放接口,
保护站长隐私。
友链管理首屏新增人物立绘,提升页面观感(内联资源,零额外请求)。
更换插件图标为全新星链 Logo。
待审核红点角标:友链管理导航与「待审核」标签出现未处理邀请时显示红色数字提醒。
审核 / 投递状态图标化:投递成功 / 失败以 ✓ / ✗ 图标直观呈现。
关系状态改为服务端权威输出:关系标签与排序由服务端统一计算,
前端与第三方生态只做「枚举 → 文案」映射,不再各自推断,保证口径一致。
升级提示:本次为常规升级,无需数据迁移。在「插件管理」中替换新版本 JAR 并重启即可。
友链星球:优化卡片排序
友链星球:「已发邀请」直接进入关系优先组
友链星球:优化发起邀请后仅当前行就地变档/消失
友链星球:修复接入星系关联站点(本站)卡片不可见问题
关系图:补全孤岛节点显示,工具栏新增搜索 / 重置按钮,每次进入自动重置
RSS:修复探索页星球列表重复及 RSS 串台问题
或者也可以直接在网站后台的应用市场中搜索Astra 星链并安装。