jxxghp
16cd9f75ed
fix(apppush): deliver business notifications to all active users ( #7235 )
2026-10-29 21:43:18 +08:00
DDSRem
2de976f6b3
Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
...
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
jxxghp
405f829724
fix(modules): type service configurations and handle uninitialized defaults
2026-10-17 04:58:58 +08:00
freeman
f3ad81b39e
style: apply safe ruff auto-fixes and exempt startup late imports
...
Run `ruff check app tests scripts --fix` with the configured rule set
(E4/E7/E9/F/I): import sorting (I001), f-strings without placeholders
(F541), lambda/variable/unused-import cleanups that ruff marks safe.
Nine files whose only ruff debt sits next to pre-existing pylint
import-resolution errors (lazy exports, sys.path script imports) or
whose "unused" imports are reached through attribute access by tests are
left untouched so the changed-file pylint gate and the benchmark tests
stay green; their diagnostics remain in the baseline.
app/startup/lifecycle/__init__.py and app/main.py import business
modules after cache composition, import-path and stdio setup on purpose
(the source comments document the contract), so declare E402
per-file-ignores for them instead of adding per-line noqa.
Ruff ratchet watermark drops from 498 to 100; sync the baseline fixture
and the optimization checklist figure.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-10-09 13:29:09 +08:00
jxxghp
118e2ef933
fix(notification): align scoped recipient routing
2026-10-03 01:00:21 +08:00
jxxghp
61e9ef7d8e
fix(transfer): organize remote downloads on the SMB server
2026-09-30 10:36:56 +08:00
jxxghp
2e578a69ee
fix(notification): prevent untyped message broadcasts
2026-09-20 11:32:40 +08:00
thsrite
4a66d43366
fix(types): 补齐模块基类注解,消除新模块的类型门禁失败
...
Architecture Contract Gate 的 mypy ratchet 报出新模块两条错误,根因都在基类:
- ConfigReloadMixin.__init_subclass__ 缺注解,导致所有继承它的模块在类型化
上下文中被判 no-untyped-call
- _ModuleBase.init_setting 的返回注解为 Tuple[...],与其文档说明的
「不实现该方法或返回 None 代表不使用开关」矛盾,子类如实声明 Optional
就会被判 override 不兼容
两处均为纯注解修正,无行为变化。全量 mypy 错误由 9,496 降至 9,441(净减 55,
未新增任何错误),出错文件 514 → 513;同步固化 mypy 低水位与架构清单中的计数。
2026-09-07 14:33:01 +08:00
InfinityPacer
a66cdb04e0
fix(notification): stabilize channel identity
2026-08-31 07:20:42 +08:00
jxxghp
0c05956814
refactor(architecture): enforce module naming policy
2026-08-29 22:17:17 +08:00
jxxghp
415335b215
refactor: unify message channel shutdown convergence
2026-08-24 14:08:06 +08:00
Aqr-K
4a5958c3c2
fix(modules): 默认服务配置改为尊重显式标记,不再按读取顺序取第一个 ( #6431 )
2026-08-24 08:03:28 +08:00
jxxghp
5128ae9e1e
refactor: 推进后端分层架构治理
2026-08-18 00:29:14 +08:00
jxxghp
54f093a099
Merge remote-tracking branch 'origin/v3' into v3
...
# Conflicts:
# app/api/endpoints/agent.py
# app/api/endpoints/anthropic.py
# app/api/endpoints/openai.py
# app/chain/__init__.py
# app/chain/message.py
# app/chain/site.py
# app/chain/subscribe.py
# app/chain/transfer.py
# app/modules/discord/__init__.py
# app/modules/qqbot/__init__.py
# app/modules/slack/__init__.py
# app/modules/telegram/__init__.py
# app/modules/wechat/__init__.py
# app/runtime/extensions/module_manager.py
# app/runtime/extensions/service_registry.py
# tests/test_agent_interaction.py
# tests/test_slash_command_interactions.py
# tests/test_web_agent_stream.py
2026-08-16 19:44:43 +08:00
jxxghp
240a4dffe6
refactor(schemas): 统一 message/notification 命名边界,旧名收敛至兼容映射表
...
- notification 域:渠道能力(MessageChannel→NotificationChannel、ChannelCapability* 迁入 notification.py)
- message 域:消息收发(Notification→Message、NotificationType→MessageType、CommingMessage→IncomingMessage、NotificationHistoryItem→MessageHistoryItem、NotificationClear*→MessageClear*)
- Agent 工具契约:send_notification_message→send_message、notification_callback→message_callback
- 源码不保留旧名物理别名,旧导入经 app/runtime/compat/manifest.py SYMBOL_ALIASES 惰性解析
- API 路径与持久化键冻结不变,前端零改动
- 新增兼容守护测试与 docs/rules/07 命名边界规范
2026-08-16 19:32:20 +08:00
InfinityPacer
24671f8f18
refactor(runtime): lazily activate host modules ( #6331 )
2026-08-16 16:07:38 +08:00
jxxghp
369d7d6448
refactor: reorganize backend module boundaries
2026-08-14 19:53:33 +08:00
jxxghp
7b3444c366
refactor backend module architecture
2026-08-14 15:45:38 +08:00
jxxghp
05d15a04f5
feat(v3): add music automation workflow
2026-08-07 21:50:22 +08:00
InfinityPacer
893269f8c1
fix(modules): serialize configuration reload lifecycle ( #6122 )
2026-07-15 17:28:49 +08:00
jxxghp
1f49f9b454
fix: normalize downloader return paths
...
Fixes #5773
2026-05-15 18:15:42 +08:00
Kevin Tan
99cab7c337
Update app/modules/__init__.py
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-08 17:21:33 +08:00
Kevin Tan
81f7548579
Update app/modules/__init__.py
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-08 17:20:45 +08:00
stkevintan
6ebd50bebc
update naming
2025-12-08 16:30:40 +08:00
stkevintan
378ba51f4d
support path_mapping for downloader
2025-12-08 16:25:46 +08:00
Attente
ca5ec8af0f
feat(config): 优化配置变更事件处理机制
2025-11-27 23:17:34 +08:00
Attente
4f806db8b7
fix: 修复变更默认下载器不生效的问题
...
- 配置模块迁移到 `SettingsConfigDict` 以支持 Pydantic v2 的配置方式
- 在 `MediaInfo` 中新增 `release_dates` 字段,用于存储多地区发行日期信息
- 修改 `MetaVideo` 类中的 token 传递逻辑,以修复搜索站点资源序列化错误的问题
2025-11-11 10:44:45 +08:00
jxxghp
0fa49bb9c6
fix 消息定向发送时不检查消息类型匹配
2025-06-16 08:06:47 +08:00
jxxghp
f8fbfdbba7
优化消息处理逻辑
2025-06-15 18:40:36 +08:00
jxxghp
f8864ab053
fix reload
2025-06-11 07:11:50 +08:00
jxxghp
2f38b3040d
fix:修复代码兼容性写法
2025-03-23 12:10:21 +08:00
Aqr-K
825fc35134
feat(modules): 增加子级 type 分类。
...
- 在 `types` 里,针对各个模块的类型进行子级分类。
- 为每个模块统一添加 `get_subtype` 方法,这样一来,能更精准快速地区分与调用子类的每个模块,又能获取 ModuleType 所规定的分类以及对应存在的子模块类型支持列表,从而有效解决当下调用时需繁琐遍历每个 module 以获取 get_name 或 _channel 的问题。
- 解决因消息渠道前端返回所保存的 type 与后端规定值不一致,而需要频繁调用 _channel 私有方法才能获取分类所可能产生的问题。
2024-12-03 14:57:19 +08:00
InfinityPacer
9cf7547a8c
fix(downloader): ensure default downloader config fallback
2024-10-24 19:12:07 +08:00
InfinityPacer
9255c85a85
refactor(module): unify config retrieval logic
2024-10-20 18:56:52 +08:00
jxxghp
363f12ed5a
refactor:Module加入执行优先顺序
2024-10-19 19:31:25 +08:00
jxxghp
0d139851af
fix 按对象名称组织代码文件
2024-10-12 12:14:49 +08:00
jxxghp
603ab97665
add ModuleType Schema
2024-10-12 11:50:00 +08:00
InfinityPacer
0afdd9056a
fix(module): use getters for _instances and _configs in subclasses
2024-10-06 14:38:17 +08:00
InfinityPacer
0593275a62
feat(module): add ServiceBaseHelper for service and instance
2024-09-29 23:46:41 +08:00
InfinityPacer
640a67fc3a
fix(module): resolve infinite recursion in get_instance method
2024-09-27 04:12:22 +08:00
InfinityPacer
2ce3ddb75a
refactor(module): simplify service instantiation with generics
2024-09-27 04:04:56 +08:00
InfinityPacer
5efcd6e6be
refactor (module): improve the implementation of base classes
2024-09-26 19:44:35 +08:00
jxxghp
2486b9274c
fix webhook_parser
2024-09-19 21:09:07 +08:00
jxxghp
53195457c7
fix module test
2024-09-12 15:13:58 +08:00
jxxghp
a567a8644b
add ModuleBases
2024-07-07 07:40:53 +08:00
jxxghp
1a0c4acf1c
fix bug
2024-07-06 08:30:09 +08:00
jxxghp
965e40e630
fix message
2024-07-04 18:45:22 +08:00
jxxghp
15a7297099
fix messages
2024-07-02 13:50:41 +08:00
jxxghp
0f57b39345
fix webpush switch
2024-06-09 11:15:35 +08:00
jxxghp
43647e59a4
fix module name
2024-05-16 14:20:18 +08:00