Commit Graph

757 Commits

Author SHA1 Message Date
jxxghp
225da1a7f0 fix(agent): prefer model catalog for image input support 2026-10-16 12:22:31 +08:00
jxxghp
9d5ad08e08 refactor(types): govern agent display contract with strict mypy 2026-10-16 10:03:27 +08:00
jxxghp
4955b7b9ea fix: harden backend isolation and execution safety 2026-10-16 09:11:28 +08:00
jxxghp
edc719596d feat(update): prepare latest updates for a single restart 2026-10-13 12:50:01 +08:00
DennyHo0917
f4cd7d02ad feat(llm): add API Route provider (#6972)
Signed-off-by: dennyho0917 <dennyho0917@gmail.com>
Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-13 07:25:47 +08:00
jxxghp
c8e935fc6c fix(agent): point capability entrypoints at canonical manager module (#6969) 2026-10-12 17:47:56 +08:00
jxxghp
bd1e6eb899 fix(agent): separate public API queries from bound user operations 2026-10-12 07:30:35 +08:00
jxxghp
ec93101289 Merge pull request #6932 from binyangzhu000-sudo/feat/atlas-cloud-provider 2026-10-09 18:52:23 +08:00
binyangzhu000-sudo
6d479317c1 feat(llm): 新增 Atlas Cloud provider
Atlas Cloud (https://api.atlascloud.ai/v1) 是 OpenAI 兼容的聚合网关,一个
Key 覆盖 DeepSeek、智谱、月之暗面、通义千问与 MiniMax 等开源权重模型,
形态与 OpenRouter 一致,sort_order 取 50 与 60 之间的 55。

用 openai_provider() 而非 catalog_openai_provider():后者的
model_list_strategy 是 models_dev_only,而 Atlas Cloud 尚未被 models.dev
收录;前者走 openai_compatible,直接读网关自己的 /v1/models。
models_dev_provider_id 保留默认值 atlascloud,这样等 models.dev 收录后
_models_dev_reserved_provider_ids 会认到它,不会再自动生成一个重复条目。

实测:用 discovery 内部同款 AsyncOpenAI 构造调用,models.list() 返回 117
个模型,deepseek-ai/deepseek-v4-flash 的对话正常返回。

Signed-off-by: binyangzhu000-sudo <binyangzhu000@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: binyangzhu000-sudo <binyangzhu000@gmail.com>
2026-10-09 16:03:47 +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
0cd6b3660f fix(agent): inject host dependencies into protocol factories
Pass the session owner's data context and memory to Web and compatible protocol agent factories. Cover task creation, listing, session reuse and subagent tool injection across the shared entrypoints.

Refs #6910
2026-10-08 13:43:59 +08:00
jxxghp
230b128b8e fix(agent): exclude history storage from runtime signatures 2026-10-07 13:27:15 +08:00
jxxghp
6c9ebd01f3 fix(agent): close owned LLM clients with their lifecycle
Refs #6901
2026-10-07 09:18:40 +08:00
jxxghp
d22e4785a6 fix(agent): preserve nullable tool schemas outside Gemini 2026-10-07 09:17:33 +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
Freeman
4c994c993f docs(download): document directory aliases for save_path
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 15:30:29 +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
6f0f528e2f feat(agent): add configurable output language 2026-10-05 07:35:05 +08:00
jxxghp
d8031e29a8 fix(agent): guide captcha OCR failures to browser vision 2026-10-04 09:19:29 +08:00
jxxghp
4d74d4c2e9 fix(agent): route API calls to the local backend (#6875) 2026-10-04 09:05:33 +08:00
ChantXu64
8b30668cf3 fix(llm): preserve max reasoning effort (#6866) 2026-10-03 22:22:39 +08:00
ChantXu64
3c56f0bfdc fix(llm): 允许温度留空以省略不兼容的请求参数 (#6865) 2026-10-03 19:55:43 +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
e7852dd8a0 refactor(agent): 优化提示词并完善 Issue 反馈交互 2026-10-02 10:35:37 +08:00
jxxghp
bdbc801e83 fix(agent): steer active channel conversations into new replies 2026-10-02 09:12:21 +08:00
jxxghp
27a9ca4d66 feat(agent): install CJK history tokenizer for Docker and CLI 2026-10-01 23:26:10 +08:00
jxxghp
d206430dee fix(agent): make project runtime the default Python command 2026-10-01 17:31:29 +08:00
jxxghp
2967544ba1 fix(agent): align thinking status with model lifecycle 2026-10-01 17:18:14 +08:00
jxxghp
56b599f5d4 fix(agent): honor project runtime Python entry 2026-10-01 16:55:53 +08:00
jxxghp
c78113ade9 fix(agent): explain empty memory targets 2026-10-01 16:45:38 +08:00
jxxghp
17db0b22b9 fix(agent): preserve historical tool styles 2026-10-01 14:41:10 +08:00
jxxghp
3d6f29f0e8 fix(agent): keep message channel thinking status during tools 2026-10-01 14:30:23 +08:00
jxxghp
60cf52b246 fix(agent): bind CLI commands to project virtualenv 2026-10-01 12:33:10 +08:00
jxxghp
842ba547ec fix(agent): keep thinking status separate 2026-10-01 10:26:22 +08:00
jxxghp
f1cb4b2ff6 fix(agent): keep mypy ratchet green 2026-10-01 09:43:29 +08:00
jxxghp
d324f5ebfa feat(agent): expose model thinking progress 2026-10-01 09:10:47 +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
fcd4cd1725 feat(agent): align execution guardrails with Hermes 2026-09-30 18:51:03 +08:00
jxxghp
b6f3d37bd1 fix(agent): preserve bound subscription owner for channel users 2026-09-30 17:49:45 +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
8fbf1cbe54 feat(music): honor explicitly selected release editions 2026-09-30 14:46:48 +08:00
InfinityPacer
810ee2896f perf(startup): compose redis cache and agent memory only when used
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:07:34 +08:00
Aqr-K
de63e1764f fix(agent): 请求上线前规整工具参数 schema,修复经 OpenAI 兼容网关调用 Gemini 时 400 (#6818) 2026-09-29 06:55:47 +08:00