快速入门指南
先决条件
在开始使用 Eliza 之前,请确保你具备以下条件:
- Node.js 23+
- pnpm 9+
- 用于版本控制的 Git
- 一款代码编辑器(推荐使用 VS Code 或 VSCodium)
- CUDA 工具包(可选,用于 GPU 加速)
安装
- 克隆并安装
请务必查看 最新可用的稳定版本标签 是什么。
克隆仓库:
git clone https://github.com/elizaOS/eliza.git进入目录:
cd eliza切换到最新的标记版本:
# 检出最新版本
# 这个项目更新很快,所以我们建议检出最新版本
git checkout $(git describe --tags --abbrev=0)安装依赖项(首次运行时):
pnpm install --no-frozen-lockfile关于 pnpm lockfile 管理的重要说明
默认情况下,基于
.npmrc中frozen-lockfile=true的设置,在安装过程中 lockfile 文件(pnpm-lock.yaml)不会更新。若要更新 lockfile 文件,你需要运行以下命令:pnpm install --no-frozen-lockfile请仅在首次初始化仓库、更新依赖包的版本或向
package.json添加新依赖包时使用此命令。这种做法有助于保持项目依赖项的一致性,防止 lockfile 发生意外更改。
构建本地库:
pnpm build- 配置环境变量
复制示例环境变量文件:
cp .env.example .env编辑 .env 并添加你的值:
# 建议的快速入门环境变量
DISCORD_APPLICATION_ID= # Discord 应用 ID
DISCORD_API_TOKEN= # Discord API 令牌
HEURIST_API_KEY= # 用于 LLM 和图像生成的 Heurist API 密钥
OPENAI_API_KEY= # OpenAI API 密钥
GROK_API_KEY= # Grok API 密钥
ELEVENLABS_XI_API_KEY= # 来自 elevenlabs 的 API 密钥(用于语音)选择你的模型
Eliza 支持多种 AI 模型:
- Heurist:在你的角色文件中设置
modelProvider: "heurist"。大多数模型无审查限制。 - Llama:设置
XAI_MODEL=meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo。 - Grok:设置
XAI_MODEL=grok-beta。 - OpenAI:设置
XAI_MODEL=gpt-4o-mini或gpt-4o。
你可以在角色 JSON 文件中设置要使用的模型。
本地推理
对于 llama_local 推理:
- 将
XAI_MODEL设置为你选择的模型。 - 留空
X_SERVER_URL和XAI_API_KEY。 - 系统将自动从 Hugging Face 下载模型。
LOCAL_LLAMA_PROVIDER可以留空。
注意:llama_local 需要 GPU,目前无法使用 CPU 进行推理。
对于 Ollama 推理:
- 如果
OLLAMA_SERVER_URL留空,默认值为localhost:11434。 - 如果
OLLAMA_EMBEDDING_MODE留空,默认值为mxbai-embed-large。
创建你的第一个智能体
- 创建角色文件
查看 characters/trump.character.json 或 characters/tate.character.json,以此作为模板来复制和自定义智能体的个性与行为。
此外,你可以阅读 packages/core/src/defaultCharacter.ts。
📝 角色文件文档
- 启动智能体
告知系统你想要运行的角色:
pnpm start --character="characters/trump.character.json"你也可以使用 characters 选项加载多个角色,角色之间用逗号分隔:
pnpm start --characters="characters/trump.character.json,characters/tate.character.json"- 与智能体交互
现在你可以开始与智能体对话了!
打开一个新的终端窗口:
pnpm start:client客户端运行后,你会看到类似这样的消息:
➜ Local: http://localhost:5173/只需点击链接,或在浏览器中打开 http://localhost:5173/。你会看到聊天界面连接到系统,然后就可以开始与你的角色进行交互了。
平台集成
Discord 机器人设置
- 在 Discord 开发者门户 创建一个新应用程序。
- 创建一个机器人并获取令牌。
- 使用 OAuth2 URL 生成器将机器人添加到你的服务器。
- 在
.env中设置DISCORD_API_TOKEN和DISCORD_APPLICATION_ID。
Twitter 集成
在 .env 中添加以下内容:
TWITTER_USERNAME= # 账号用户名
TWITTER_PASSWORD= # 账号密码
TWITTER_EMAIL= # 账号邮箱
TWITTER_COOKIES= # 账号 cookies(auth_token 和 CT0)重要提示:登录 Twitter 开发者门户,并为你的账号启用 “Automated” 标签,以避免被标记为不真实账号。
TWITTER_COOKIES 示例
TWITTER_COOKIES 变量应该是一个包含必要 cookies 的 JSON 字符串。你可以在浏览器的开发者工具中找到这些 cookies。以下是一个示例格式:
TWITTER_COOKIES='[{"key":"auth_token","value":"你的 token","domain":".twitter.com"},
{"key":"ct0","value":"你的 ct0","domain":".twitter.com"},
{"key":"guest_id","value":"你的 guest_id","domain":".twitter.com"}]'Telegram 机器人
- 创建一个机器人。
- 将你的机器人令牌添加到
.env中:
TELEGRAM_BOT_TOKEN= #你的令牌可选:GPU 加速
如果你有 NVIDIA GPU:
# 安装 CUDA 支持
npx --no node-llama-cpp source download --gpu cuda
# 确保已安装 CUDA 工具包、cuDNN 和 cuBLAS基本使用示例
与你的智能体聊天
# 启动聊天界面
pnpm start运行多个智能体
pnpm start --characters="characters/trump.character.json,characters/tate.character.json"常见问题及解决方案
-
Node.js 版本
- 确保已安装 Node.js 23.3.0。
- 使用
node -v检查版本。 - 考虑使用 nvm 来管理 Node 版本。
-
Sharp 安装问题 如果你遇到与 Sharp 相关的错误:
pnpm install --include=optional sharp-
CUDA 设置问题
- 验证 CUDA 工具包的安装。
- 检查 GPU 与工具包的兼容性。
- 确保设置了正确的环境变量。
-
Exit Status 1
如果你看到:
triggerUncaughtException(
^
[Object: null prototype] {
[Symbol(nodejs.util.inspect.custom)]: [Function: [nodejs.util.inspect.custom]]
}你可以尝试以下步骤,这些步骤旨在将 @types/node 添加到项目的各个部分:
# 将依赖项添加到工作区根目录
pnpm add -w -D ts-node typescript @types/node
# 专门将依赖项添加到智能体包
pnpm add -D ts-node typescript @types/node --filter "@ai16z/agent"
# 也将其添加到核心包,因为那里也需要
pnpm add -D ts-node typescript @types/node --filter "@ai16z/eliza"
# 首先清理所有内容
pnpm clean
# 递归安装所有依赖项
pnpm install -r
# 构建项目
pnpm build
# 然后尝试启动
pnpm start- better sqlite3 编译的 Node.js 版本不同 如果你看到:
Error starting agents: Error: The module '.../eliza-agents/dv/eliza/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 131. This version of Node.js requires
NODE_MODULE_VERSION 127. Please try re-compiling or re-installing你可以尝试以下操作,这将尝试重新构建 better-sqlite3:
pnpm rebuild better-sqlite3如果这不起作用,尝试清除根目录中的 node_modules:
rm -fr node_modules; pnpm store prune然后重新安装所需的依赖项:
pnpm i后续步骤
智能体运行起来后,你可以探索以下内容:
如需详细的 API 文档、故障排除和高级功能,请查看我们的 完整文档。
加入我们的 Discord 社区 获取支持和更新!