@erdoai/ cli (英语)
Erdo CLI——从终端或CI驾驶等离子体(和更多),在相同处 /v1
REST API是MCP工具使用的.
安装
npm install -g @erdoai/cli # global; then run `erdo`
npx @erdoai/cli --help # or run without installing
erdo update # self-update to the latest published version
需要节点.js 22.13+. 用户界面安装文件 : https://docs.erdo.ai/cli 互联网档案馆的存檔,存档日期2013-12-21
当发布较新的版本时,每个命令都会打印出一行 标准
命名已安装的版本并 erdo update它在Stderr上 所以Stdout留下
干净 JSON 用于脚本和代理, 已发布的版本会在磁盘上记住
每天重新检查一次 无法到达的登记簿上什么也没有说
都说吧 设定 ERDO_NO_UPDATE_NOTIFIER=1 让它安静下来 一个老建筑 --help 实值
正确自己,错误的产品,这就是失败
通知已经存在以停止.
认证
多账户,比如 gh。登录一个 API 密钥( 在 Erdo 中创建); 它被存储
每个账户 ~/.config/erdo/config.json 并绑在你的活跃的兽.
erdo login # browser sign-in (mints + stores a token)
erdo login --key erdo_api_... # headless/CI: paste an API key instead
erdo whoami # active account + org
erdo auth status # all accounts (* = active)
erdo auth switch [email] # switch active account (auto-toggles with two)
erdo logout [email]
erdo org list # your orgs (* = active)
erdo org use [id|slug] # set the active org for this account
erdo --org acme eval suites # one-off override for a single command
CI/scripting 的封面覆盖 : ERDO_API_KEY, (中文(简体) ), ERDO_ORG, (中文(简体) ), ERDO_API_URL, (中文(简体) ),
ERDO_ACCOUNT。 。 。 .
数据集
读取一个数据集的两种方式,而区别很重要.
datasets fetch 读取. 你写SQL,所以相同的命令给出
每次使用相同的一行——用于任何机械,脚本,或运行于
一个特工 它的答案为 {columns, rows, row_count}。 。 。 .
erdo --org 2200-brickell datasets fetch 2200-brickell.page-events \
--sql "SELECT event, count(*) FROM data GROUP BY 1 ORDER BY 2 DESC" --limit 20
erdo datasets fetch acme.leads --limit 50 # no SQL: just the rows
erdo datasets fetch acme.leads --filter <name> # opt into a saved filter
这个表格是命名的 data 用于文件数据集(CSV、Excel和任何东西)
由事件管道所写),无论数据集的弹簧,它都是名称
或资源密钥, 和它是不可猜测的, 所以这是第一个得到正确.
柱子也是无法猜到的,所以在您写 SQL 之前请看:
erdo datasets schema acme.leads # column names and types
datasets schema 读取存储的表格本身,从而显示列
事实上,那些 fetch --sql 可参考——而不是
可能落后于最近写作内容的计划.
数据库和仓库数据集通过其真实的表格名称进行查询,其中
来源于数据集的策略. SQL方言为DuckDB. 数据集的默认值
过滤器适用于每个读数; --filter <name> 在顶部添加已保存的过滤器,以及
更窄——一个命名过滤器从不绕过默认. 见
erdo datasets filter list <slug> 用于提供数据集的名称.
datasets query 是自然语言的包装. Erdo 写和运行
SQL为您服务,并用SQL与值并列的回答,所以它是一个
当您还不知道数据形状时,您可以到达。 它运行一个特工,所以它
速度较慢,而且没有确定性——两个相同的问题可以产生两个
不同的询问.
erdo --org 2200-brickell datasets query 2200-brickell.page-events \
"which pages get the most views, and how many convert?"
一个文件数据集保留了它过度渲染的版本. 其内装物被储存,以及
每个替换它们的写法都保留它所替换的版本,所以导入
坏一排在好一排上 没有摧毁它们。 列出版本,然后
读回一个 fetch 同样的SQL,你会运行 与活台.
erdo datasets revisions acme.leads # live version first, then superseded
erdo datasets fetch acme.leads --revision <id> \
--sql "SELECT * FROM data" # query those older contents
历史是只读的:这里没有将一个数据集卷回. 恢复意味着 从旧版本中取出行并再次通过 普通写入路径.
erdo datasets list # slug, type, status, class, name
erdo datasets upload ./leads.csv # create a dataset from a file
代理页面( P)
erdo agent ask "what was revenue last week?" --datasets sales
erdo threads create --name "landing build" # -> thread id
erdo agent send <thread> "Build a landing page for ACME ..." --agent erdo.artifact-builder
erdo agent send <thread> "What should I do next?" --context "Current screen: checkout experiment"
erdo agent send <thread> "Summarize the existing data" --read-only
erdo pages deploy --title "ACME" --html @page.html --js @page.js --public
erdo pages list --type html_page
erdo pages get <artifact-id>
--html/--js/--css 接受 @path 读取文件。 向线索发送消息
运行一个代理——这也是造出文物者如何从简报中产生一页.
使用 --read-only 以限制默认 erdo.data-question-answerer 转向
只读代理工具。 其他特工被拒绝,旗被省去
默认, 因此已有的发送保留其行为 .
erdo runs list --agent erdo.artifact-builder --status failed # inspect agent runs
erdo runs get <run-id>
爱德华
erdo eval suites # list suites (slug, agent, artifact?)
erdo eval suite landing-variations # show a suite + its cases
erdo eval run landing-variations --watch # run it and poll until done
erdo eval results <run-id> # per-case scores + lenses
erdo eval runs --suite landing-variations # recent runs
# maintain the corpus
erdo eval case add landing-variations \
--name "voice-concierge" \
--input "Build a landing page for ACME with a voice concierge (agent id abc123) ..." \
--rubric '[{"criterion":"voice widget loads and is on-brand","weight":2},{"criterion":"hero + form render correctly","weight":1}]'
erdo eval case rm landing-variations voice-concierge
--watch 如果运行不完全干净,则退出非零,所以它作为双倍
CI门.
开发
npm install # or yarn
npm run dev eval suites # run from source (tsx)
npm run build:check # typecheck
npm run build # bundle to dist/ (bin: erdo)
释放
版本在 cli/package.json 是释放. 把它装进同一个公关
变化(样本: feat - 未成年人, fix • 补丁和合并;
.github/workflows/publish-cli.yml 出版任何内容 main 说和标记
结果。 没有标记可以记住
0.5.1 期间 package.json 改为0.23.0,每个工作引擎命令都是
任何安装它的人都无法到达.
npm本身是守护者:一个已经发布的版本在它之前就停止了工作
建筑,所以 cli/ 变换时没有起伏, 重新运行, 并返回所有不操作。 A 类
变动 cli/ 船不会撞到任何人.