AI Punk
扫码查看

与本地AI模型协作的自主软件开发助手

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压缩包。

  1. 克隆代码仓库打开你的终端,进入你想要存放项目的文件夹,然后运行以下命令:
    git clone https://github.com/netsky-devel/Ai-Punk.git
    
  2. 进入项目目录
    cd Ai-Punk
    
  3. 安装所需的Python库项目的所有依赖库都记录在requirements.txt文件中。运行以下命令进行安装:
    pip install -r requirements.txt
    

    这个命令会自动安装LangChain、Rich等所有必要的库。

第三步:配置AI模型

Ai-Punk 需要连接到一个AI模型才能工作。你可以选择使用OpenAI、Google、Anthropic等提供的模型。

  1. 运行配置脚本在项目根目录下,运行主程序以开始配置:
    python main.py
    
  2. 选择配置选项程序启动后,你会看到一个菜单。选择选项 1 - Setup AI Provider (设置AI提供商)。
  3. 输入API密钥根据提示,输入你选择的AI服务商提供的API密钥(API Key)。这些信息会被安全地保存在本地配置文件中,仅用于连接AI模型。

第四步:设置安全工作区

为了系统安全,Ai-Punk要求你必须指定一个工作目录。AI代理的所有文件操作都将被严格限制在这个目录内。

  1. 运行主程序如果你已经退出了程序,请重新运行python main.py
  2. 选择工作区在主菜单中,选择选项 2 - Select Working Directory (选择工作目录)。
  3. 指定路径输入你希望AI代理在其中工作的文件夹的绝对路径。例如,你可以为你的项目创建一个新文件夹,然后将路径指向它。

第五步:初始化并开始与AI对话

完成以上配置后,就可以开始使用Ai-Punk了。

  1. 初始化代理在主菜单中,选择选项 3 - Initialize Agent (初始化代理)。程序会加载AI模型和配置,准备开始工作。
  2. 开始对话初始化成功后,选择选项 4 - Start Chat with Agent (开始与代理对话)。
  3. 与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的每一步行动,确保一切尽在掌控。
    

应用场景

  1. 代码审查与分析AI代理可以快速读取整个代码库,分析项目结构、识别潜在问题或解释复杂代码的功能,帮助开发者更快地理解和审查代码。
  2. 自动化代码重构对于一些重复性的重构任务,例如给多个函数添加日志记录、统一错误处理机制或变量重命名,开发者可以下达指令,让AI代理自动完成,极大地提高了工作效率。
  3. 辅助功能开发当需要开发新功能时,可以指令AI代理创建新的文件、编写样板代码、甚至集成第三方库。开发者只需提供高层次的逻辑,AI便可处理具体的实现细节。
  4. 安全的代码实验由于AI的所有操作都被限制在安全工作区内,开发者可以放心地让AI尝试一些实验性的改动,而不用担心它会破坏系统环境或其他重要文件。

QA

  1. Ai-Punk是免费的吗?是的,Ai-Punk是一个基于MIT许可证的开源项目,你可以免费使用和修改它。但请注意,它需要连接到第三方AI模型(如OpenAI),这些服务可能会收取费用。
  2. Ai-Punk支持哪些AI模型?Ai-Punk通过LangChain框架集成AI模型,理论上支持LangChain所支持的多种模型提供商,包括OpenAI、Google、Anthropic等。你可以在配置步骤中选择并设置你的AI提供商。
  3. 使用Ai-Punk是否安全?我的代码会泄露吗?Ai-Punk在设计上非常注重安全。它的核心安全特性是“工作区隔离”,即AI代理只能在你指定的文件夹内进行读写操作,无法访问系统其他部分的文件。你的代码和AI的交互数据仅在你的本地计算机和你的AI提供商之间传输。
  4. Ai-Punk支持中文吗?根据文档,Ai-Punk目前原生支持英语和俄语,并能自动检测用户语言进行切换。虽然文档没有明确提到中文支持,但其多语言架构或许使其可以扩展或适应中文环境,具体效果需要实际测试。
微信微博Email复制链接