SuperAPI AI 工具集

agent-cli

智能体与模型

查看项目

更新于 11-02 16:28

技能介绍

Agent CLI 是一套为 Windows 桌面应用添加命令行接口与 MCP 服务器的技能方案,目标是让智能体(如 Claude Code、Codex)和脚本能够完成用户在应用窗口中能做的操作,例如 items add --title "Call the dentist"。其核心设计是一个独立的小型控制台 exe 作为 CLI;每条命令经私有命名管道发给正在运行的应用,在应用内像按下按钮一样执行,窗口随即实时更新。资料说明,WinUI 的 exe 本身不能充当 CLI,因为它是 GUI 程序,cmd 和 PowerShell 不会等待它、没有可读取的退出码、stdout 也不可靠,所以 CLI 是第二个项目 <App>.Cli,编译与主应用相同的命令列表。

入口方式有三种。CLI 面向 Claude Code、Codex、脚本和终端用户,始终随附,智能体可通过 --help 学习,未使用时几乎不占上下文;MCP 服务器(tasks mcp)面向 Claude Desktop 等没有 shell 的客户端,为可选,同样命令每个对应一个工具,注册只需一行;URL 协议(tasks://)面向链接、Stream Deck、PowerToys Run,属于单独工作(os-integrations 技能),因不返回结果,智能体无法使用。CLI 只与运行中的应用通信,不直接操作 SQLite 文件,从而保证只有一个写入者,应用自身的校验与副作用照常执行,窗口立即显示变化;若应用未打开,CLI 会启动它且不抢焦点。

实施步骤方面:先阅读用户故事(docs/stories/),把人的每个操作写成 <noun> <verb> 命令,并标记为 read(随时可安全运行)、write(改数据、可撤销)、destructive(在给出 --yes 前只报告将做什么),并添加 status 和 open <page> 便于智能体了解与操控应用。然后用脚本 add-agent-cli.ps1 复制 src<App>\Agent\ 与 src<App>.Cli\ 等文件、加入解决方案、在 App.xaml.cs 启动管道,并使 build.ps1 将 CLI 安装到 %USERPROFILE%.local\bin<cli-name>.exe。每条命令在两个文件中实现:AgentCommands.cs 定义名称、摘要、参数、完整示例与标记,AgentHandlers.cs 在 UI 线程调用与窗口按钮相同的模型代码,强调不得复制逻辑。智能体接触的模型均有 Guid Id,命令显示前 8 个十六进制字符并接受任意唯一前缀;结果是小 JsonObject,列表支持 --limit/--offset 并返回 total 与 nextOffset;错误抛 AgentError 并给出修复方法。

构建与安装使用 ./build.ps1,随后 <cli-name> help 查看命令;若 shell 找不到 CLI,需先征得用户同意再把目录加入用户 Path 并新开终端。测试脚本 check-agent-cli.ps1 会在 %TEMP% 数据库上启动测试副本,检查 help、JSON 输出、错误码、--no-launch、各读命令、版本一致性以及 MCP 工具列表与一次调用,通过后应打印 PASS agent CLI;写命令需在测试存储上手动各运行一次并观察窗口变化。

还需在应用仓库写 .claude/skills/<cli-name>/SKILL.md 教智能体使用,说明应用是什么、安全规则、主要命令,并提示“run <cli-name> help for the rest”;要在任意文件夹使用可复制到 %USERPROFILE%.claude\skills<cli-name>\,并在应用的 CLAUDE.md 加一行指引。需要 MCP 时可用 claude mcp add 或 codex mcp add 注册,Claude Desktop 则在其配置文件的 mcpServers 下添加 exe 完整路径与 "args": ["mcp"]。完成标准是:第一步列出的所有命令都能通过 CLI 对运行中的应用执行、测试脚本打印 PASS agent CLI、仓库包含第 6 步的技能文件,并且新的 Claude Code 会话能实际完成任务。

限制与适用条件:该方案明确针对用项目模板构建的 Windows 应用,其他应用需参照脚本手工完成;URL 协议不返回结果,不适合智能体;对已发布应用的收费、价格与平台支持范围,资料未提供。