Skip to content

About

从入门到精通手把手做一个能执行任务的 Agent,每个概念对账 opencode 真实源码。含零依赖可运行 Python 极简 agent + 对账表 + 交互式 HTML 手册。

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

opencode-agent-course

从入门到精通,手把手做一个"能执行任务的 Agent"——每个概念都对账 opencode 真实源码。

这是一个边学边跑的教学工程。你会用不到 200 行 Python 亲手搭出一个能调用工具、能拆解任务的 AI agent;同时,每一个概念都标注了它在 opencode 生产级源码里的确切位置(文件 + 行号),让你既能"照着做出来",也能"对着大厂代码核对"。

面向对象:会一点编程(任意语言)、知道什么是大模型/API、用过命令行的初学者。不需要懂 TypeScript 或函数式编程。


30 秒跑起来

无需 API key 也能跑(内置离线 mock 模式,让你先看清循环怎么转):

git clone https://github.com/darinouyang/opencode-agent-course.git
cd opencode-agent-course/agent

python3 step1_loop.py "算一下 2*(3+4) 等于多少"

想接真实模型?设三个环境变量即可(兼容 OpenAI / 通义千问 DashScope / DeepSeek / 本地 Ollama 等任何 OpenAI 兼容接口):

export OPENAI_API_KEY="你的key"
export OPENAI_BASE_URL="https://api.openai.com/v1"   # 换成你的服务地址
export OPENAI_MODEL="gpt-4o-mini"                    # 换成你的模型名

python3 step1_loop.py "读一下上级目录的 README.md 并总结"

只用 Python 标准库,零第三方依赖,Python 3.9+ 即可。


学习路径

建议按顺序:先读一章文档,再跑对应的 step*.py,最后翻 对账表 去 opencode 源码里核对。

阶段 文档 可运行代码 你会学到
入门 01 · Agent 是什么 step1_loop.py agent 的本质是一个 while 循环(心跳)
入门 02 · 工具 tools.py 工具的四要素 + function calling
进阶 03 · 提示词与记忆 各 step 的 SYSTEM_PROMPT/messages 系统提示词 + 模型无状态 + 消息历史
进阶 04 · 权限/技能/子Agent step2 / step3 / step4 权限闸门、技能注入、子 agent 拆解

每个 step 文件都是独立可跑的,从 step1 到 step4 逐步加料:

step1_loop.py        最小心跳循环(模型 + 工具 + 循环)
step2_permission.py  + 权限闸门(危险操作先征求许可)
step3_skill.py       + 技能(把领域工作流注入对话)
step4_subagent.py    + 子 agent(把大任务拆给独立分身去做)

这个工程的特别之处:可对账

市面上讲 agent 的教程很多,但大多停在"玩具 demo",你学完不知道"真实产品是不是也这么干的"。

本工程的核心是 docs/MAPPING.md 对账表:把每个概念三方对齐——

概念(心跳循环) → opencode 源码(prompt.ts L1088-L1096) → 本课程代码(step1_loop.py 的 for 循环)

对账基线锁定在 opencode 的 commit 518772c,行号以此为准。你可以逐条点开源码核对,确认"我学的这套,就是生产级 agent 真实在用的那套"。


目录结构

opencode-agent-course/
├── README.md
├── agent/                      # 可运行的极简 agent(Python,零依赖)
│   ├── tools.py                #   工具集 + 注册表 + 路由
│   ├── llm.py                  #   模型调用(含离线 mock)
│   ├── step1_loop.py           #   入门:心跳循环
│   ├── step2_permission.py     #   进阶:权限
│   ├── step3_skill.py          #   进阶:技能
│   └── step4_subagent.py       #   精通:子 agent
├── docs/                       # 分章学习文档
│   ├── 01-what-is-an-agent.md
│   ├── 02-tools.md
│   ├── 03-prompt-and-memory.md
│   ├── 04-permission-skill-subagent.md
│   └── MAPPING.md              #   ⭐ 概念↔源码↔代码 对账表
└── web/
    └── tutorial.html           # 交互式 HTML 学习手册(浏览器打开即可)

致谢与声明

本教程的对账对象是开源项目 opencode(anomalyco/opencode)。文中所有源码片段均为教学引用,版权归原作者所有;本仓库不复制其源码,只标注文件路径与行号供读者对照学习。

本仓库代码以 MIT 协议开源,仅供学习。run_bash 等工具为教学演示,生产环境请务必加沙箱与权限控制。

About

从入门到精通手把手做一个能执行任务的 Agent,每个概念对账 opencode 真实源码。含零依赖可运行 Python 极简 agent + 对账表 + 交互式 HTML 手册。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages