> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 具备用户记忆的 Agent

## 代码

```python cookbook/apps/discord/agent_with_user_memory.py theme={null}
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()
```

## 用法

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="设置你的 API 密钥">
    ```bash theme={null}
    export GOOGLE_API_KEY=xxx
    export DISCORD_BOT_TOKEN=xxx
    ```
  </Step>

  <Step title="安装库">
    ```bash theme={null}
    pip install -U agno google-generativeai discord.py
    ```
  </Step>

  <Step title="运行 Agent">
    <CodeGroup>
      ```bash Mac theme={null}
      python cookbook/apps/discord/agent_with_user_memory.py
      ```

      ```bash Windows theme={null}
      python cookbook/apps/discord/agent_with_user_memory.py
      ```
    </CodeGroup>
  </Step>
</Steps>
