Eliza🏁 开始⭐ 快速入门

快速入门指南

先决条件

在开始使用 Eliza 之前,请确保你具备以下条件:

安装

  1. 克隆并安装

请务必查看 最新可用的稳定版本标签 是什么。

克隆仓库:

git clone https://github.com/elizaOS/eliza.git

进入目录:

cd eliza

切换到最新的标记版本:

# 检出最新版本
# 这个项目更新很快,所以我们建议检出最新版本
git checkout $(git describe --tags --abbrev=0)

安装依赖项(首次运行时):

pnpm install --no-frozen-lockfile

关于 pnpm lockfile 管理的重要说明

默认情况下,基于 .npmrcfrozen-lockfile=true 的设置,在安装过程中 lockfile 文件(pnpm-lock.yaml)不会更新。若要更新 lockfile 文件,你需要运行以下命令:

pnpm install --no-frozen-lockfile

请仅在首次初始化仓库、更新依赖包的版本或向 package.json 添加新依赖包时使用此命令。这种做法有助于保持项目依赖项的一致性,防止 lockfile 发生意外更改。

构建本地库:

pnpm build
  1. 配置环境变量

复制示例环境变量文件:

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 密钥(用于语音)
LIVEPEER_GATEWAY_URL=    # Livepeer gateway URL

选择你的模型

Eliza 支持多种 AI 模型:

  • Heurist:在你的角色文件中设置 modelProvider: "heurist"。大多数模型无审查限制。
    • LLM(大语言模型):在 此处 选择可用的大语言模型,并配置 SMALL_HEURIST_MODELMEDIUM_HEURIST_MODELLARGE_HEURIST_MODEL
    • 图像生成:在 此处 选择可用的 Stable Diffusion 或 Flux 模型,并配置 HEURIST_IMAGE_MODEL(默认值为 FLUX.1-dev)。
  • Llama:设置 XAI_MODEL=meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo
  • Grok:设置 XAI_MODEL=grok-beta
  • OpenAI:设置 XAI_MODEL=gpt-4o-minigpt-4o
  • Livepeer: 将 LIVEPEER_IMAGE_MODEL 设为你所选择的 Livepeer 图像生成模型。你可以在 此处 查看可用的模型。

你可以在角色 JSON 文件中设置要使用的模型。

本地推理

对于 llama_local 推理:

  1. XAI_MODEL 设置为你选择的模型。
  2. 留空 X_SERVER_URLXAI_API_KEY
  3. 系统将自动从 Hugging Face 下载模型。
  4. LOCAL_LLAMA_PROVIDER 可以留空。

注意:llama_local 需要 GPU,目前无法使用 CPU 进行推理。

对于 Ollama 推理:

  • 如果 OLLAMA_SERVER_URL 留空,默认值为 localhost:11434
  • 如果 OLLAMA_EMBEDDING_MODE 留空,默认值为 mxbai-embed-large

创建你的第一个智能体

  1. 创建角色文件

查看 characters/trump.character.jsoncharacters/tate.character.json,以此作为模板来复制和自定义智能体的个性与行为。

此外,你可以阅读 packages/core/src/defaultCharacter.ts(这份建议适用于版本 0.0.10。重构后这份文件将位于 packages/core/src/defaultCharacter.ts)。

📝 角色文件文档

  1. 启动智能体

告知系统你想要运行的角色:

pnpm start --character="characters/trump.character.json"

你也可以使用 characters 选项加载多个角色,角色之间用逗号分隔:

pnpm start --characters="characters/trump.character.json,characters/tate.character.json"
  1. 与智能体交互

现在你可以开始与智能体对话了!打开一个新的终端窗口:

pnpm start:client

客户端运行后,你会看到类似这样的消息:

➜  Local:   http://localhost:5173/

只需点击链接,或在浏览器中打开 http://localhost:5173/。你会看到聊天界面连接到系统,然后就可以开始与你的角色进行交互了。

平台集成

Discord 机器人设置

  1. Discord 开发者门户 创建一个新应用程序。
  2. 创建一个机器人并获取令牌。
  3. 使用 OAuth2 URL 生成器将机器人添加到你的服务器。
  4. .env 中设置 DISCORD_API_TOKENDISCORD_APPLICATION_ID

Twitter 集成

.env 中添加以下内容:

TWITTER_USERNAME=  # 账号用户名
TWITTER_PASSWORD=  # 账号密码
TWITTER_EMAIL=     # 账号邮箱

重要提示:登录 Twitter 开发者门户,并为你的账号启用 “Automated” 标签,以避免被标记为不真实账号。

Telegram 机器人

  1. 创建一个机器人。
  2. 将你的机器人令牌添加到 .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"

常见问题及解决方案

  1. Node.js 版本

    • 确保已安装 Node.js 23.3.0。
    • 使用 node -v 检查版本。
    • 考虑使用 nvm 来管理 Node 版本。

    注意:pnpm 可能会捆绑一个不同版本的 Node.js,从而忽略 nvm。如果遇到这种情况,你可以使用以下命令强制指定正确的版本:

    pnpm env use --global 23.3.0
  2. Sharp 安装问题 如果你遇到与 Sharp 相关的错误:

pnpm install --include=optional sharp
  1. CUDA 设置问题

    • 验证 CUDA Toolkit 的安装。
    • 检查 GPU 与 CUDA Toolkit 的兼容性。
    • 确保设置了正确的环境变量。
  2. 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
  1. 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

后续步骤

智能体运行起来后,你可以探索以下内容:

  1. 🤖 了解智能体
  2. 📝 创建自定义角色
  3. 添加自定义动作
  4. 🔧 高级配置

如需详细的 API 文档、故障排除和高级功能,请查看我们的 完整文档

加入我们的 Discord 社区 获取支持和更新!