代码

cookbook/apps/discord/agent_with_user_memory.py
from textwrap import dedent

from agno.agent import Agent
from agno.app.discord import DiscordClient
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.manager import MemoryManager
from agno.memory.v2.memory import Memory
from agno.models.google import Gemini
from agno.storage.sqlite import SqliteStorage
from agno.tools.googlesearch import GoogleSearchTools

agent_storage = SqliteStorage(
    table_name="agent_sessions", db_file="tmp/persistent_memory.db"
)
memory_db = SqliteMemoryDb(table_name="memory", db_file="tmp/memory.db")

memory = Memory(
    db=memory_db,
    memory_manager=MemoryManager(
        memory_capture_instructions="""\
                        收集用户的姓名,
                        收集关于用户热情和爱好信息,
                        收集关于用户喜好信息,
                        收集关于用户目前生活的信息
                    """,
        model=Gemini(id="gemini-2.0-flash"),
    ),
)


# 重置此示例的记忆
memory.clear()

personal_agent = Agent(
    name="Basic Agent",
    model=Gemini(id="gemini-2.0-flash"),
    tools=[GoogleSearchTools()],
    add_history_to_messages=True,
    num_history_responses=3,
    add_datetime_to_instructions=True,
    markdown=True,
    memory=memory,
    enable_agentic_memory=True,
    instructions=dedent("""
        你是一个用户的私人 AI 朋友,你的目的是与用户聊天并让他们感到高兴。
        首先介绍你自己,然后询问用户的名字,接着询问关于他们自己、他们的爱好、他们喜欢做什么以及他们喜欢谈论什么。
        使用 Google Search 工具来查找对话中内容的最新信息
                        """),
    debug_mode=True,
)

discord_agent = DiscordClient(personal_agent)
if __name__ == "__main__":
    discord_agent.serve()

用法

1

创建虚拟环境

打开 Terminal 并创建一个 python 虚拟环境。

python3 -m venv .venv
source .venv/bin/activate
2

设置你的 API 密钥

export GOOGLE_API_KEY=xxx
export DISCORD_BOT_TOKEN=xxx
3

安装库

pip install -U agno google-generativeai discord.py
4

运行 Agent

python cookbook/apps/discord/agent_with_user_memory.py