用途:在 scripts/ 目录中把智能体需要执行的复杂操作实现为脚本,智能体通过 pnpm script <name> 调用。这样可为智能体提供带结构化输入输出的可调用工具,保持聊天上下文整洁,脚本可复用且能独立测试。
主要能力与用法:新建 scripts/my-script.ts,从 @agent-native/core 导入 parseArgs、loadEnv、fail、agentChat 等工具,默认导出一个接收 args 的异步函数。用 parseArgs() 解析 --key value 参数,用 loadEnv() 加载环境变量,用 fail() 输出友好错误,用 agentChat.submit() 把结果或错误回报到智能体聊天,结果写入文件供文件监听器拾取。运行命令:pnpm script my-script --input data/source.json --output data/result.json。默认模板在 scripts/run.ts 中使用 core 的 runScript(),脚本名须为小写并用连字符。
指南:一个脚本只做一件事;不要本地重复定义 parseArgs() 等工具;结果写入 data/ 下路径以便 UI 更新。常见模式包括 API 集成脚本(如调用图像生成 API 并保存图片)和数据处理脚本。
限制与排错:脚本未找到时检查文件名与命令名是否完全一致;参数不解析时确认使用 --key value 或 --key=value 格式,布尔标志用 --flag;脚本运行但 UI 未更新时确认结果写在文件监听器监控的 data/ 路径下。相关技能包括 files-as-database、delegate-to-agent、sse-file-watcher。