AI Punk
综合介绍
Ai-Punk 是一个开源的自主AI软件开发助手。它允许用户在自己的电脑上运行一个AI代理,这个代理能够独立执行编程任务,例如分析代码、修改文件、运行终端命令等。该工具最大的特点是整个过程完全透明,用户可以实时看到AI的每一步思考和操作,确保了可控性。Ai-Punk通过在一个指定的安全工作区内操作来保障系统安全,防止AI访问工作区以外的文件。它集成了丰富的文件操作、代码搜索和终端命令工具,并且支持多种AI模型。用户通过一个设计精美的终端界面与AI进行交互,整个体验流畅且高效。此外,该工具还支持英语和俄语,能够自动检测用户语言并进行响应。
功能列表
- 完整的思考过程透明化: 实时展示AI代理的每一步推理过程,让用户清楚了解AI的决策逻辑。
- 自主规划与执行: AI代理能够独立地规划和执行复杂的软件开发任务。
- 安全的工作区: AI代理的所有操作被限制在用户预先选定的目录中,无法访问或修改此目录之外的任何文件。
- 丰富的工具集:
- 文件操作: 支持列出目录内容 (
list_directory
)、读取文件 (read_file
) 和编辑文件 (edit_file
)。 - 代码搜索: 使用
grep_search
在代码库中查找特定的代码模式。 - 终端命令: 允许通过
run_terminal
执行系统命令。
- 文件操作: 支持列出目录内容 (
- 美观的终端用户界面: 使用Rich库构建,提供了一个清晰、美观的过程可视化界面。
- 多语言支持: 能自动检测用户输入的语言(目前支持英语和俄语)并用相应语言进行回应。
- 高性能: 基于LangChain框架,工具经过优化,确保了快速的响应和高效的执行。
使用帮助
Ai-Punk 是一个强大的命令行工具,让你可以直接在本地与AI代理协作完成开发任务。下面是详细的安装和使用流程,帮助你快速上手。
第一步:环境准备
在使用Ai-Punk之前,你需要确保电脑上已经安装了Python。Ai-Punk要求 Python 3.8 或更高版本。
你可以通过在终端或命令提示符中运行以下命令来检查Python版本:
python --version
第二步:下载并安装依赖
首先,需要从GitHub上获取Ai-Punk的源代码。你可以使用git
命令克隆仓库,或者直接下载ZIP压缩包。
- 克隆代码仓库打开你的终端,进入你想要存放项目的文件夹,然后运行以下命令:
git clone https://github.com/netsky-devel/Ai-Punk.git
- 进入项目目录
cd Ai-Punk
- 安装所需的Python库项目的所有依赖库都记录在
requirements.txt
文件中。运行以下命令进行安装:pip install -r requirements.txt
这个命令会自动安装LangChain、Rich等所有必要的库。
第三步:配置AI模型
Ai-Punk 需要连接到一个AI模型才能工作。你可以选择使用OpenAI、Google、Anthropic等提供的模型。
- 运行配置脚本在项目根目录下,运行主程序以开始配置:
python main.py
- 选择配置选项程序启动后,你会看到一个菜单。选择选项 1 - Setup AI Provider (设置AI提供商)。
- 输入API密钥根据提示,输入你选择的AI服务商提供的API密钥(API Key)。这些信息会被安全地保存在本地配置文件中,仅用于连接AI模型。
第四步:设置安全工作区
为了系统安全,Ai-Punk要求你必须指定一个工作目录。AI代理的所有文件操作都将被严格限制在这个目录内。
- 运行主程序如果你已经退出了程序,请重新运行
python main.py
。 - 选择工作区在主菜单中,选择选项 2 - Select Working Directory (选择工作目录)。
- 指定路径输入你希望AI代理在其中工作的文件夹的绝对路径。例如,你可以为你的项目创建一个新文件夹,然后将路径指向它。
第五步:初始化并开始与AI对话
完成以上配置后,就可以开始使用Ai-Punk了。
- 初始化代理在主菜单中,选择选项 3 - Initialize Agent (初始化代理)。程序会加载AI模型和配置,准备开始工作。
- 开始对话初始化成功后,选择选项 4 - Start Chat with Agent (开始与代理对话)。
- 与AI协作现在你可以开始通过输入文字指令与AI进行交互了。你可以让它执行各种任务,例如:
- 分析代码: 输入“请分析一下这个项目的代码结构,并告诉我每个主要文件的作用。”
- 修改文件: 输入“请在
main.py
文件中添加一个基本的错误处理机制。” - 创建文件: 输入“创建一个名为
config.json
的文件,并写入一个空的JSON对象。”
在你下达指令后,Ai-Punk会实时展示AI的思考过程、它决定使用的工具以及执行的结果。
交互示例:
╭─ 🧠 Agent Thinking (Step 1) ──────────────────────────────────╮ │ I need to analyze the project structure first to understand what we're working │ │ with. Let me start by listing the current directory contents. │ ╰──────────────────────────────────────────────────────────────────────────────────╯ ╭─ ⚡ Agent Action ─────────────────────────────────────────────────╮ │ 🔧 Tool: list_directory │ │ 📝 Input: "." │ ╰──────────────────────────────────────────────────────────────────────────────────╯ ╭─ ✅ Execution Result (in 0.15s) ─────────────────────────────────╮ │ [Agent's final answer] │ ╰──────────────────────────────────────────────────────────────────────────────────╯ ``` 这个界面让你能清晰地监督AI的每一步行动,确保一切尽在掌控。
应用场景
- 代码审查与分析AI代理可以快速读取整个代码库,分析项目结构、识别潜在问题或解释复杂代码的功能,帮助开发者更快地理解和审查代码。
- 自动化代码重构对于一些重复性的重构任务,例如给多个函数添加日志记录、统一错误处理机制或变量重命名,开发者可以下达指令,让AI代理自动完成,极大地提高了工作效率。
- 辅助功能开发当需要开发新功能时,可以指令AI代理创建新的文件、编写样板代码、甚至集成第三方库。开发者只需提供高层次的逻辑,AI便可处理具体的实现细节。
- 安全的代码实验由于AI的所有操作都被限制在安全工作区内,开发者可以放心地让AI尝试一些实验性的改动,而不用担心它会破坏系统环境或其他重要文件。
QA
- Ai-Punk是免费的吗?是的,Ai-Punk是一个基于MIT许可证的开源项目,你可以免费使用和修改它。但请注意,它需要连接到第三方AI模型(如OpenAI),这些服务可能会收取费用。
- Ai-Punk支持哪些AI模型?Ai-Punk通过LangChain框架集成AI模型,理论上支持LangChain所支持的多种模型提供商,包括OpenAI、Google、Anthropic等。你可以在配置步骤中选择并设置你的AI提供商。
- 使用Ai-Punk是否安全?我的代码会泄露吗?Ai-Punk在设计上非常注重安全。它的核心安全特性是“工作区隔离”,即AI代理只能在你指定的文件夹内进行读写操作,无法访问系统其他部分的文件。你的代码和AI的交互数据仅在你的本地计算机和你的AI提供商之间传输。
- Ai-Punk支持中文吗?根据文档,Ai-Punk目前原生支持英语和俄语,并能自动检测用户语言进行切换。虽然文档没有明确提到中文支持,但其多语言架构或许使其可以扩展或适应中文环境,具体效果需要实际测试。