98 Commits

Author SHA1 Message Date
SmallSpider
7f227857d8 fix: 修复 WebAgent 会话与选择状态 (#7266)
* fix(agent): preserve WebAgent session state

* test: separate subscription pressure coordination and owner waits

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-11-01 17:49:20 +08:00
qingyukb
aea8cf11c4 fix: 按用户隔离 Web 智能助手临时附件 2026-10-31 17:04:21 +08:00
jxxghp
81260dc452 fix(notification): persist independent media posters 2026-10-24 19:11:27 +08:00
Aqr-K
7584d4b9fc fix: isolate agent sessions and retain runtime resource ownership (#7149)
* fix: arbitrate subscription identity and restore workflow state

* fix: isolate agent sessions and retain runtime resource ownership

* test: preserve legacy empty-owner subscription transactions

* test: handle reaped terminal descendants during shutdown polling

* fix: align shared atomic configuration method with lifecycle prerequisite

* test: cover subagent cancellation and completion lifecycle boundaries

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 08:20:59 +08:00
Aqr-K
fc0eed08cc fix: preserve directed messaging and channel interaction contracts (#7148)
* fix: retain plugin lifecycle ownership and recover installation state

* fix: preserve directed messaging and channel interaction contracts

* test: cover plugin rollback and uninstall lifecycle boundaries

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-23 07:49:53 +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
jxxghp
c85f9b262f feat(agent): isolate interactive execution from background services (#7083) 2026-10-19 18:12:05 +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
jxxghp
c1d7deada8 fix(types): type messaging template and queue boundaries 2026-10-17 18:23:57 +08:00
jxxghp
991b03921b fix(types): require coroutine web agent tasks 2026-10-17 08:09:18 +08:00
jxxghp
4d329963e0 fix(types): align WebAgent task contract 2026-10-17 08:09:18 +08:00
jxxghp
27ca7b3708 fix(types): define skill interaction button payloads 2026-10-17 05:57:54 +08:00
jxxghp
2b4602e0f6 refactor(types): align agent chat messages with repository contracts 2026-10-17 04:25:39 +08:00
jxxghp
4955b7b9ea fix: harden backend isolation and execution safety 2026-10-16 09:11:28 +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
03a285a2a6 fix(wechat): proxy douban notification images 2026-10-04 16:19:58 +08:00
jxxghp
754da97d97 fix(music): apply simplified metadata to manual transfers
Normalize album details and final music template fields while preserving local edition evidence, multi-artist credits and source objects. Refs #6870.
2026-10-04 08:47:15 +08:00
Cat
eb76fcafd6 fix(notification): 限制实时消息队列积压并在 SSE 重连后一次推送 (#6862) 2026-10-02 21:32:18 +08:00
jxxghp
2967544ba1 fix(agent): align thinking status with model lifecycle 2026-10-01 17:18:14 +08:00
InfinityPacer
0100992b58 fix(notification): mark realtime notification type and severity
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 15:04:01 +08:00
jxxghp
55d781cc59 fix(agent): satisfy complexity ratchet 2026-10-01 09:33:14 +08:00
jxxghp
d324f5ebfa feat(agent): expose model thinking progress 2026-10-01 09:10:47 +08:00
jxxghp
f803e6cc5c feat(agent): add persistent Python read-only orchestration 2026-09-30 20:16:53 +08:00
jxxghp
864ac1892e feat(agent): align background learning with Hermes 2026-09-30 17:45:39 +08:00
jxxghp
47d51c3630 feat(agent): align history recall with Hermes SQLite FTS5 2026-09-30 16:28:39 +08:00
jxxghp
b43ae37e62 feat(message): expose instance hostname in templates (#6815) 2026-09-29 08:31:20 +08:00
jxxghp
2cfb94d886 feat(messaging): support music interactions without agent 2026-09-26 13:21:56 +08:00
jxxghp
9f75f54b74 fix(architecture): 清理重构门禁诊断 2026-09-16 07:17:07 +08:00
jxxghp
b99b4fe2c3 chore(architecture): 同步模块路径与质量门禁 2026-09-16 00:12:16 +08:00
jxxghp
4e9a64c0f0 refactor(application): 按模块子目录统一文件命名 2026-09-15 23:57:06 +08:00
jxxghp
61b0ae951f refactor(application): 拆分消息渠道权限 2026-09-15 23:57:06 +08:00
jxxghp
0fa5224e66 refactor(application): 拆分 Agent 选择交互 2026-09-15 23:57:06 +08:00
jxxghp
b6b48cba54 refactor(application): 统一消息交互状态存储 2026-09-15 23:57:06 +08:00
jxxghp
e0adb47521 refactor(architecture): keep subscription owners within ratchet 2026-09-14 19:58:27 +08:00
jxxghp
ebddeee23b feat(subscribe): accumulate music album track progress 2026-09-14 19:35:04 +08:00
jxxghp
8072b7d78f Refactor application architecture and compatibility boundaries 2026-09-13 12:53:00 +08:00
jxxghp
380106b77a fix(agent): preserve assistant identity across web stream events 2026-09-12 03:13:56 +08:00
jxxghp
2427eb7e2f fix(agent): expose stable web stream message ids 2026-09-12 01:25:26 +08:00
jxxghp
813996a076 fix(agent): locate steering segment by identity 2026-09-11 18:17:09 +08:00
jxxghp
643efea1aa fix(agent): preserve WebAgent event timeline 2026-09-11 16:44:05 +08:00
jxxghp
6fe5bb42c2 fix(agent): preserve queued messages and long context 2026-09-11 14:27:27 +08:00
jxxghp
72aabe12f9 refactor(agent): keep WebAgent stream within complexity budget 2026-09-11 05:52:09 +08:00
jxxghp
abd3cea92b feat(agent): queue steering input during active runs 2026-09-11 05:17:37 +08:00
jxxghp
9e1c25124b fix(transfer): restore regression and architecture gates 2026-09-09 13:40:35 +08:00
yanjunpu
598f526d37 fix(music): prefer selected album identity when renaming 2026-09-07 19:57:52 +08:00
jxxghp
b432354592 fix(update): use managed progress execution 2026-09-05 22:28:15 +08:00
jxxghp
76174b11d6 refactor(update): satisfy interaction complexity gate 2026-09-05 22:07:57 +08:00
jxxghp
e28f4a11cd feat(update): add interactive channel upgrade flow 2026-09-05 21:35:30 +08:00
jxxghp
ff01449cdd fix(api): humanize user-facing error messages 2026-09-04 17:55:56 +08:00