速查表
🔵 快速查找表。完整细节见指定章节。
命令
# Всё — подкоманды единого CLI `agent-os` (подкоманды расширяемы модулями)
# Сервер
agent-os serve # запуск (по умолч. 127.0.0.1:3000)
AGENT_OS_BIND=0.0.0.0:8080 agent-os serve # сменить адрес
# Тестер инструмента (без сервера и LLM)
agent-os tool <tool.yaml> '<json_args>'
# Тестер хука
agent-os hook <hook.yaml> info|user|turn|loop [text...] [--db p] [--live]
# Локальный запуск воркфлоу (agent-шаги используют провайдер)
agent-os module workflow run <workflow.yaml> ['{"input": ...}'] [--args-file args.json]
# Бенчмарк
agent-os bench --url=https://HOST --agent=drom --max=5
agent-os bench --port=3001 --max=3
agent-os bench --url=https://HOST --agent=drom --repeats=3 # 3 прогона, усреднение (pass^N)
# Краулер
agent-os scrape https://site -w 8 -d 3 -n 500
agent-os scrape --analyze site.archive
agent.yaml 字段
| 字段 | 描述 |
|---|---|
name |
模板名称(唯一) |
instructions |
系统提示词 |
welcome |
组件问候语 |
tools |
内置:http_fetch、fs_read、job_done |
tool_files |
YAML 工具路径(相对于 agent 文件夹) |
hooks / hook_files |
钩子名称 / YAML 路径 |
max_context_tokens |
默认 32000 |
max_output_tokens |
每次 inference 的响应上限(按 agent;覆盖 kernel.max_output_tokens) |
model |
来自 server.yaml → models: 的命名模型 |
budget / budget_group |
预算覆盖 / 共享组 |
budget_messages |
session_exhausted、user_exhausted、group_exhausted、rate_limited |
inherit_budget、parent |
进程树 / 组继承 |
durable |
true = 会话在核心重启后存活(opt-in,§27.2) |
telegram |
{token_env, allowed_user_ids, show_typing, show_tool_calls} |
email |
{imap_host, imap_port, imap_username, imap_password_env, allowed_senders, smtp, notify, poll_secs} |
vk |
{token_env, group_id, allowed_user_ids, show_typing, show_tool_calls, poll_wait} |
yandex_messenger |
{token_env, allowed_logins, show_typing, show_tool_calls, poll_secs} |
cron |
定时任务(见 §11) |
output_schema |
JSON Schema → job_done 返回结构化数据(经过校验) |
工具引擎(kind:)
| kind | 用途 |
|---|---|
site_tool |
声明式 HTTP/API 客户端:抓取 + REST(method/body/oauth2)→ 提取字段 → 格式化 |
rest_tool |
site_tool 的别名,用于 REST/API 集成 |
browser_tool |
无头浏览器:JS 网站、步骤(goto/click/type/check)、页面内 JS、截图/PDF |
archive_tool |
搜索/读取本地文本档案 |
json_tool |
搜索预加载的 JSON |
rss_tool |
搜索 RSS 订阅源 |
pdf_tool |
逐页读取 PDF |
trace_tool |
查询 agent 追踪记录 |
geo_tool |
地理编码和 POI(OpenStreetMap) |
rasp_tool |
交通时刻表(Яндекс.Расписания):station_list/search/schedule/thread/nearest_stations |
map_tool |
带标记的地图(Leaflet;提供商 osm/google/yandex/2gis/custom) |
script_tool |
用 JS 或 Rhai 编写自定义逻辑 |
wait_tool |
暂停 N 秒(长操作轮询的计时) |
state_tool |
作用域状态存储(session/user/agent/team) |
table_tool / chart_tool |
静态表格/图表 |
visualize_tool |
从数据(或其他工具的结果)生成图表/表格 |
subagent_tool |
将任务委托给子 agent |
email_tool |
发送邮件(SMTP) |
vk_tool |
调用 VK API:method/params 或 action(send_message/wall_post/search) |
ym_tool |
Яндекс Мессенджер(Bot API):action(send/send_file/get_updates/get_file)、login/chat_id/to |
workflow_tool |
启动工作流 |
duckdb_tool |
自有 DuckDB 数据库:raw query/execute/schema(init、{user}/{session}/{template})或声明式 operations:,无需自由 SQL(emit_visual、sandbox) |
sql_tool |
对外部 PostgreSQL/MySQL 的 SQL 访问(query/execute/schema,按 URL 连接池) |
shell_tool |
启动外部 CLI 命令(命令/args/env 来自 YAML) |
file_tool |
向用户发送文件(content/data/path/temp/state/source) |
office_tool |
通过 OfficeCLI 生成/读取 Word·Excel·PowerPoint(create/fill/extract/convert/edit/merge) |
storage_tool |
S3/WebDAV/FTP 上的文件(list/get/put/delete、prefix) |
calendar_tool |
读取/管理 Google Calendar(服务账号):list_calendars/list/get/create/update/delete/quick_add |
google_tool |
Google Drive/Sheets/Docs/Slides(服务账号,字段 service):action + method/params/body |
yandex_tool |
Яндекс.Диск/Календарь(用户 OAuth,字段 service):action + method/params/body |
vision_tool |
用 vision 模型进行 OCR/图片分析(deepseek-v4-flash-vision-exp):一张或多张图片 + 提示词 |
image_tool |
图片处理(crop/resize/grayscale/rotate/flip/亮度/对比度/blur/format):input(URL / data: / path / temp)、ops(批量)、output?、send? |
根据文本生成图片 — 原生 kind image_gen_tool(默认后端
Pollinations,免费,无需密钥):字段 url_template、style、
model、width/height、send/output。见
5.33。替代方案 — 由两个
工具组成的配方(script_tool generate_image + image_tool image_fetch),
5.32。
工作流步骤(type:)
agent(template/prompt/output_schema)、tool(tool/args)、
saga(steps 带 compensate)、condition(when/then/else)、
for_each(over/item/steps/collect)。
文件位于 config/workflows/*.yaml;启动 POST /v1/workflows/<name>/run。
钩子类型(kind:)
| kind | 用途 |
|---|---|
faq_cache |
响应缓存,重复时跳过 LLM |
inject |
注入上下文消息 |
escalate |
当 agent 无法帮助时转接给人工 |
memory |
针对用户的长期记忆 |
rag |
从档案中检索:将相关分块注入上下文 |
tool_cache |
按 (scope, tool, args) 缓存只读工具的结果 |
link_check |
校验响应中的链接:基于档案的接地,opt-in live HTTP |
condense |
根据历史将 follow-up 转换为独立请求 |
compact_results |
压缩冗长的工具输出(+ spill/read_overflow) |
format_guard |
格式化响应中的链接:bare URL → markdown,去重,逐行 |
loop_guard |
打破工具调用循环:超过阈值时 deny 重试 |
groundedness |
根据档案/工具结果校验响应中的断言;notice/rework |
guard |
DLP 膜:实体检测 + 在输入/输出/工具上的 redact/deny/suppress/notice/rework |
pseudonymize |
向模型发送 [TYPE_n] 的代理值,DuckDB-vault,响应和工具参数的 detoken |
circuit_breaker |
为 agent 配置原生 provider breaker(阈值/cooldown) |
model_router |
基于分类器的模型路由(onnx/llm/hybrid) |
intent_router |
基于分类器的分诊:reply/inject/notice/escalate |
lexicon |
自学习查询规范化器:槽位 + gap + golden 门控 |
script_hook |
用 JS 或 Rhai 编写自定义逻辑 |
site_tool extract 的转换
lookup、truncate、take、skip、len、not_null、bool、int、
filter(模板)、transliterate、strip_html。
预算字段
refill_per_sec(token/秒)、max_bucket(burst)、max_total(生命周期内,
缺失 = 无限制)、warn_at(阈值 on_budget_threshold)。层级:
группа → per_user → per_session。
环境变量
DEEPSEEK_API_KEY / AGENT_OS_API_KEY、AGENT_OS_BIND、
AGENT_OS_TLS_CERT / AGENT_OS_TLS_KEY、
AGENT_OS_CONFIG_REPO / _REF / _DIR / _POLL、AGENT_OS_DISTRIB_DIR。
来自 env 的管理员令牌从 auth.admin_token_env 中指定名称的变量读取
(例如 AGENT_OS_ADMIN_TOKEN);没有此字段时,
该变量将被忽略。
脚本辅助函数(JS 和 Rhai)
http_get(url[,timeout][,headers])、http_post(url,body[,ctype[,timeout[,headers]]])、
http_put/http_patch/http_delete、http(method,url,…)、env_var(name)、
llm(...)、now()、sleep_ms(ms)、print/debug、urlencode/url_encode、
urldecode/url_decode、extract_script_json(html,contains)、
json_get(data,pointer)、schedule_cron/cancel_cron/list_cron、
state_get/state_set/state_push/state_sadd/…、
db_query/db_execute/db_schema、shell。JSON:JS —
JSON.parse/JSON.stringify,Rhai — parse_json/to_json。引擎按
扩展名 .js vs .rhai 选择。
关键 HTTP 端点
/health、/v1/models、/v1/templates、/v1/agents、/v1/sessions、
/v1/agents/:pid/signal(steering)、/v1/budgets、/v1/chat/completions、
/v1/uploads、/v1/input-response、
/widget、/widget.js、
/proxy?url=、/proxy/content?url=、/v1/cron、/v1/workflows、
/v1/workflows/:name/run、/v1/workflows/runs/:id、/v1/inbound/:template。
反应:config/reactions.yaml — 规则 on(kind/template/tool/
content/threshold/idle)→ action(spawn_agent / run_workflow /
call_tool / webhook / signal)。参见 31-reactions。
各部分位置
| 内容 | 路径 |
|---|---|
| 服务器配置 | config/server.yaml |
| 预算 | config/budgets.yaml |
| 代理模板 | config/agents/<name>/agent.yaml |
| 工具 | config/agents/<name>/tools/*.yaml |
| 钩子 | config/agents/<name>/hooks/*.yaml |
| 基准测试 | config/agents/<name>/bench/scenarios.yaml |
| 工具测试 | config/agents/<name>/tests/*.yaml |
| 脚本示例 | config/scripts/ |
| 归档/JSON | data/ |
| 日志/数据库 | logs/ |
| 密钥 | .env |
Live reload
config/agents/**+config/web/**→ 热重载(在kernel.live_reload: true时)。config/server.yaml→ 需要重启。- 已启动的进程保留自生成时刻起的系统提示词。