AI Agent 开发实战(13):GitHub 开源

六段骨架:目标 → 环境准备 → 步骤 → 验证 → 设计权衡 → 踩坑记录 → 下一步

目标

把第 12 篇打好的 Agent 项目,推到 GitHub 成为公开仓库------既能作为你简历里"点开就能看"的作品,也能让别人复用你的代码。

一句话价值:写出来的东西不发出来,等于没写。 开源是 Agent 开发者最低成本的个人品牌建设。

背景衔接

第 12 篇把 Agent 装进了 Docker,它现在是一个"自包含、能跑"的项目。本篇给它一个公开地址,让它从"你机器上的文件夹"变成"互联网上谁都能 clone 的工程"。

环境准备

  • 第 01 篇已经装好 Git
  • 一个 GitHub 账号(网页注册即可)
  • 装好 GitHub CLI 更顺手(可选,但推荐):winget install --id GitHub.cli 或官网下载;装完 gh auth login 登录
  • 第 12 篇的 my-agent/ 项目(含 Dockerfile、.dockerignore、.env)

步骤

① 收尾:先把项目"像样"

开源前补三个文件,没它们仓库看起来很业余:

.gitignore(防密钥和垃圾进仓库,最关键):

复制代码
.env
venv
.venv
__pycache__
*.pyc
.git

LICENSE:新建一个,MIT 最常用(允许别人随意使用)。内容可在 GitHub 建仓库时勾选生成,或复制标准 MIT 文本,把年份和作者换成你的。

README.md:项目的门面,下面给一个可直接抄的模板:

复制代码
# my-agent

用 LangGraph 搭的最小 AI Agent:能调工具、记对话、跑在 Docker 里。

## 架构

`用户问题 → agent 节点(调 LLM)→ 按需走 tools 节点 → 回到 agent 汇总 → 结束`

## 用法

```bash
pip install -r requirements.txt
cp .env.example .env   # 填你的模型 Key
python app.py

或一键容器化:

复制代码
docker build -t my-agent:0.1 .
docker run --rm --env-file .env my-agent:0.1

功能

  • 工具调用(当前时间 / 计算)
  • 多轮记忆
  • Docker 部署

许可证

MIT

复制代码
> 💡 把 `.env` 改名成 `.env.example` 提交(只留 `OPENAI_API_KEY=` 这样的空壳),真实密钥绝不进仓库。读者 clone 后自己填。

### ② 本地初始化并提交

```bash
cd my-agent
git init
git add .
git commit -m "feat: 第一个 LangGraph Agent,支持工具调用与 Docker 部署"
  • git add . 前确认 .gitignore 已就位,.env 不会被加进来
  • commit message 用"动词开头 + 一句话说明"的风格,别写"update"

③ 创建远程仓库并推送

方式 A:用 GitHub CLI(推荐,一条命令)

复制代码
gh repo create my-agent --public --source=. --remote=origin --push

这会自动建公开仓库、加 remote、推上去。

方式 B:网页 + 命令

  1. 在 GitHub 网页点 New repository,名字 my-agent别勾 "Add a README"(你本地已有)

  2. 本地关联并推送:

    git branch -M main
    git remote add origin https://github.com/你的用户名/my-agent.git
    git push -u origin main

④ 开个 Release(可选但加分)

复制代码
gh release create v0.1 --title "v0.1 首个可用版本" --notes "支持工具调用与 Docker 部署"

或在网页仓库的 Releases 里点 Draft a new release,打 tag v0.1

验证

三项全过 = 开源成立:

  1. 浏览器打开 https://github.com/你的用户名/my-agent,仓库可见、README 正常渲染
  2. 重新 clone 一份到别处git clonedocker build + docker run 能原样跑通(证明仓库自包含,别人拿来就能用)
  3. 确认 .env / 密钥不在 仓库文件列表里(在仓库页面搜 .env 应无结果)

第 2 项最关键:开源的验收标准不是"推上去了",而是"别人 clone 下来能跑"。

设计权衡:CLI(gh)vs 网页

维度 GitHub CLI(gh) 网页操作
速度 一条命令建库+推送 多次点击
自动化 可写进脚本 手动
学习成本 要记命令 0
适合 经常开源、批量操作 偶尔一次、不熟悉命令行

新手用网页更直观;一旦你要开源多个项目,gh 省下的时间很可观。

踩坑记录

1. 把 .env / 密钥 push 上去了(最高危)

git add . 时忘了 .gitignore,Key 进了历史。修复:立刻去模型平台 revoke 这个 Key (比改仓库更紧急),然后 git filter-repogit rm --cached .env + 强推改写历史。最稳妥是 revoke + 换 Key,历史里的旧 Key 已无效。

2. 中文文件名 / 中文乱码

Windows 上中文提交显示成 \xxx 转义。修复:git config --global core.quotepath false

3. 默认分支名不一致

旧 Git 默认 master,GitHub 现在用 main,push 时可能冲突。统一 git branch -M main 再推。

4. gh 没登录

gh repo create 报未认证。先 gh auth login 走完浏览器授权。

5. 大文件塞进仓库

把模型权重、数据集 push 上去,仓库几百兆、clone 慢。大文件用 Git LFS 或放对象存储,仓库只留代码。

6. commit message 全是"fix""update"

别人看你的仓库一脸懵。养成"动词 + 说明"习惯(feat/fix/docs/refactor),也是面试时展示工程素养的细节。

下一步

项目开源了,你的 Agent 从"本地练习"变成了"公开作品"。走到这里,你已经完整走完了一条工程化链路。最后一篇做个全局盘点------把整个系列用过的工具按"你要解决什么问题"分类,给你一张选型地图:

→ AI Agent 开发实战(14):AI Agent 开发工具推荐

第 14 篇是收尾,把 Claude Code、DeepSeek、OpenRouter、CCSwitch、Hermes、OpenClaw、LangGraph、MCP、Docker、GitHub 串成一张图,帮你和读者以后不迷路。


系列衔接:09(手写 Agent)→ 10(工具标准化)→ 11(流程编排)→ 12(容器化)→ 13(开源交付)→ 14(全局盘点),实用篇到此闭环。

相关推荐
修远客2 小时前
持久化与缓存:Agent的数据底座 — 没有持久化的Agent像金鱼记忆,重启就忘
llm·agent·ai编程
多学一分钟2 小时前
RAG:原理、完整链路、各模块,以及优缺点
agent
半糖程序员2 小时前
从零构建 Agent(2):选择并调用不同模型服务
agent
武子康2 小时前
同一份长文问两次,SGLang 怎样少算一遍
人工智能·llm·agent
Jul1en_3 小时前
Matt 与 Uncle Bob 的播客访谈有感
开发语言·经验分享·笔记·ai·开源·github·ai编程
王解3 小时前
AG-33_Grok Build vs Claude Code:两种 Code Agent 路线对比
agent
不悔哥3 小时前
开源 LVGL:把手机级界面塞进 MCU
单片机·智能手机·开源
2601_962298673 小时前
AWS推ADOP:用AI Agent把数据工程从周压缩到小时
ai·自动化·agent·aws·数据工程
王解3 小时前
AG-31_Grok Build 开源解读:马斯克的命令行 Agent
系统架构·开源·agent