常用工具使用手册
晓舟在讲解智能体开发相关内容的时候,发现听课的朋友们理论基础差异较大。有一些工具,可能程序员都已经驾轻就熟,但是编程新手或是在校学生可能并没有熟练掌握,所以晓舟整理了一份《常用工具使用手册》,辅助新手朋友们快速掌握AI智能体的开发。
本手册整理了《手把手智能体开发教程》涉及到的工具的常用功能,工具包括:
- 终端程序
- 代码编辑器:cursor
- 版本控制工具:Git
- 依赖管理工具:pip
希望晓舟整理的资料可以提升大家的学习效率。
第1节:终端程序
终端程序是一个命令输入窗口。程序员在运行代码,查看程序反馈信息等场景,会频繁使用终端程序。
对于新手,终端程序看上去总是很神秘,像是在操作什么高端的黑客技术一样,其实没那么复杂,本节内容会列举终端程序的常用方法,大家用20分钟也就学会了。
1. 打开终端的常用方法
方法一
win + R打开运行窗口,输入cmd,然后按回车,即可打开终端程序。
这种方法打开终端的位置是在C盘的用户目录。如果想要运行指定目录内的文件,还需要手动切换目录。
切换目录的命令后面有讲解,不过,如果我们希望直接在某个目录下打开终端程序,可以直接使用下一个方法。
方法二
打开文件夹,点击文件夹地址的位置,删掉文件夹的位置信息,输入cmd,再按回车,就可以在当前位置打开终端。
方法三
win11操作系统可以在文件夹内,点击鼠标右键,然后点击【在终端中打开】,也就可以在当前位置打开终端。
以管理员身份运行
在运行某些程序时,需要以管理员身份运行终端,大家可以在C:\Windows\System32
目录下找到cmd.exe
文件,然后用鼠标有点点击图标,选择【以管理员身份运行】即可。
或者在开始菜单的【搜索】中,搜索cmd
找到图标,右键点击,再【以管理员身份运行】,作用是相同的。
2. 常用内置命令
说完终端的启动方式,再说一些windows常用的内置命令。
切换盘符
打开终端是,终端在地址在C盘,输入d:
就可以直接切换到D盘,命令如下:
C:\Users\administrator>d:
D:\>
进入目录
要想进入某一个目录(文件夹),输入cd
命令,再加上文件夹的名字即可,命令如下:
D:\>cd test
D:\test>
输入文件夹名字的时候,只需要输入前几个字母,然后按tab键,就可以自动补全。
cd
命令后面加两个..
,就可以返回上级目录。
D:\test>cd ..
D:\>
注意:刚刚使用终端的朋友,在输入错误命令并执行之后,纠结要如何修改,其实命令错了就错了,在输入一个对的就可以,不必修改之前错误的命令。
到这里,大家对终端应该有了一个初步的概念,其他的终端使用方法,大家遇到什么问题,用什么命令就行,不知道的可以随时问AI,没有必要去记这些几年都用不到的命令。
其他命令
我这里列了一些命令,大家感兴趣可以动手试试,就当练手了。
dir #查看当前文件夹的文件和目录
cls #清空屏幕内容
mkdir 文件夹名
#创建新文件夹,例如:mkdir NewFolder
md 文件夹名 #同 mkdir
rmdir 文件夹名
#删除空文件夹,例如:rmdir OldFolder
rd 文件夹名 #同 rmdir
del 文件名 #删除文件,例如:del temp.txt
del *.tmp #删除所有.tmp后缀的文件
ipconfig #显示当前TCP/IP网络配置值
ipconfig /all #显示所有网络适配器的详细配置信息
ping 主机名或IP地址 #测试与另一台计算机的网络连接,例如:ping www.google.com
tasklist #显示当前正在运行的进程列表
taskkill /pid 进程ID #终止指定ID的进程,例如:taskkill /pid 1234
taskkill /im 进程名 #终止指定名称的进程,例如:taskkill /im notepad.exe /f (/f 表示强制终止)
这些都是windows自带的命令,我们在使用终端的时候,更多时候使用的是第三方命令,也就是安装某些软件之后才能使用的命令。
例如安装Python后,可以使用python命令运行demo.py
程序。
python demo.py
或者安装Git后,可以使用Git提供的命令来管理本地代码库。Git的使用方法会在本文档第三节详细讲解。
到这里,相信大家已经掌握了终端的使用方法,后续关于终端命令,随用随查就可以了。
第2节:Cursor
我们的《手把手智能体开发教程》的所有案例,都是我用Cursor编辑器编写的,cursor的AI功能很强大,使用可以大幅度提升开发效率和学习效率,就是每个月$20的价格有点肉疼。
所以大家如果条件运行,一定要尝试一下cursor,如果希望暂时低成本学习,那么用国产的Trae平替cursor也完全没有问题,或者直接vscode,配合cline插件,也可以使用AI编程。
cursor的优势主要体现在claude和gemini大模型,而且Trae和cursor都是基于开源的vscode开发的,从功能上来说,这三款编辑器几乎没什么区别,喜欢用哪个就用哪个。
下面列举了一些常用快捷键,几乎都是三个编辑器通用的。
1. 常用快捷键
- 代码注释:
ctrl + /
- 文件管理器:
ctrl + B
- 窗口放大和缩小:
ctrl + shift + "+-"
(建议改为:ctrl + "+"
用于放大,ctrl + "-"
用于缩小) - 终端窗口:
ctrl + ~
2. 与AI对话
vscode默认没有这个功能。
按下 Ctrl + L
可以打开侧边栏的AI对话窗口。
我们可以在这里用AI完成很多任务,包括但不限于:
- 按要求生成代码
- 解释代码逻辑
- 解决代码中的bug
- 重构代码逻辑
- 给代码添加注释
- 给代码添加异常处理
我们也可以吧自己当前打开的项目当做是一个知识库,通过AI对话让AI检索文件,分析内容,甚至是批量生成文档或代码。
3. 编辑器内的对话
在编辑器中,按下 Ctrl + K
会弹出一个对话框。我们可以直接在这里输入你的需求,比如“生成一个Python函数来计算斐波那契数列”。
或者让AI"解释这段代码”或“重构这段代码”。
4. 安装插件
点击编辑器(vscode,cursor,Trae)左侧活动栏最下面的"扩展"图标(像几个方块拼接在一起),可以在搜索第三方插件,例如输入Python
,可以找到由 Microsoft 发布的Python 扩展。
找到插件之后点击 "Install"(安装),然后重启编辑器就可以使用扩展的功能了。
编辑器默认都是引文,如果希望汉化编辑器,可以搜索Chinese
,安装汉化插件,就可以实现编辑器的汉化。
更多的第三方插件,比如markdown文档的浏览,代码格式的美化等等,大家随用随下即可。
第03节:Git
1. 什么是版本控制工具?
Git是分布式版本控制系统,是程序员必备工具之一。
什么是版本控制系统呢?比如我们写毕业设计有如下版本:
《毕业设计第一版》
《毕业设计第二版》
《毕业设计最终版》
《毕业设计最最最终版》
《毕业设计打死不改最终版》
最传统的版本管理方式是,每个版本的文件都做一个辈分,需要回溯旧版本,直接拷贝文件就行。
但是因为代码更改过于频繁,设计文件也比较多,通过拷贝的方式实现备份就不显示了,所以需要一个版本控制工具。
晓舟智能体-0.0.1
晓舟智能体-0.0.2
晓舟智能体-0.2.1
晓舟智能体-1.0.0
我们将“晓舟智能体”通过一个版本控制工具来管理,这样代码就像放在了一个时间轴里,可以通过命令,在多个版本之间快速切换,这就是版本控制工具的作用。
2. 安装Git
专属会员群的资料库中,【常用软件.zip】里我已经上传了Git安装包,大家安装完成之后,输入以下命令:
git --version
如果命令行返回了Git的版本信息说明Git已经成功安装。
3. 注册托管平台账号
Git是一个本地的工具,可以实现本地代码的管理,如果希望将本地的项目发布到线上,还需要有一个代码托管平台的账号,最常用的平台就是github,但是因为众所周知的原因,我们选择了网络环境支持更好的Gitee平台。
使用代码托管平台的作用:
- 可以在线上备份代码,防止本地代码丢失。
- 方便你与他人协作开发项目。
- 开源自己的项目,创建自己的开源社区。
对于刚开始学习项目开发的同学,建议将自己每天编写的代码都推送到托管平台,这样就能永久保存自己的学习笔记和示例代码了。
大家可以直接访问Gitee注册自己的账号。流程非常简单,这里就不赘述了。
4. 创建远程仓库
初次使用Gitee的朋友,看到仓库的观念可能有点懵,大家把仓库理解成是一个项目就可以。
我们注册完成之后,需要现在Gitee上创建一个空的仓库,目的是将我们本地的项目完全同步到这个仓库中。创建仓库完全使用默认选项就行,这里就不做过多讲解了。
不过关于仓库,大家可以先简单了解几个概念:
刚才说了仓库是一个项目,项目在本地是一个文件夹,但是,这个文件夹里面有一个名为.git的隐藏文件,这样,这个文件夹就不是一个普通的文件夹了,而是一个有【状态】的文件夹,我们了解了仓库的状态,就很容易理解Git的使用方法了。
- 工作区 (Working Directory):你电脑上实际的项目文件夹,包含你当前能看到和编辑的文件。
- 暂存区 (Staging Area / Index):一个特殊的文件,位于
.git
目录中。它记录了你下次要提交哪些文件的哪些改动。你可以把它想象成一个"待提交清单"。 - 本地仓库 (Local Repository):也是
.git
目录的一部分,保存了项目的所有版本历史。当你执行git commit
时,暂存区的内容会被永久记录到本地仓库中,形成一个新的版本快照。 - 远程仓库 (Remote Repository):托管在网络服务器(如Gitee)上的项目副本。
4. 将本地项目上传到远程仓库:
远程仓库(gitee上的仓库)已经创建完成,现在我们本地也需要有一个项目文件夹,想要把它上传到Gitee上刚创建的空仓库:
## 1. 进入你的本地项目文件夹 (使用 cd 命令)
## cd path/to/your/project
## 2. 初始化本地仓库:在项目根目录下执行,这会在你的项目文件夹中创建一个 .git 的隐藏子目录,用于Git追踪版本。
git init
## 3. 添加文件到暂存区:例如添加一个 README.md 文件。'.'代表添加当前目录下所有修改过的文件。
git add README.md
## 或者 git add .
## 4. 提交暂存区的文件到本地仓库:-m 后面是本次提交的说明信息。
git commit -m "首次提交:初始化项目并添加README"
## 5. 关联本地仓库与远程仓库:将 <你的Gitee用户名> 和 <你的仓库名> 替换为实际值。
## 'origin' 是远程仓库的默认别名。
git remote add origin git@gitee.com:<你的Gitee用户名>/<你的仓库名>.git
## 例如: git remote add origin git@gitee.com:xiaozhou_report/test.git
## 6. 推送本地仓库的master分支内容到远程仓库origin:
git push origin master
5. 全局Git用户信息初始化
如果是第一次使用Git提交代码前,需要告诉Git你的身份。这个设置在你的电脑上只需要进行一次。打开命令行工具输入:
git config --global user.name "你的Gitee用户名或昵称"
git config --global user.email "你注册Gitee时使用的邮箱"
例如:
git config --global user.name "晓舟报告"
git config --global user.email "xiaozhoubaogao@163.com"
这里输入的内容只是本地用户的一个标注,正确与否都无所谓,不影响后续的操作。
6. Clone远程仓库
如果你想获取一个已存在于Gitee(或其他平台)上的项目副本到你的本地电脑进行工作或学习,可以使用clone
命令。
## 将 <远程仓库的URL> 替换为实际的仓库地址 (SSH或HTTPS均可,推荐SSH)
git clone <远程仓库的URL>
例如,克隆一个名为test
的仓库:git clone git@gitee.com:xiaozhou_report/test.git
这会在当前目录下创建一个名为test
的文件夹,包含项目所有文件和版本历史。
7. 配置SSH公钥实现免密操作
为了避免每次与远程仓库交互,如push
或clone
私有仓库时都输入用户名和密码,可以配置SSH密钥。
在本地生成SSH密钥:
打开命令行工具输入:
ssh-keygen -t rsa -b 4096 -C "邮箱地址"
邮箱地址推荐使用注册Gitee使用的邮箱,但其实随便填写一个也不影响使用。
按回车,根据提示,直接使用默认设置即可。
查看并复制公钥
SSH密钥会直接在 C:\Users\你的用户名\.ssh\
中生成,找到名为id_rsa.pub
的文件,这是生成的公钥,用文本编辑器打开它,复制其全部内容。
在Gitee添加公钥:
按照鞋面的步骤,就可以设置SSH:
- 登录Gitee。
- 进入个人主页的"设置"菜单。
- 找到"安全设置"下的"SSH公钥"选项。
- 点击"添加公钥"按钮。
- "标题"可以任意填写,例如"我的笔记本电脑"。
- 将刚才复制的
id_rsa.pub
文件内容粘贴到"公钥"文本框中。 - 点击"确定"或"保存"。
验证是否设置成功:
当你通过SSH协议克隆或推送你的Gitee项目时,就不再需要输入密码了。确保克隆时使用的是SSH格式的URL (通常以git@
开头),而不是HTTPS格式的URL。
8. Git常用命令
常用操作流程:
git add <文件名>
或git add .
: 将工作区中指定文件(或所有.
)的修改添加到暂存区。这是告诉Git:"这些改动我希望包含在下一次提交里"。git commit -m "提交说明"
: 将暂存区的所有内容提交到本地仓库,并附带一条说明信息,描述本次提交做了哪些更改。一个好的提交说明非常重要。git push origin master
: 将本地仓库master
分支的最新提交同步到名为origin
的远程仓库。这使得你的本地更改对其他人可见(如果仓库是共享的)。git pull
: 从远程仓库拉取最新的更改到你的本地工作区,并尝试自动合并。这通常是在开始一天的工作前,或协作时获取他人最新代码时使用。它等同于git fetch
(获取远程更新)后跟git merge
(合并更新)。
9. 分支管理
分支是Git的核心特性之一,它允许你偏离主线开发(通常是master
或main
分支)去进行新功能开发、Bug修复等,而不会影响到主线的稳定性。
git branch
列出所有本地分支,当前所在分支会以星号*标记。默认情况下,新仓库只有一个master分支。git branch <分支名>
:例如: git branch dev 会创建一个名为dev的新分支,该分支基于你创建它时所在的当前分支。git checkout <分支名>
:切换分支,例如: git checkout dev 会将你的工作区切换到dev分支。之后你的修改和提交都将作用于dev分支。git checkout -b <新分支名>
:这是创建分支和切换分支两个命令的快捷方式。例如 git checkout -b feature-xyz。git marge <分支名>
,合并分支:首先,切换到你想要并入更改的目标分支(例如master
):git checkout master
。然后,执行合并命令,将指定分支(例如dev
)的更改合并进来:git merge dev
。合并后可能会产生冲突,需要手动解决后再提交。git branch -d <分支名>
:删除分支,小写d,安全删除,如果分支未合并会提示)或git branch -D <分支名>
,大写D,强制删除。- 删除远程分支:
git push origin -d dev
git push origin <本地分支名>:<远程分支名>
:上面列举的所有操作都是在本地完成的,如果希望将本地分支同步到远程托管平台,可以执行这条命令。例如:git push origin dev:dev
会将本地的dev
分支推送到远程托管平台。git checkout -b <本地分支名> origin/<远程分支名>
:拉取远程分支,例如: git checkout -b dev origin/dev 会在本地创建一个名为dev的新分支,该分支会自动追踪远程origin仓库的dev分支,并切换到这个新创建的本地dev分支。
10. 版本回退与历史查看
Git可以让我们的项目版本,在每一次提交的代码之间切换。
git log
:查看历史提交,个人感觉在托管平台上查看会更方便。git reset --hard <提交哈希值>
:切换历史版本。git reflog
:查看命令记录git checkout -- .
:撤销编辑区中的所有修改,如果只想撤销指定文件,可以将.
改为文件名。
掌握了这些命令,相信大家就可以灵活使用Git管理自己的代码和文档了。后续也可以利用Git提交自己的开源项目。
第04节:pip
1. 什么是 Pip?
Pip 是 Python 的包管理器 (Package Installer for Python)。可以用来安装和管理python的第三方模块。如果你安装Python 3.4 及以后版本,pip已经自动完成安装。
检查 Pip 是否安装:
在命令行中输入以下命令,然后按 Enter:
pip --version
如果看到类似 pip 23.0.1 from ...
的输出,说明 pip 已经安装好了。如果提示找不到命令,很可能是Python没有安装成功。
在现代 Python 安装过程中,Python安装成功而pip未安装成功是极其少见的。
2. pip 的常用命令
pip install
)
安装模块 (这是最常用的命令。假设我们要安装一个名为 pyjokes
的有趣模块,它可以生成编程相关的笑话。
在命令行中输入:
pip install pyjokes
pip 会直接下载并安装它及其可能依赖的其他包。看到类似 "Successfully installed pyjokes-..." 的信息就表示安装成功了。
安装后如何使用?
就像使用标准库模块一样,使用 import
语句:
## 将这个 Python 代码保存在一个 .py 文件中运行
import pyjokes
## 使用 pyjokes 模块的 get_joke() 函数获取一个笑话
joke = pyjokes.get_joke()
print(joke)
pip list
)
查看已安装的模块 (想知道你的 Python 环境里都安装了哪些包?使用 pip list
命令:
pip list
它会列出所有已安装的包及其版本号。你会看到 pip
本身,可能还有 setuptools
,以及你刚刚安装的 pyjokes
。
pip uninstall
)
卸载模块 (如果你不再需要某个模块,可以用 pip uninstall
来移除它:
pip uninstall pyjokes
它会提示你确认是否卸载,输入 y
然后按 Enter 即可。
查看版本
pip show pyjokes
可以查看模块的相关信息,这个命令主要用来查看模块版本。
3. 模块管理
为了让其他人可以使用自己的代码,可以将自己项目的第三方模块列表导出,然后让他人导入来复现开发环境。
可以使用 pip 命令来生成一个包含所有已安装第三方模块及其版本的列表,并将其保存到 requirements.txt 文件中。
python -m pip freeze > requirements.txt
然后将这个 requirements.txt 文件分享给其他人,或者将其包含在你的项目代码库中,其他人使用requirements.txt就能复现开发环境了。
其他人拿到你的项目和这个 requirements.txt 文件后,使用下面命令:
python -m pip install -r requirements.txt
便可以安装requirements.txt包含的所有第三方模块。
4. 虚拟环境
默认情况下,pip
会将第三方模块安装在当前计算机的全局环境,所有Python程序都可以使用这些应用,但是非常不推荐这样做。
全局环境的优劣如下:
- 优势: 一次安装,当前计算机所有项目都可以使用。
- 劣势: 如果不同项目使用的第三方模块存在版本冲突,那么将会导致项目不能顺利启动。
为了避免不同项目之间的库版本冲突,强烈建议,每次创建项目时,都在当前项目中创建一个虚拟环境,这样,将依赖模块都下载到虚拟环境中,就可以避免与其他项目依赖相互影响了。
创建虚拟环境?
常见虚拟环境的命令
python -m venv .venv
这会在当前目录下创建一个名为 .venv
的文件夹,包含独立的 Python 解释器和库目录。
然后执行下面命令激活虚拟环境:
.venv\Scripts\activate
激活成功后,我们会在命令行提示符前看到 (.venv)
标志。
退出虚拟环境:
在激活虚拟环境的终端中,运行 deactivate
命令即可退出虚拟环境。
5. 配置镜像地址
默认情况下,pip会在国外的服务器下载第三方模块,下载速度较慢,为了提升模块下载速度,可以将pip的下载地址更改为国内的镜像地址,修改方式如下:
- 在资源管理器中输入
%APPDATA%
并回车,打开用户应用数据目录。 - 在此目录下创建
pip
文件夹,然后在pip
文件夹内创建pip.ini
文件。 - 在文件中编写以下内容
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host = pypi.tuna.tsinghua.edu.cn
配置完成后,执行下面命令
pip config list
看到的地址如果已经设置为镜像地址,说明镜像设置成功,后续我们下载模块的速度就会得到大幅度提升。
不是用魔法的同学,强烈推荐将pip镜像地址设置为国内服务器。
总结
这篇文档讲解了终端、cursor、git、pip的使用方法,后续晓舟还会持续更新智能体开发文档和案例。
大家可以在抖音【晓舟报告】首页加入【晓舟的AI交流66群】,一起交流技术问题,并获取更多学习资料。
最后祝大家早日富可敌国,【晓舟的直播时间是】工作日中午12:00,抖音直播间见啦,拜拜~