ranzhigg
914abf6273
fix: tighten API authorization boundaries
2026-10-30 16:14:49 +08:00
jxxghp
6d4ce83837
fix(types): clear host mypy debt and prevent typing regressions
...
严格检查全部宿主源码,清零类型错误预算并移除按模块类型豁免。
按原因、所属方法、错误码及语法指纹锁定必要兼容例外和站点类型桩,
CI 阻断新增忽略、检查范围退化、本地桩替代真实接口及新的类型错误。
修复空值、异步和供应方类型边界,保持插件与 API 兼容合同,
并补充存储、订阅、通知、Agent 和工作流边界的回归覆盖。
2026-10-21 22:03:18 +08:00
DDSRem
e0642eafa7
chore(types): reduce v3 host mypy debt ( #7057 )
...
* chore(types): clear AniList endpoint mypy debt
* chore(types): clear Douban endpoint mypy debt
* chore(types): clear recommendation endpoint mypy debt
* chore(types): clear subscription notification mypy debt
* chore(types): clear SDK string compatibility mypy debt
* chore(types): ratchet v3 host mypy across remaining files
* chore(types): reduce v3 host mypy debt and retire ledger
* chore(types): reconcile host snapshot with upstream HTTP pool
* test(types): cover host paths exposed by mypy cleanup
2026-10-18 09:37:49 +08:00
DDSRem
2de976f6b3
Merge pull request #7050 from DDSRem-Dev/codex-comment-migration
...
docs: 统一全项目中文注释和结构化契约说明
2026-10-17 19:26:29 +08:00
LIN student
dc974b6699
fix(message): WebPush 主动推送接口仅限超级管理员
...
POST /message/webpush/send 只依赖 verify_token,会把调用方提供的
title、body、url 推送给 webpush_registry 中的全部浏览器订阅,包括其他
用户和管理员的浏览器。前端只调用 /message/webpush/subscribe,不调用该
接口。
改为与同模块 /message/web 一致的 get_current_active_superuser。
API_TOKEN / apikey 由 verify_token 映射为 SUPERUSER 对应的超级管理员
账号,经过该依赖后仍可调用,已有外部集成不受影响。
/message/webpush/subscribe 保持登录用户可用,每个用户的前端都会调用它
登记自己的浏览器。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 15:42:29 +08:00
LIN student
4416e278aa
fix(message): 回调验证日志不再输出 token
...
消息回调验证入口 GET /api/v1/message/ 以 INFO 级别记录请求参数,其中的
token 就是 verify_apitoken 校验用的 API_TOKEN。日志经常被直接贴出来排查
问题,因此去掉这个字段,其余排查用参数保持不变。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 19:01:22 +08:00
InfinityPacer
4bd7e3dc04
perf(webpush): send Web Push with http-ece and py-vapid instead of pywebpush
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-30 13:20:00 +08:00
jxxghp
ff01449cdd
fix(api): humanize user-facing error messages
2026-09-04 17:55:56 +08:00
jxxghp
478e7ee0a4
fix(auth): restore API token compatibility
2026-09-02 20:22:57 +08:00
jxxghp
0c05956814
refactor(architecture): enforce module naming policy
2026-08-29 22:17:17 +08:00
jxxghp
92e745fc97
refactor(architecture): split chain owners and close runtime boundaries
2026-08-28 22:26:19 +08:00
jxxghp
b914e8b6e4
refactor: strengthen architecture CI gates and runtime contracts
2026-08-25 17:02:29 +08:00
jxxghp
cb3c5f008f
refactor: unify service configuration boundary
2026-08-24 05:12:21 +08:00
jxxghp
03c03fa27d
fix: reconcile API annotations and debt baseline
2026-08-23 13:54:47 +08:00
jxxghp
f1e542bef0
refactor: govern background tasks and query ownership
2026-08-23 13:24:04 +08:00
jxxghp
1bb6e36e8c
refactor: complete runtime configuration migration
2026-08-22 19:07:07 +08:00
jxxghp
9df599f502
refactor: split api dependencies by domain
2026-08-21 21:09:57 +08:00
jxxghp
8472bcff43
refactor: 收口 V3 分层架构与插件兼容边界
2026-08-18 13:22:02 +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
02f0dd0b9a
refactor(architecture): 修复模块依赖违规并强化架构守护
...
- 字幕编排上移 DownloadChain.download_site_subtitles,SubtitleModule 仅保留站点链接解析
- TransferChain.recommend_name 上移 TV episodes_info 获取,filemanager 模块不再导入 TmdbChain
- endpoint 穿透修复:WXBizMsgCrypt3 迁至 adapters/external/wechat_crypt.py;
music/tmdb 缓存管理、listenbrainz 常量、TMDbException、WechatClawBot 辅助统一经 chain 包装
- RuleParser 与 builtin_rules 合并为 application/filter_rules.py;
fsproxy/fsworker 迁至 adapters/system/
- chain/__init__.py 删除 qbittorrentapi/transmission_rpc 导入,消除后端协议类型泄漏
- 架构守护测试新增三项检查:模块间隔离、入口层穿透、下载器 SDK 泄漏
- 文档同步:05-architecture.md 记录 DB/Oper 聚合例外与迁移文件位置,AGENTS.md 更新所有权表
2026-08-16 04:59:17 +08:00
Aqr-K
8a11214a43
refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 ( #6320 )
2026-08-15 06:58: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
baf8850d63
refactor(api): standardize responses and restore media config contracts
2026-08-12 23:15:13 +08:00
G0m3e
c57985d553
fix(webpush): add WNS cache policy for Windows Edge push ( #6034 )
...
WNS rejects pywebpush default ttl=0 with 400 Bad Request unless X-WNS-Cache-Policy matches TTL; iOS/APNs endpoints are unaffected.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-01 10:45:24 +08:00
jxxghp
4233ebfba6
Persist notification clear markers
2026-06-24 16:58:08 +08:00
jxxghp
68f18db374
Handle invalid UTF-8 with replacement decoding
2026-06-21 09:56:34 +08:00
jxxghp
d4b6d3f332
refactor: remove persist_output_message functionality and related database save logic
2026-06-17 16:14:35 +08:00
jxxghp
79539760da
fix: bound long-lived cache state
2026-05-24 18:03:42 +08:00
DDSRem
5a585839ba
chore: remove unused imports and fix function name conflicts ( #5764 )
...
- Remove unused imports in anthropic.py, tmdbv3api/__init__.py, tv.py, test files
- Rename conflicting function names in subscribe.py and webhook.py
- Clean up unused re-exports in tmdbv3api/__init__.py (15 unused exports)
- Apply consistent formatting across API endpoints
2026-05-13 18:59:03 +08:00
jxxghp
2f53fd3108
Expand image and edit support across messaging channels
2026-04-11 22:10:54 +08:00
jxxghp
cb323653b8
Add tracing logs for agent image message flow
2026-04-11 20:58:20 +08:00
EkkoG
510476c214
feat(wechat): add WeChatBot class for intelligent bot integration and enhance WechatModule to support bot mode
...
- Introduced WeChatBot class for handling intelligent bot functionalities.
- Updated WechatModule to differentiate between traditional and bot modes using WECHAT_MODE configuration.
- Enhanced stop method in WechatModule to gracefully stop client instances.
- Added logic to skip traditional menu initialization for bot mode.
- Updated .gitignore to include .venv directory.
2026-03-14 16:17:39 +08:00
jxxghp
d523c7c916
fix pydantic
2025-11-01 09:51:23 +08:00
jxxghp
086b1f1403
更新 message.py
2025-08-16 17:27:45 +08:00
jxxghp
913afed378
fix #4700
2025-08-04 12:19:24 +08:00
jxxghp
0c8fd5121a
fix async apis
2025-08-01 14:19:34 +08:00
jxxghp
22b69f7dac
fix blanke
2025-03-23 22:35:37 +08:00
jxxghp
f9b0db623d
fix cython type error
2025-03-23 21:39:37 +08:00
InfinityPacer
9255c85a85
refactor(module): unify config retrieval logic
2024-10-20 18:56:52 +08:00
jxxghp
0d139851af
fix 按对象名称组织代码文件
2024-10-12 12:14:49 +08:00
InfinityPacer
4f01b82b81
feat(security): unify token validation for message endpoints
2024-10-08 14:32:29 +08:00
InfinityPacer
2ce3ddb75a
refactor(module): simplify service instantiation with generics
2024-09-27 04:04:56 +08:00
jxxghp
89f2bf5f30
更新 message.py
2024-09-09 22:54:47 +08:00
jxxghp
c3ef3dd7d1
fix 全局变量定义
2024-09-09 22:17:49 +08:00
jxxghp
059e4f08a3
fix permissions
2024-07-05 08:10:21 +08:00
jxxghp
f23be671c0
fix
2024-07-02 13:54:29 +08:00