跳转至

快速开始

本页把 Runtime 交互、非交互计算、HTTP 和 WebSocket 四条路径放在一起。命令中的 数据目录必须是测试专用目录,禁止指向真实身份数据。

Linux 安装

curl -fL https://github.com/weidian-xiang/zava/releases/latest/download/zava_linux-x86_64.elf -o zava.elf
chmod +x zava.elf
mkdir -p mydata && chmod 700 mydata
./zava.elf --version

Windows 安装

Invoke-WebRequest https://github.com/weidian-xiang/zava/releases/latest/download/zava_windows-x86_64.exe -OutFile zava.exe
New-Item -ItemType Directory -Force .\mydata | Out-Null
.\zava.exe --version

第一个对话

Linux:

./zava.elf --name MyAI --data-dir ./mydata --no-http

Windows:

.\zava.exe --name MyAI --data-dir .\mydata --no-http

输入:

你好
/status
/save
/quit

/status 必须显示名称、UUID、运行时间、记忆、技能和交互数;/quit 必须先持久化 再退出。

第一个非交互命令

./zava.elf --name Calc --data-dir ./calc-data --no-http --eval "17*23"

stdout 必须只有 391,退出码必须为 0。--eval 只接受 Runtime 内置表达式,不会 调用 shell。

启动 HTTP 服务

./zava.elf --name WebAI --data-dir ./webdata --http-host 127.0.0.1 --http-port 8080

另一个终端:

curl -s http://127.0.0.1:8080/health
curl -s -X POST http://127.0.0.1:8080/chat -H "Content-Type: application/json" -d '{"message":"你好"}'

健康响应必须为 {"status":"ok","runtime":"Zava"}

连接 WebSocket

浏览器控制台或任意 RFC 6455 客户端:

const ws = new WebSocket("ws://127.0.0.1:8080/ws");
ws.onmessage = event => console.log(event.data);
ws.onopen = () => ws.send("你好");

客户端帧必须带 mask。Runtime 支持文本、二进制、分片、ping/pong 和 close。

下一步