技能系统使用指南¶
适用范围:独立 Python Runtime。 桌面端操作见 Desktop 使用指南。
Echo Agent 内置 35 个 SKILL.md,分布在 10 个类别。技能是供模型读取的操作说明,可能附带脚本;存在说明文件不表示第三方账户、外部 API 或本地程序已经配置可用。
发现、选择与执行¶
- 启用的技能以名称、类别和描述注入有字符预算的清单;超预算会明确说明省略,模型可用
skills_list查找。 - 模型根据请求选择技能;没有单独的匹配度排序、互斥或触发器引擎。
skill_view读取 SKILL.md 或支持文件,并提示声明的缺失依赖/环境变量;读取不自动安装依赖。skill_run在技能目录中运行脚本,按既有审批门控安装已声明且允许的依赖,受执行开关、工具策略、超时和进程清理约束。
tools.exec.enabled: false 同时关闭技能脚本执行。daemon/public_gateway 默认拒绝 skill_run,需要运行时由操作者明确放行;技能是主机代码,不是 OS 沙箱。禁用技能后,列表、读取与执行都按同一禁用判据处理。
正确的 frontmatter¶
---
name: my-report
version: 1.0.0
description: "Generate a report using an explicitly configured API account."
metadata:
echo:
tags: [Report]
requires:
pip: [httpx]
env: [MY_REPORT_API_KEY]
---
# My Report
Describe the actual script arguments, output files and failure handling here.
类别来自技能目录。metadata.echo.tags 提供标签,依赖由 metadata.echo.requires.pip/requires.bins 声明,凭据键由 metadata.echo.requires.env 声明;插件顶层 requires_env 不是这里的等价写法。安装声明还可使用 metadata.echo.install,须与实际依赖一致。
脚本只继承安全基础环境及显式声明的凭据键,不继承整个 Runtime 环境。通过服务进程环境或受保护的 systemd EnvironmentFile 设置变量,配置树没有通用顶层 env 字段;不要把密钥放在脚本参数中。
内置技能的实际条件¶
| 技能 | 凭据与边界 |
|---|---|
| image-gen | OpenAI 用 OPENAI_API_KEY,Stability 用 STABILITY_API_KEY;其他路径按当前脚本说明 |
| web-search | DuckDuckGo 或配置的 SearXNG;不承诺 SERPAPI/Tavily 集成 |
| tts-voice | Edge TTS 路径无密钥;OpenAI 路径用 OPENAI_API_KEY |
| stocks | 公共行情接口,不强制 ALPHA_VANTAGE_KEY;可用性受对端约束 |
| notion-sync | NOTION_API_TOKEN |
| calendar | CalDAV 地址与账户参数;本地 ICS 示例是独立配方,不是 Google OAuth 集成 |
自动简报、监控、行情提醒等说明中的 YAML 可能是给 Agent/操作者的组合配方,只有脚本明确声明读取的配置才会自动生效。周期执行使用核心 cronjob 创建并授权,结果仍须通过既有投递链路确认。
安装、变更与管理¶
Dashboard Skills 可查看正文/文件/依赖,启停或安装已声明依赖;外部导入和写入使用 admin 权限与技能准入流程。候选、审批、晋升和回滚参见进化与评估。Python 插件注册新工具,技能组合已有工具,两者的信任和生命周期不同。