mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-11-04 06:15:14 +08:00
fix(agent): report command outcomes and clean up cancelled runs
This commit is contained in:
@@ -28,6 +28,8 @@ MoviePilot Agent 通过模型、Skills、工具和会话状态共同完成任务
|
||||
|
||||
超长结果在当前会话图中临时保存,预览带 `result_id` 和 `next_offset`。Agent 使用 `read_tool_result` 按 Unicode 字符位置续读,无需重新执行原工具。每条完整结果最多 1 MiB,每个图最多 8 条、合计 4 MiB,15 分钟后过期;容量超限、图重建和进程退出也会使编号失效。无法保存的结果明确要求缩小查询范围。不同图线程不能互读,管理员结果在降权后不能续读。结果原文只短期驻留内存,不归档到磁盘或日志。
|
||||
|
||||
`execute_command(action="run")` 返回结构化 JSON:`exit_code`、`timed_out`、`execution_outcome` 和 `status` 表示实际执行结果,`output` 保存输出预览,`output_file` 指向超长输出的临时归档。仅正常退出且退出码为 0 时成功;非零退出或已停止的超时命令为失败,无法确认进程结束时为未知,不能凭“有输出”判断成功。超时和取消不会撤销命令已经产生的外部副作用。取消继续向外传播,同时回收输出读取任务、关闭归档文件;`run` 与 `start` 都支持 `env`,并保留指定工作目录。
|
||||
|
||||
## 写工具的持久执行记录
|
||||
|
||||
生产 Agent 在副作用之前向 `agentinvocation` 表提交原子认领。记录只包含用户、会话、工具身份、参数指纹、执行 token、状态和固定宿主文案,不保存原始参数或工具输出。无法认领时不执行写入;相同调用 ID 携带不同参数时拒绝执行。
|
||||
|
||||
@@ -513,6 +513,13 @@ MCP、HTTP 工具管理接口、本地 CLI 和内置 Agent 都从同一严格目
|
||||
`search_web` 不通过 MCP 暴露。隐藏列表只负责收敛接口暴露面,不替代各工具自身的
|
||||
权限、路径和网络边界。
|
||||
|
||||
内置命令工具 `execute_command(action="run")` 的返回值为 JSON 字符串,包含
|
||||
`success`、`execution_outcome`、`status`、`exit_code`、`timed_out`、`timeout`、
|
||||
`output_truncated`、`output_file`、`output` 和 `message`。正常退出码 0 才是成功,
|
||||
非零退出及已停止的超时执行为失败,无法确认进程结束时为 unknown。输出预览与状态分开,
|
||||
不再通过中文完成提示判断成功。后台 `start/read/wait/write/kill` 保持会话状态与游标协议;
|
||||
`env` 同时适用于 `start` 和 `run`,此工具仍不通过 MCP 暴露。
|
||||
|
||||
下载器和媒体服务器的第三方原生高级能力不注册成永久 MCP 工具。内置 Agent 按需
|
||||
加载 `downloader-operation` 或 `mediaserver-operation` Skill,通过固定脚本读取本机
|
||||
配置、发现 provider 能力并调用受控 action;脚本不接受任意 URL、认证信息或任意
|
||||
|
||||
Reference in New Issue
Block a user