Commit Graph

337 Commits

Author SHA1 Message Date
jxxghp
bd1e6eb899 fix(agent): separate public API queries from bound user operations 2026-10-12 07:30:35 +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
e51fd44964 fix(agent): resolve alternative QQ and Feishu user bindings
Keep strict binding lookup as the default and explicitly match alternative channel identifiers for the Agent API gateway. Reject ambiguous active-user matches and cover single-field bindings with database-backed tests.

Refs #6905
2026-10-07 09:16:33 +08:00
LIN student
aa78bc9d8e fix(agent): 浏览器与验证码工具的私网访问参数仅限管理员
browse_webpage、recognize_captcha 的 allow_private_network 是模型可以直接
填写的工具参数,此前对任何调用方都生效。现与同工具的 evaluate、
get_cookies 保持一致:仅管理员可设置为 true,其他调用方返回
admin_required,并提示去掉该参数后只访问公网地址。

browse_webpage 的三项管理员检查合并到 _admin_required_error,run() 的
圈复杂度维持在门禁阈值以内。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 15:42:28 +08:00
jxxghp
d8031e29a8 fix(agent): guide captcha OCR failures to browser vision 2026-10-04 09:19:29 +08:00
jxxghp
6b8f5f90df fix(agent): type and cover encoded api bodies 2026-10-02 23:12:48 +08:00
q10710
37d9680674 fix(agent): restore JSON-encoded string bodies in api argument canonicalization 2026-10-02 22:19:07 +08:00
jxxghp
60cf52b246 fix(agent): bind CLI commands to project virtualenv 2026-10-01 12:33:10 +08:00
jxxghp
3fc57808d7 Merge pull request #6839 from thsrite/feat/rename-mediavault-to-vyo
feat(mediaserver): 内置媒体服务 MediaVault 更名为 Vyo
2026-09-30 21:03:57 +08:00
jxxghp
3a1abca44d merge: resolve v3 conflicts for vyo rename 2026-09-30 20:55:43 +08:00
jxxghp
3ffc64cfd6 feat(agent): complete integrated evaluation
Validate persistent recall, learning carry-over, and controlled read-only Python orchestration in real graphs and isolated model scenarios.
2026-09-30 20:53:19 +08:00
jxxghp
f803e6cc5c feat(agent): add persistent Python read-only orchestration 2026-09-30 20:16:53 +08:00
thsrite
4395ddecf2 feat(mediaserver): 内置媒体服务 MediaVault 更名为 Vyo
主项目更名为 Muvyo,内置媒体服务更名为 Vyo。模块目录、文件、类名、模块 ID、枚举、
名称描述、日志与文档统一改为 Vyo;配置类型值 mediavault 保持不变,
已保存的媒体服务器配置无需迁移。
2026-09-30 19:46:09 +08:00
jxxghp
dc0ad842fb fix(agent): make API input errors actionable 2026-09-30 19:16:35 +08:00
jxxghp
4f72b77ef0 fix(agent): constrain API request body shapes 2026-09-23 14:24:06 +08:00
moviepilot-codex[bot]
1d043bb64e fix(agent): isolate memory by user 2026-09-21 08:59:33 +08:00
cyt-666
6e92a02255 fix: extend search.torrents timeout (#6734) 2026-09-20 15:23:47 +08:00
jxxghp
4e9a64c0f0 refactor(application): 按模块子目录统一文件命名 2026-09-15 23:57:06 +08:00
jxxghp
0fa5224e66 refactor(application): 拆分 Agent 选择交互 2026-09-15 23:57:06 +08:00
jxxghp
d665426157 fix(agent): constrain API body input to JSON values 2026-09-15 18:15:31 +08:00
jxxghp
c59a054351 fix(agent): validate browser redirects after actions 2026-09-12 14:08:14 +08:00
jxxghp
551fe76a54 fix(agent): preserve uncertain browser close state 2026-09-12 13:37:34 +08:00
jxxghp
046a8abcad fix(agent): harden browser session recovery 2026-09-12 13:31:23 +08:00
jxxghp
67f0fe3d40 fix(agent): make browser observation outcomes explicit 2026-09-12 12:57:51 +08:00
jxxghp
e9e1aa8e0f fix(agent): clarify browser and subagent states 2026-09-12 12:50:22 +08:00
jxxghp
985618f6de fix(agent): improve shell recovery guidance 2026-09-12 12:43:11 +08:00
jxxghp
ebe654290d fix(agent): harden file range and conflict recovery 2026-09-12 12:40:27 +08:00
jxxghp
9cc2ab08ad fix(agent): accept image content in view_image 2026-09-11 23:34:58 +08:00
jxxghp
d21bd2981b feat(agent): add image viewing tool 2026-09-11 23:17:36 +08:00
jxxghp
ed6439bf2e fix(architecture): close mypy ratchet regressions 2026-09-11 15:24:46 +08:00
jxxghp
06ed22c584 feat(agent): improve browser-assisted site cookie login 2026-09-11 14:31:01 +08:00
jxxghp
0f8aa4dfa9 fix(agent): return operation input contracts on errors 2026-09-11 08:07:54 +08:00
jxxghp
3a22cb0118 Revert "fix(agent): surface common API field contracts"
This reverts commit bdeef730b9.
2026-09-11 07:54:02 +08:00
jxxghp
bdeef730b9 fix(agent): surface common API field contracts 2026-09-11 07:50:13 +08:00
jxxghp
abd3cea92b feat(agent): queue steering input during active runs 2026-09-11 05:17:37 +08:00
jxxghp
66d288ffc2 feat(agent): isolate terminal task ownership 2026-09-11 03:12:16 +08:00
jxxghp
f383a8a5a3 feat(agent): 接入媒体自动分类策略 API 2026-09-10 22:36:50 +08:00
jxxghp
20d1aa2b49 feat(agent): align terminal shell and input control semantics 2026-09-10 11:00:24 +08:00
jxxghp
21e154d6d2 feat(agent): deliver browser screenshots as model-visible images 2026-09-10 02:17:01 +08:00
jxxghp
c92483d2a8 feat(agent): stream terminal output with resumable cursors 2026-09-10 00:29:09 +08:00
jxxghp
c3db7531f8 fix(agent): report command outcomes and clean up cancelled runs 2026-09-09 23:06:28 +08:00
jxxghp
5fa5b414aa feat(agent): harden tool outcomes, recovery and discovery 2026-09-09 19:55:21 +08:00
thsrite
d04b721f84 feat(mediaserver): 新增 MediaVault 自建媒体库模块
通过 MediaVault 管理端口的原生接口接入自建媒体库,凭据为管理面板的长效 API Key:

- 媒体库列表、条目分页遍历、条目详情与总数
- 按标题/年份/媒体身份判断电影与剧集存在性,季集齐全度与季集条目 ID
- 数量统计、最近入库、继续观看、封面与背景图直链、播放地址
- 入库后按目标路径命中媒体库并排队后台扫描,未命中时回退全库扫描
- 用 MediaVault 账号完成 MoviePilot 用户认证

MediaVault 无音乐库也不外发 Webhook,get_music 与 webhook_parser 不实现;
图片直链自带 API Key,无需 mediaserver_image_cookies。

同时把 mediavault 接入 mediaserver-operation Agent Skill 的 provider 清单。
2026-09-07 13:49:10 +08:00
jxxghp
ef0f4f7ef4 feat(agent): improve Windows shell compatibility 2026-09-01 17:51:15 +08:00
jxxghp
449ef4b8df fix(agent): show API parameters in verbose mode 2026-09-01 11:57:36 +08:00
jxxghp
41c54d138d refactor(agent): relocate static resources 2026-09-01 11:55:21 +08:00
jxxghp
2f7f2da300 fix(agent): preserve collection totals in truncated results 2026-09-01 10:49:22 +08:00
jxxghp
e5722ed987 fix: finalize agent architecture ratchets 2026-09-01 01:46:22 +08:00
jxxghp
6d4d7331d1 refactor: complete agent skill API contracts 2026-09-01 01:19:45 +08:00
jxxghp
632363730a feat(agent): expose self-describing service operations 2026-08-31 20:45:33 +08:00