Estrella Pan
|
3258fcca4b
|
docs(4.0-P7): 插件开发文档拆分为总览加每个扩展点一页,补齐中英日三语
- docs/dev/plugins.md 改为总览与导航,旧内容拆入 docs/dev/plugins/
- 新增核心概念、配置表单、事件、前端挂载点、命令行、签名与分发、内置插件、示例页
- 每个扩展点一页,侧边栏由页面表生成
- 改正旧文档中下载器配置、hardlink path_map 与补链按钮的过时描述
|
2026-10-08 14:51:00 +02:00 |
|
Estrella Pan
|
75b42cfe24
|
docs(4.0-P2.5): 记录 P2.5 第二部分的实施调整并标记阶段完成,下载器文档补充多实例说明
- 设计文档第 0 节补充按实例路由、迁移 v26 取值修改、重命名逐实例运行与推迟项,第 10 节 P2.5 标记已完成
- 下载器文档(中 / 英 / 日)新增「多个下载器」,插件开发文档更新 downloader_id 与 instance_id
- 新增 qB 与 aria2 实例并存的进程内测试
|
2026-10-08 12:40:51 +02:00 |
|
Estrella Pan
|
e4a7fc8483
|
docs(4.0-P2.5): 记录 P2.5 第一部分的实施调整,下载器与番剧管理文档改为 plugins.instances / slots
|
2026-10-08 12:07:59 +02:00 |
|
Estrella Pan
|
78f0c0ab20
|
docs(4.0-P4): 番剧管理文档补充 template / hardlink / 媒体库刷新,记录两份 P4 实现的移植
- docs/{,en/,ja/}config/manager.md:template 模板变量与失败行为、hardlink
选项(path_map、cross_device)与 Docker 下硬链接不能跨文件系统的说明、
media-server-refresh 配置
- CHANGELOG.md 增加 P4 条目
- VitePress 不给行内代码加 v-pre,行内 Jinja2 示例在构建时报
_ctx.pad is not a function;改用 ::: v-pre 容器
- 设计文档第 0 节记录另一份 P4(refactor/4.0-p4-organize-cloud)与移植内容,
第 10 节 P4 行补充 media-server-refresh,第 11 节风险 2 标为已决
|
2026-10-08 11:38:12 +02:00 |
|
Estrella Pan
|
82ea8f098f
|
fix(4.0-P4): hardlink 复制中断不再在媒体库留下半个文件
所有放置先写到同目录临时文件再 os.replace 到目标;否则重试时残留文件会被当成非本插件创建的冲突。文档补充 path_map 需在 config.json 填写与首次启用流程。
|
2026-10-08 11:00:23 +02:00 |
|
Estrella Pan
|
9502f373fa
|
docs(4.0-P4): 插件文档补充整理扩展点、整理事件与 rename / hardlink 内置插件,设计文档记录 P4 调整
|
2026-10-08 10:55:09 +02:00 |
|
Claude
|
0b6de31593
|
Merge refactor/4.0-p3-ingest into refactor/4.0-p5-events-api
- 合并 P3 与 P5 共同追加的扩展点列表(ab_sdk/points.py、plugin/host.py POINTS)
- host.py 中两边各自实现的 set_runner / get_runner 去重,保留 P5 的
get_bus / set_bus / publish;AppContext 统一设置 bus 与 runner
- CHANGELOG、设计文档第 0 节、插件开发文档按 P3 → P5 顺序合并
- 修复 MCP /sse 端点在 SSE 结束后重复发送响应头导致的 AssertionError
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EoBUPFw7Ty1epuPESdELs1
|
2026-10-08 06:44:43 +00:00 |
|
Claude
|
93f6d794c5
|
feat(4.0-P5): 系统事件上总线、通知中心 SSE 改为事件推送、插件路由 / MCP / 通知模板
- 系统事件类移入 ab_sdk.events(SystemEvent 基类,新增 i18n()),
NotificationManager.send_event 写入通知中心后发布到插件事件总线
- module.plugin.host 新增 get_bus/set_bus、get_runner/set_runner、publish,
由 AppContext 构造时设置
- SSE notification 帧改为订阅 inbox.changed 即时推送,线格式不变
- 新扩展点 api_router(/api/v1/plugins/<id>/ 分发路由,强制鉴权)、
mcp_tool / mcp_resource(<plugin-id>__<id> 命名)、message_template
- ExtensionPoint.scoped:Provider id 只需在插件内唯一
- ab_sdk 0.3.0;插件开发文档、设计文档、CHANGELOG 更新
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EoBUPFw7Ty1epuPESdELs1
|
2026-10-08 06:34:43 +00:00 |
|
Claude
|
9b7ef00c2e
|
feat(4.0-P3): ingest 流水线扩展点与内置种子过滤插件
- 钩子:torrent.filter(排除过滤之后,fail-open)、title.parsed(准入判定前)、
torrent.adding(save_path / category / tags,ab:<id> 标签强制保留)、
http.request(GET 请求头)
- Provider:metadata_provider,mikan / tmdb 以 core 登记,按 RSSItem.parser 选择,
行为与 3.x 一致;插件元数据源走超时与熔断
- SDK 0.3.0:新增 ab_sdk.ingest(冻结快照 TorrentInfo / BangumiInfo / AddRequest /
HttpRequest / Metadata)
- host.get_runner()/hook_runner():AppContext 构建时设置 runner,无钩子时零开销
- 内置插件 ingest-filters:全局包含过滤,默认启用、留空不生效
- WebUI:添加订阅的解析器下拉框并入插件元数据源
- 文档:插件开发指南新增各扩展点;设计文档 P3 调整
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EoBUPFw7Ty1epuPESdELs1
|
2026-10-08 06:31:23 +00:00 |
|
Claude
|
332fb451c4
|
feat(4.0-P2): 下载器/通知/LLM/搜索/定时任务扩展点与插件管理界面
- ab_sdk 0.2:新增 points、downloader(自 module/downloader/base.py 迁入)、
llm(自 providers/base.py 迁入)、notify、search、tasks 契约与
secret_field();原路径保留重新导出
- module/plugin/host:进程级扩展注册表,内置 qB/aria2/mock 与各通知渠道以
core 身份登记;DownloadClient、NotificationManager、LLM 注册表、搜索站点
均改为按 id 从注册表解析
- 插件定时任务随插件加载/重载/停用同步进调度器,失败计入熔断
- 插件变更后重建通知渠道、清理 LLM 解析器缓存;下载器客户端缓存键包含
Provider 登记项,插件重载后自动换新
- /api/v1/plugins:总览(schema + 掩码配置)、启停、配置(按模型校验)、
allow_unsigned、Provider 列表;/config 读写同样掩码/还原插件秘密字段
- WebUI:设置页「插件」卡片与 JSON Schema 表单;下载器与通知下拉框并入插件
Provider;插件保存后刷新 config store 的 plugins 段,避免全局保存覆盖
- 修复:/search/provider 读取导入时的站点快照,新站点需重启才出现
- 文档:开发者指南 → 插件开发
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EoBUPFw7Ty1epuPESdELs1
|
2026-10-08 05:59:07 +00:00 |
|