jxxghp
9aab7c0f4c
fix(agent): pin scheduled tasks to real execution accounts ( #7241 )
2026-10-29 22:39:08 +08:00
Cat
87561a90d1
fix(agent): route agent command receipts to the signed channel user ( #7228 )
...
- Agent 代渠道用户调用内部 API 时,把会话渠道与渠道用户写入宿主签发令牌的签名
声明(agent_channel、agent_channel_user),不再新增可伪造的请求头。
- /commands/run 对 Telegram 等通知渠道只使用与请求渠道一致的签名渠道用户执行命令
和投递回执;缺少该声明时明确拒绝,不再把 MoviePilot 用户表主键当作渠道 chat id。
Web、WebAgent 与无渠道调用仍按 MoviePilot 用户 ID 处理。
- 只读公共资料借用宿主身份,不携带渠道发起人声明。
- 同步依赖基线与架构总览中的内部导入边数量。
Refs #7225
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-28 19:05:52 +08:00
JontyLee
0ba73f5b87
fix(database-operation): 拦截未显式授权的凭据配置表读取
...
systemconfig 按 SystemConfigKey 聚合实例级 API Key、Cookie 与口令,托管
config.system.get 默认脱敏,但数据库技能脚本与 MCP database_operation 接受
任意 SQL,一条 SELECT 就能整包取回明文。
现在由脚本本身按表拦截:引用 systemconfig 的语句(含引号标识符、模式限定名、
CTE 与子查询)在读写两种模式下都默认拒绝,只有显式 --show-secrets /
show_secrets=true 才放行,失败信息直接给出可执行的下一步,因此 MCP 工具、
技能调用与命令行入口共享同一道边界。宿主策略把开启该开关的查询判定为
SENSITIVE_READ:要求系统管理员确认,结果标记为 SECRET,回执摘要不再保留内容。
门禁范围收敛为单表:userconfig 只承载界面偏好,plugindata 是文档化的诊断路径,
其余表的凭据残留风险改由 SKILL.md 的窄投影要求约束,避免以不可绕过的方式破坏
既有可运维性。MCP 文档、技能说明与相关契约测试同步更新。
2026-10-26 20:20:16 +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
jxxghp
ec5ff575f0
fix(agent): restore API bodies before direct request dispatch
2026-10-23 07:55:16 +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
Aqr-K
bf4ef4214e
perf(mediaserver): add caller-controlled query projections ( #7068 )
...
* perf(mediaserver): add caller-controlled query projections
* test(mediaserver): cover query projection option contracts
---------
Co-authored-by: jxxghp <jxxghp@gmail.com >
2026-10-19 08:33:45 +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
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