Skip to main content

external-myagents-cli

为不了解 MyAgents 的本机外部 AI 补充产品背景、能力模型和公开 CLI 使用方式。 收到 MyAgents 设置页的交接 Prompt 后读取;使用其中给出的绝对 CLI 路径和 MYAGENTS_API_TOKEN 发现本地与同账号跨设备 Agent、委托和读取 Session, 以及操作本机 Task、Record 与 Runtime 发现。

Informations de source

Dépôt
hAcKlyc/MyAgents
Dernière activité de la source
5 octobre 2026 à 14:30
Langue détectée de SKILL.md
chinois
Étoiles
917
Forks
106

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
external-myagents-cli
description
为不了解 MyAgents 的本机外部 AI 补充产品背景、能力模型和公开 CLI 使用方式。 收到 MyAgents 设置页的交接 Prompt 后读取;使用其中给出的绝对 CLI 路径和 MYAGENTS_API_TOKEN 发现本地与同账号跨设备 Agent、委托和读取 Session, 以及操作本机 Task、Record 与 Runtime 发现。
metadata
{"author":"MyAgents"}
# MyAgents 外部调用指南 ## 1. MyAgents 是什么 MyAgents 是一个在用户电脑上运行的桌面 Agent 产品。它把本地目录、AI 执行环境和长期工作状态组织成几个可以组合的产品实体: - **Workspace Agent**:绑定一个已有本地目录的长期 Agent 身份。它是工作区、默认 Runtime 和后续 Session 的稳定地址。 - **Session**:某个 Agent 下相互隔离的对话与执行上下文。可以新建干净上下文,也可以向已知 Session 继续发送任务并读取文本历史。 - **Task**:可持久化、可执行、可调度的工作项。适合待办、一次性执行、定时执行和满足条件后激活的自动化。 - **Record**:轻量的信息收集入口,用来保存文字记录,之后可以再整理或转成 Task。 - **Runtime**:真正执行 Agent 的运行环境。MyAgents 可以发现本机已支持的 Runtime,以及它们各自可用的模型和权限模式。 MyAgents App 是这些状态和执行生命周期的本机 Host;CLI 只是调用入口。你是运行在 MyAgents 之外的 AI,能够通过公开 CLI 委托和观察工作,但不会因此获得 MyAgents 内部 Session 身份、全部管理能力或隐藏 API 权限。 MyAgents 产品内部还可以管理模型 Provider、MCP/工具、Skill/Plugin、IM Channel、Cloud Space、Goal、文档与语音等能力;它们帮助 Agent 接入模型、工具、外部沟通渠道和更丰富的工作流。但当前外部 token 契约只开放本文后面介绍的 Agent、Runtime discovery、Session、Task、Record 和状态查询。知道某项产品能力存在,不等于可以从外部 CLI 调用它。 ## 2. MyAgents 能解决什么任务 把这些能力组合起来,可以完成几类典型工作: | 用户意图 | 能力组合 | 结果 | | --- | --- | --- | | 让一个本地项目拥有可持续对话的 AI | 注册目录为 Workspace Agent → 新建 Session → 后续 send/get | 获得稳定 Agent ID 和可继续的独立上下文 | | 把一件工作交给另一个 Agent 完成 | 找到目标 Agent → start 新 Session → 保存 Session ID → get 结果 | 当前 AI 不需要自己进入目标工作区 | | 委托同账号另一台设备上的 Agent | agent list 发现在线目标 → 使用完整跨设备 ID → start/send/get | 由目标设备的 MyAgents 执行,并可主动读取结果 | | 创建待办、定时任务或条件自动化 | 明确 Workspace → 创建 Task → 配置/启动 → get/runs 查看状态 | 工作进入 MyAgents 的持久 Task 生命周期 | | 先记下来,稍后再处理 | 创建 Record → 后续查看并整理为 Task | 信息不会只停留在当前对话里 | | 在创建 Task 前选择执行环境 | runtime list/describe → 使用返回的合法值 | 避免猜测 Runtime、模型或权限模式 | 最常见的主链路是: ```text 已有本地目录 → Workspace Agent → Session start → Session send → Session get ``` Task 和 Record 可以在这条链路之外保存更长期的工作意图;Runtime discovery 用来了解当前机器真实支持的环境,并为支持 override 的 Task 选择合法值。新 Session 继承目标 Agent 的配置,已有 Session 继续使用自己的执行配置;外部 Session 调用不能临时覆盖。 ### 开始调用前 1. MyAgents App 必须保持运行。 2. 用户在 MyAgents 的「设置 → 外部调用」中开启 **MyAgents CLI 外部调用**。 3. 设置页复制的交接 Prompt 可能已经携带当前 `MYAGENTS_API_TOKEN` 设置命令。只用它配置调用进程环境;你不能通过 CLI 读取 token,也不要在后续回复、命令输出或文件中复述、记录它。 4. 始终使用交接 Prompt 给出的 **CLI 绝对路径**。普通终端和外部 Agent 的 PATH 不保证能发现 `myagents`。 POSIX shell: ```sh export MYAGENTS_API_TOKEN="<token>" ``` PowerShell: ```powershell $env:MYAGENTS_API_TOKEN = "<token>" ``` 下文用 `<CLI>` 代表交接 Prompt 给出的绝对路径。实际执行时替换它,并按当前 shell 安全引用路径:POSIX 可用 `"/absolute/path/myagents" ...`,PowerShell 可用 `& "C:\\...\\myagents.cmd" ...`。 ### 先用帮助发现,再调用 不要靠记忆猜参数。按层级读取当前安装版本的帮助: ```text <CLI> --help <CLI> agent --help <CLI> agent create --help ``` - 顶层帮助列出当前外部公开能力。 - group help 用来选择子功能;leaf help 是 flags、输入要求和失败语义的权威。 - 外部命令只接受 leaf help 明确列出的参数;未知命令、额外位置参数和未知 flag 会在发起 HTTP 前直接拒绝,不会静默忽略。 - 业务调用优先加 `--json`。stdout 返回一份机器可解析 JSON,诊断信息走 stderr。 - 退出状态 `0` 只表示该命令达到自身定义的成功边界;非零状态必须按失败处理,并优先读取 JSON 中的稳定 `code`。精确退出码以 leaf help 为准。 ## 3. CLI 能力入口 ### App 状态与版本 适合在工作开始前确认 MyAgents Host 是否可用,以及记录当前 App 版本。 ```text <CLI> status --json <CLI> version --json ``` `status` 只表示 Host 状态,不代表某个 Session 或 Task 已经完成。 ### Workspace Agent 适合把一个已经存在的本地目录注册成长期 Agent、发现已有 Agent,或确认目标 Agent 的默认执行配置。 先读: ```text <CLI> agent --help <CLI> agent create --help ``` 核心动作: ```text <CLI> agent create --workspacePath <absolute-existing-directory> --json <CLI> agent list --json <CLI> agent show <agentId> --json ``` `agent create` 不会创建目录、初始化 Git、复制模板或自动启动 Session。同一未归档、正常可见的 workspace 重复注册会返回同一个 Agent。保存成功响应中的 `agentId`;不要用显示名称或路径猜 ID。 ### 同账号跨设备 Agent `agent list` 合并本地 Agent 与同账号其它设备上在线、已开放调用的 Agent;`--archived` 只列本地归档对象。JSON 中 `isLocal` 区分归属,`deviceName` 帮助选择目标,`agentId` / `selector` 才是调用地址。`networkStatus` 和 `complete` 表示网络发现状态与目录是否完整;网络异常时本地结果仍可返回,不能把不完整目录当作没有远端 Agent。 - 本地 Agent 使用返回的普通 ID;跨设备 Agent 使用完整的 `ma-agent:1:...` ID,跨设备 Session 使用完整的 `ma-session:1:...` ID。原样保存和传递,不截短、解码或按名称拼接。 - `agent show`、`session list/start` 接受 Agent ID;`session send/get/state` 接受 Session ID。本地和跨设备使用相同命令,无需额外网络参数。 - 跨设备调用要求本机网络连接可用,目标设备在线且目标 Agent 已开放。目标离线时调用失败,没有离线补投或自动重发。 - Session 在目标设备执行,继承目标 Agent 的配置;本地 `--prompt-file` 由调用方 CLI 读取后发送文字,不是让远端读取该文件路径。 跨设备路径同样先从成功 discovery 响应选目标: ```text <CLI> agent list --json <CLI> agent show <returned-agentId> --json <CLI> session list --agent <returned-agentId> --json <CLI> session start --agent <returned-agentId> --prompt-file <local-request-file> --json <CLI> session get <returned-sessionId> --json ``` Agent 的注册、Task、Record 与 Runtime discovery 仍操作本机 Host;跨设备寻址不开放远端配置或文件管理。 ### Runtime 发现 适合查看当前机器安装了哪些执行 Runtime,以及某个 Runtime 支持哪些模型和权限模式。它只做发现,不修改 Provider 或 Agent 配置。 ```text <CLI> runtime --help <CLI> runtime list --json <CLI> runtime describe <runtime> --json ``` 在为支持 override 的 Task 选择 runtime/model/permissionMode 前先 describe,不要凭经验硬编码值。`models` 可能为空,例如 builtin 的模型来自 Provider;这不表示 Runtime 不支持模型。外部调用可读取 `agent show` 的未来 Session 默认值,未公开的 Provider 目录或诊断需在 App 内查看,不因响应中的恢复建议而调用非公开命令。Session start 不接受临时 override,而是继承目标 Agent 的配置。 ### Session:委托、续聊与读取结果 适合把工作交给一个 Agent 的新上下文、向已知上下文追加指令,或读取当前可见的文本历史。 先读: ```text <CLI> session --help <CLI> session list --help <CLI> session start --help <CLI> session send --help <CLI> session get --help <CLI> session state --help ``` 核心链路: ```text <CLI> session list --agent <agentId> --limit 5 --json <CLI> session start --agent <agentId> --prompt-file <request-file> --json <CLI> session send <sessionId> --prompt-file <follow-up-file> --json <CLI> session state <sessionId> --json <CLI> session get <sessionId> --limit 5 --json ``` - 保存 `start` 返回的 Product Session ID;后续 `send/get` 都使用这个 ID,不要替换成 Runtime 自己的 session 标识或投递 messageId。 - 多行、较长或来自外部输入的 prompt 优先写入普通文本文件,再使用 `--prompt-file`,避免 shell 转义和注入。 - 外部 `start/send` 是 one-way。成功回执只表示请求已接受或投递,不代表 AI 已执行成功;需要结果时主动 `session get`。外部调用不提供自动结果回调或 `session watch/watches/unwatch`。 - `session state` 只读返回 `idle`、`running` 或 `waiting_user_action`;后者要求目标用户处理审批、确认或必须回答的问题。查询不唤醒模型、不代替用户批准,`idle` 也不表示任务成功。 - 状态不可读时返回查询错误,可按错误提示重试读取;不要把查询失败解释成目标 idle。 - `session get` 默认返回最近 5 条非空 user/assistant 文本,按旧到新排列;工具调用、thinking 和隐藏协议不会作为正文返回。`isLive=true` 时 `liveSessionState` 投影目标当前状态;`isLive=false` 时它为 `null`,不代表错误。暂时没有新 assistant 正文不等于失败或完成。更早内容按 leaf help 使用 `before` 分页。 - transport failure 或 `admission_unconfirmed` 可能表示结果不确定。保留已取得的 ID 并先查询,**不要自动重发**。 ### Task Center 与自动化 适合创建持久工作项、派发执行、维护状态、查看运行历史,以及配置定时或条件触发。Task 子能力较多,不要一次加载或猜测全部命令。 先从产品说明和 group help 选择路径: ```text <CLI> task readme <CLI> task --help ``` 常用入口: ```text <CLI> task create-direct --help <CLI> task get <taskId> --json <CLI> task runs <taskId> --limit 5 --json ``` - 外部进程没有“当前 MyAgents Workspace/Session”上下文。`task list` 和 `task create-direct` 至少显式提供 `--workspaceId` 或 `--workspacePath` 之一;MyAgents 会补齐并核对这对 identity。不要用 shell cwd 猜目标。 - `task get/start/stop/runs/run/rerun/run-now/update/archive/delete` 等精确 Task ID 操作以该 ID 为 selector,不要求附带当前 workspace;`task remove` 是 `task delete` 的显式兼容别名。Cron 命令不是外部公开面。 - `task readme` 解释 Task/自动化模型;`task --help` 列出当前公开动作;选定动作后再读该 leaf help。 - 调度、trigger、checkpoint、运行控制、状态更新、归档和删除等细节都按需发现,不需要预先注入整张命令表。 - 执行接纳不等于最终成功。使用 `task get` 查看权威状态,使用 `task runs` 查看执行历史。 - 删除等不可逆动作前,核对准确目标并取得用户授权;已有明确授权时不重复确认。 ### Record:轻量记录 适合把想法、材料或待整理的信息先存进 MyAgents,而不是只留在当前聊天里。 ```text <CLI> record --help <CLI> record create --help <CLI> record list --json <CLI> record get <recordId> --json ``` 创建多行、CJK 或包含 shell 元字符的文字时,优先按 leaf help 使用 content-file 输入。外部公开面提供文字 Record 创建、已有文字/音频 Record 的列表与详情读取,以及精确 ID 删除;不提供录音发起、转录任务控制或修改。 确需删除时,先读取详情核对准确目标并取得用户授权,再查 leaf help: ```text <CLI> record delete --help <CLI> record delete <recordId> --json ``` ## 4. 调用边界与失败恢复 - 访问 token 只从 `MYAGENTS_API_TOKEN` 读取。交接 Prompt 是一次性的凭据传递入口;不要在后续 prompt、回复、命令参数、日志、文件或 transcript 中再次传播它。 - 只使用顶层外部帮助展示的命令。token 不会解锁内部命令、内部 Session 身份或隐藏 API;不要探测端口、伪造来源或直连 localhost 管理路由。 - ID 只能来自成功响应或公开 discovery 命令。不要猜 ID,也不要把 Workspace path、显示名称或投递 messageId 当作其它资源的 selector。 - App 不可用时请用户启动 MyAgents;CLI 不会自动启动或聚焦 App。 - 开关关闭或 token 失效时,请用户在「设置 → 外部调用」重新开启或注入当前 token,不要尝试绕过。 - 参数、路径或 lifecycle 冲突时,根据 JSON `code`、错误说明和 suggestion 修正输入。mutation 响应丢失时先用只读命令核实,不自动重放。 外部 token 只用于本机 CLI 访问本机 Host;CLI 可借助 MyAgents Agent 网络委托同账号其它设备上的已开放 Agent。这不提供远程直连 Host 的 HTTP/OpenAPI/SDK/MCP 接口。当前公开面不提供自动结果回调、exactly-once、Provider/MCP/Plugin/Skill/Tool/Channel/Space/Goal/Speech 管理,也不自动创建目录、初始化 Workspace 模板或 Git。目标超出公开帮助时,明确告诉用户需要在 MyAgents App 或 MyAgents 内部 Agent 中完成。
Voir sur GitHub