跳转至

技能系统使用指南

适用范围:独立 Python Runtime。 桌面端操作见 Desktop 使用指南。

Echo Agent 内置 35 个 SKILL.md,分布在 10 个类别。技能是供模型读取的操作说明,可能附带脚本;存在说明文件不表示第三方账户、外部 API 或本地程序已经配置可用。

发现、选择与执行

  1. 启用的技能以名称、类别和描述注入有字符预算的清单;超预算会明确说明省略,模型可用 skills_list 查找。
  2. 模型根据请求选择技能;没有单独的匹配度排序、互斥或触发器引擎。
  3. skill_view 读取 SKILL.md 或支持文件,并提示声明的缺失依赖/环境变量;读取不自动安装依赖。
  4. 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 插件注册新工具,技能组合已有工具,两者的信任和生命周期不同。