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

目标

把第 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(全局盘点),实用篇到此闭环。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐