常用工具使用手册

晓舟在讲解智能体开发相关内容的时候,发现听课的朋友们理论基础差异较大。有一些工具,可能程序员都已经驾轻就熟,但是编程新手或是在校学生可能并没有熟练掌握,所以晓舟整理了一份《常用工具使用手册》,辅助新手朋友们快速掌握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平台。

使用代码托管平台的作用:

  1. 可以在线上备份代码,防止本地代码丢失。
  2. 方便你与他人协作开发项目。
  3. 开源自己的项目,创建自己的开源社区。

对于刚开始学习项目开发的同学,建议将自己每天编写的代码都推送到托管平台,这样就能永久保存自己的学习笔记和示例代码了。

大家可以直接访问Giteeopen in new window注册自己的账号。流程非常简单,这里就不赘述了。

4. 创建远程仓库

初次使用Gitee的朋友,看到仓库的观念可能有点懵,大家把仓库理解成是一个项目就可以。

我们注册完成之后,需要现在Gitee上创建一个空的仓库,目的是将我们本地的项目完全同步到这个仓库中。创建仓库完全使用默认选项就行,这里就不做过多讲解了。

不过关于仓库,大家可以先简单了解几个概念:

刚才说了仓库是一个项目,项目在本地是一个文件夹,但是,这个文件夹里面有一个名为.git的隐藏文件,这样,这个文件夹就不是一个普通的文件夹了,而是一个有【状态】的文件夹,我们了解了仓库的状态,就很容易理解Git的使用方法了。

  1. 工作区 (Working Directory):你电脑上实际的项目文件夹,包含你当前能看到和编辑的文件。
  2. 暂存区 (Staging Area / Index):一个特殊的文件,位于.git目录中。它记录了你下次要提交哪些文件的哪些改动。你可以把它想象成一个"待提交清单"。
  3. 本地仓库 (Local Repository):也是.git目录的一部分,保存了项目的所有版本历史。当你执行git commit时,暂存区的内容会被永久记录到本地仓库中,形成一个新的版本快照。
  4. 远程仓库 (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公钥实现免密操作

为了避免每次与远程仓库交互,如pushclone私有仓库时都输入用户名和密码,可以配置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的核心特性之一,它允许你偏离主线开发(通常是mastermain分支)去进行新功能开发、Bug修复等,而不会影响到主线的稳定性。

  1. git branch列出所有本地分支,当前所在分支会以星号*标记。默认情况下,新仓库只有一个master分支。
  2. git branch <分支名>:例如: git branch dev 会创建一个名为dev的新分支,该分支基于你创建它时所在的当前分支。
  3. git checkout <分支名> :切换分支,例如: git checkout dev 会将你的工作区切换到dev分支。之后你的修改和提交都将作用于dev分支。
  4. git checkout -b <新分支名>:这是创建分支和切换分支两个命令的快捷方式。例如 git checkout -b feature-xyz。
  5. git marge <分支名>,合并分支:首先,切换到你想要并入更改的目标分支(例如 master):git checkout master。然后,执行合并命令,将指定分支(例如 dev)的更改合并进来:git merge dev。合并后可能会产生冲突,需要手动解决后再提交。
  6. git branch -d <分支名> :删除分支,小写d,安全删除,如果分支未合并会提示)或 git branch -D <分支名> ,大写D,强制删除。
  7. 删除远程分支:git push origin -d dev
  8. git push origin <本地分支名>:<远程分支名>:上面列举的所有操作都是在本地完成的,如果希望将本地分支同步到远程托管平台,可以执行这条命令。例如: git push origin dev:dev 会将本地的dev分支推送到远程托管平台。
  9. git checkout -b <本地分支名> origin/<远程分支名>:拉取远程分支,例如: git checkout -b dev origin/dev 会在本地创建一个名为dev的新分支,该分支会自动追踪远程origin仓库的dev分支,并切换到这个新创建的本地dev分支。

10. 版本回退与历史查看

Git可以让我们的项目版本,在每一次提交的代码之间切换。

  1. git log:查看历史提交,个人感觉在托管平台上查看会更方便。
  2. git reset --hard <提交哈希值>:切换历史版本。
  3. git reflog:查看命令记录
  4. 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的下载地址更改为国内的镜像地址,修改方式如下:

  1. 在资源管理器中输入 %APPDATA% 并回车,打开用户应用数据目录。
  2. 在此目录下创建 pip 文件夹,然后在 pip 文件夹内创建 pip.ini 文件。
  3. 在文件中编写以下内容
[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,抖音直播间见啦,拜拜~