這份文件給第一次碰 Docker 和 AgentOS 的同學,照做就能把 baseline 跑起來。
你要完成的目標:
- 本機 API 跑起來
- 在 os.agno.com 連上你的本機 AgentOS
- 看到
knowledge-agent與mcp-agent
- 已安裝 Docker Desktop
- 已安裝 Git(如果你要用 git clone)
如果你是第一堂課沒來,先去 Google AI Studio 申請 Gemini API Key:
- 打開 https://aistudio.google.com/
- 登入 Google 帳號
- 建立 API Key
- 複製 key,等等會放到
.env
git clone <你的repo網址>
cd agentos-docker- 在 GitHub 按
Code->Download ZIP - 解壓縮
- 用 Terminal 進到解壓後的
agentos-docker
cd agentos-docker在專案根目錄建立或修改 .env,至少有這兩行:
GOOGLE_API_KEY=你的_gemini_api_key
AGNO_MODEL_ID=gemini-2.5-flash注意:
=左右不要有空格- 不要用舊模型
gemini-2.0-flash
docker compose up -d --build若你看到:
Cannot connect to the Docker daemon ... Is the docker daemon running?
代表 Docker Desktop 還沒啟動。
請做:
- 點兩下開啟 Docker Desktop App
- 等到 Docker 完全啟動(圖示顯示 running)
- 再重跑
docker compose up -d --build
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'你應該至少看到:
agentos-db狀態是Up ...agentos-api狀態是Up ...
如果 agentos-api 是 Restarting ...,代表有錯,還沒成功。
常見訊息:
Container ... is restarting, wait until the container is running
這句話不是要你一直等,通常代表容器啟動就崩潰。
請立刻看 log:
docker compose logs --no-color --tail=100 agentos-api如果你看到:
exec /app/scripts/entrypoint.sh: permission denied
請執行:
chmod +x scripts/entrypoint.sh
docker compose up -d --build --force-recreate --no-deps agentos-api然後再檢查:
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'curl http://127.0.0.1:8000/health預期看到類似:
{"status":"ok", ...}docker exec -it agentos-api python -m agents.knowledge_agent成功會看到類似:
INFO Adding content from URL ...
INFO Upserted batch of 1 documents.
課堂使用的是雲端介面,不是 localhost 畫面。
- 打開 https://os.agno.com
- 登入後選
Connect your AgentOS - 自己幫這個連線取一個名字(例如
my-local-agentos) - URL 輸入:
http://localhost:8000
連線成功後,你會在 os.agno.com 看到:
knowledge-agentmcp-agent
這兩個 agent 是在 os.agno.com 裡面看,不是在 http://localhost:8000 頁面看。
先不要改任何程式,先確認 baseline 可跑。
在 AgentOS UI 中操作:
- 選
knowledge-agent - 輸入:
What is Agno?
預期:
- 會得到一段關於 Agno 的介紹
- 會提到
Framework、Runtime、Control Plane - 會顯示來源或相關依據
在 AgentOS UI 中操作:
- 選
mcp-agent - 輸入:
What tools do you have access to?
預期:
- 會說明可用工具
- 回答風格和
knowledge-agent不同
如果 os.agno.com 無法正常連線,再使用這個備援方案。
如果本機還沒有安裝 UI 需要的套件:
pip install gradio requests啟動 UI:
python ui/app.py打開瀏覽器:
http://localhost:7860
用途:
- 查已載入的知識庫內容
適合問題:
What is Agno?How do I create my first agent?What documents are in your knowledge base?
用途:
- 用 MCP tool 查 Agno 文件
適合問題:
What tools do you have access to?Find examples of agents with memory.Search the docs for how to use LearningMachine.
至少要做到:
- 成功啟動
agentos-api - 成功載入知識庫文件
- 成功問
knowledge-agent - 成功問
mcp-agent
完成這些後,才進入延伸實作。
The "OPENAI_API_KEY" variable is not set. Defaulting to a blank string.
通常可先忽略(本課程主要用 GOOGLE_API_KEY)。
Cannot connect to the Docker daemon ...
Docker Desktop 沒啟動,請先開 app。
exec /app/scripts/entrypoint.sh: permission denied
請執行 chmod +x scripts/entrypoint.sh 後重建容器(docker compose down -> docker compose up)。
docker ps檢查agentos-api是否Up(不是Restarting)docker compose logs --tail=100 agentos-api看最後錯誤curl http://127.0.0.1:8000/health看 API 是否回應docker exec agentos-api printenv GOOGLE_API_KEY看 key 是否有讀進去- 確認
.env用的是AGNO_MODEL_ID=gemini-2.5-flash - 重新建立 API 容器:
docker compose up -d --build --force-recreate --no-deps agentos-api
- 改 prompt 角色(助教、摘要、一定附來源)
- 新增自己的 agent(course-agent、faq-agent)
- 換知識庫成課程講義或專題文件
- 幫 agent 加新工具
- 改 UI(例如 Gradio)
如果你想自己升級 agent,先看官方文件與範例:
- Agno GitHub 原始碼:https://github.com/agno-agi/agno/tree/main
- Agno 官方文件:https://docs.agno.com/introduction
- Tools Cookbook(可直接抄範例改):https://github.com/agno-agi/agno/tree/main/cookbook/91_tools
最小改動通常只要兩步:
- 在檔案開頭新增 import
- 在
Agent(...)裡新增工具到tools=[...]
範例概念:
from agno.tools.youtube import YouTubeTools
agent = Agent(
tools=[
# 你原本的工具...
YouTubeTools(),
],
)你也可以加上描述讓 UI 更清楚:
description="You are able to do youtube analysis"官方範例位置:
你可以先照著範例理解,再把 YouTubeTools() 加回自己的 agent。