eve-compat

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Deploy eve projects on Zavu

在Zavu上部署eve项目

Zavu compiles an eve-layout project into a first-class Zavu agent. The user's files are never edited:
agent/instructions.md
becomes the system prompt, each
agent/tools/<name>.ts
becomes a tool named
<name>
, and Zod
inputSchema
objects are converted to JSON Schema automatically.
Zavu会将eve-layout项目编译为一等Zavu Agent。用户的文件不会被修改:
agent/instructions.md
会成为system prompt,每个
agent/tools/<name>.ts
会成为名为
<name>
的工具,Zod的
inputSchema
对象会自动转换为JSON Schema。

Commands

命令

sh
undefined
sh
undefined

Import from GitHub and deploy in one step (also works for Zavu-native repos):

从GitHub导入并一步完成部署(同样适用于Zavu原生仓库):

npx zavudev import owner/repo --sender sndr_123 npx zavudev import owner/repo#branch --root apps/agent # monorepo / branch
npx zavudev import owner/repo --sender sndr_123 npx zavudev import owner/repo#branch --root apps/agent # 单体仓库 / 指定分支

Private repos: set GITHUB_TOKEN in the environment (sent only to GitHub).

私有仓库:在环境中设置GITHUB_TOKEN(仅发送给GitHub)。

Deploy a local eve project (detected by agent/instructions.md):

部署本地eve项目(通过agent/instructions.md自动检测):

cd my-eve-agent && npx zavudev deploy --sender sndr_123

The sender can come from `--sender` (inlined at compile time) or the
`SENDER_ID` function secret (`npx zavudev fn secrets set SENDER_ID sndr_123`).
Without either, the agent deploys but stays disconnected until a sender is
attached in the dashboard.
cd my-eve-agent && npx zavudev deploy --sender sndr_123

Sender信息可来自`--sender`参数(编译时内联)或`SENDER_ID`函数密钥(`npx zavudev fn secrets set SENDER_ID sndr_123`)。如果两者都未设置,Agent会完成部署但保持断开状态,直到在控制台中绑定Sender。

What maps

映射关系

eveZavu
agent/instructions.md
system prompt (required)
agent/agent.ts
string
model
agent model; non-string configs (provider instances,
defineDynamic
) fall back to the default with a warning
agent/tools/*.ts
(default-export
defineTool
)
tools, named by filename stem
Zod / JSON Schema
inputSchema
JSON Schema
parameters
package.json
dependencies
installed server-side; the
eve
package itself is compiled away
eveZavu
agent/instructions.md
system prompt(必填)
agent/agent.ts
中的字符串
model
Agent模型;非字符串配置(如提供商实例、
defineDynamic
)会回退到默认值并发出警告
agent/tools/*.ts
(默认导出
defineTool
工具,按文件名主干命名
Zod / JSON Schema
inputSchema
JSON Schema
parameters
package.json
中的依赖
在服务器端安装;
eve
包本身会被编译移除

What does NOT run on Zavu (always tell the user)

Zavu不支持的功能(务必告知用户)

The deploy prints a compatibility report; these produce explicit warnings:
  • agent/channels/
    — unnecessary: Zavu senders are the channels.
  • agent/schedules/
    — cron is not available on Zavu Functions yet.
  • agent/skills/
    — not loaded at runtime; fold content into
    instructions.md
    or a knowledge base.
  • agent/subagents/
    ,
    agent/sandbox/
    ,
    agent/connections/
    ,
    evals/
    — not supported. Agents that depend on them should run on eve's own runtime.
  • Tool
    approval
    gates and
    toModelOutput
    — ignored per tool, with warnings.
  • agent.ts
    options
    reasoning
    ,
    compaction
    ,
    limits
    ,
    modelOptions
    ,
    outputSchema
    — ignored, with warnings.
Tools run on every channel — plain text (SMS/WhatsApp/Telegram), voice, and flow
tool
steps — with up to 5 tool rounds per reply. The one exception is
agents test
: a dry run never executes tools (that would fire real webhooks) and says so in its warnings.
部署过程会生成兼容性报告,以下情况会触发明确警告:
  • agent/channels/
    — 无需使用:Zavu的Sender即为渠道。
  • agent/schedules/
    — Zavu Functions目前不支持定时任务(cron)。
  • agent/skills/
    — 运行时不会加载;请将内容合并到
    instructions.md
    或知识库中。
  • agent/subagents/
    agent/sandbox/
    agent/connections/
    evals/
    — 不支持。依赖这些功能的Agent应运行在eve自身的运行时环境中。
  • 工具的
    approval
    校验和
    toModelOutput
    — 会被忽略,并针对每个工具发出警告。
  • agent.ts
    中的
    reasoning
    compaction
    limits
    modelOptions
    outputSchema
    选项 — 会被忽略,并发出警告。
工具可在所有渠道运行——纯文本(SMS/WhatsApp/Telegram)、语音以及流程
tool
步骤——每次回复最多支持5轮工具调用。唯一例外是
agents test
:试运行永远不会执行工具(避免触发真实Webhook),并会在警告中说明这一点。

Requirements and troubleshooting

要求与故障排查

  • Compiling an eve layout needs
    esbuild
    resolvable in the project (
    npm install -D esbuild
    ).
    npx zavudev import
    adds and installs it automatically; only
    --no-install
    skips that.
  • inputSchema
    must be an object schema —
    z.object({...})
    or a JSON Schema with
    type: "object"
    . Exotic Zod types fall back to a permissive schema with a warning in the build logs.
  • After deploying:
    npx zavudev agents list
    for the agent id, then
    npx zavudev agents test <agentId> --message "hi"
    for a dry run that delivers nothing and charges nothing.
  • Redeploy after edits with
    npx zavudev deploy
    — the reconcile summary (
    +
    /
    ~
    /
    =
    /
    -
    ) is the source of truth for what changed.
  • 编译eve布局需要项目中可解析到
    esbuild
    (执行
    npm install -D esbuild
    安装)。
    npx zavudev import
    会自动添加并安装它;仅当使用
    --no-install
    参数时才会跳过此步骤。
  • inputSchema
    必须是对象模式——
    z.object({...})
    或带有
    type: "object"
    的JSON Schema。特殊Zod类型会回退到宽松模式,并在构建日志中发出警告。
  • 部署完成后:使用
    npx zavudev agents list
    获取Agent ID,然后执行
    npx zavudev agents test <agentId> --message "hi"
    进行试运行,此操作不会发送消息也不会产生费用。
  • 修改后重新部署执行
    npx zavudev deploy
    ——协调摘要(
    +
    /
    ~
    /
    =
    /
    -
    )是变更内容的权威来源。