forge-ai-code


Nameforge-ai-code JSON
Version 1.2.7 PyPI version JSON
download
home_pagehttps://github.com/forge-ai/forge-ai-code
Summary智能AI编程助手 - 支持多种AI模型的自适应提示词系统,新增删除文件工具和工具调用限制
upload_time2025-08-20 11:53:37
maintainerNone
docs_urlNone
authorForge AI Team
requires_python>=3.8
licenseMIT
keywords ai artificial-intelligence coding programming assistant automation development cli tool prompt-engineering multi-model adaptive
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Forge AI Code

🤖 智能CLI AI编程助手 - 让AI帮你写代码!

## 🚀 核心特性

### 💬 智能对话编程
- **直接对话** - 无需复杂命令,直接告诉AI你想要什么
- **项目感知** - AI自动了解你的项目结构和代码
- **实时执行** - AI可以直接创建、修改文件和执行命令
- **优雅交互** - 精美的界面和加载动画

### 🛠️ AI工具能力
- **📖 读取文件** - AI可以读取和分析项目文件
- **✏️ 创建/修改文件** - AI可以生成新代码或修改现有代码
- **⚡ 执行命令** - AI可以运行测试、安装依赖等
- **🎯 智能分析** - 自动理解项目结构和需求

## 📁 项目结构

```
ForgeAI Code/
├── main.py                 # 🚀 主程序入口
├── forgeai.py             # 📄 原始版本(保留)
├── requirements.txt       # 📦 依赖列表
├── test_ai.py            # 🧪 AI功能测试
└── src/                  # 📂 核心模块
    ├── ai_client.py      # 🤖 AI客户端
    ├── ai_tools.py       # 🛠️ AI工具系统
    ├── config.py         # ⚙️ 配置管理
    ├── modes.py          # 🎯 工作模式
    ├── ui.py             # 🎨 用户界面
    ├── commands.py       # 📝 命令系统
    ├── input_handler.py  # ⌨️ 输入处理
    └── command_processor.py # 🔄 命令处理
```

## 🎯 使用示例

### 基础对话
```
> 你好
🤖 AI: 你好!我是Forge AI Code,你的编程助手。我可以帮你创建项目、写代码、调试问题等。

> 我想做一个贪吃蛇游戏
🤖 AI: 我来帮你创建贪吃蛇游戏!让我先查看项目结构...

创建文件 snake_game.py:
import pygame
import random
import sys

class SnakeGame:
    def __init__(self):
        # 游戏初始化代码
        ...
```

### AI工作流程
1. **分析需求** - AI理解你的要求
2. **查看项目** - 自动分析现有代码结构  
3. **制定计划** - 规划实现步骤
4. **执行操作** - 创建文件、写入代码
5. **测试验证** - 运行代码确保正常工作
6. **总结完成** - 提供使用说明

## ⚙️ 安装和配置

### 1. 安装依赖
```bash
pip install -r requirements.txt
```

### 2. 配置API密钥
```bash
python main.py
# 输入 /s 进入设置
# 选择 2 设置API密钥
```

### 3. 开始使用
```bash
python main.py
# 直接输入你的需求,AI会自动处理!
```

## 🎮 命令参考

### AI交互
- **直接输入** - 与AI对话,无需命令前缀
- `/clear-history` - 清除AI对话历史

### 系统命令  
- `/help` - 显示帮助信息
- `/status` - 显示当前状态
- `/s` - 设置管理(API密钥、语言、模型)
- `/mode` - 切换工作模式
- `/clear` - 清屏
- `/exit` - 退出程序

### 文件操作
- `/pwd` - 显示当前目录
- `/ls` - 列出文件
- `/cd <目录>` - 切换目录

## 🎯 工作模式

- **Ask** - 询问模式(标准问答交互)
- **mostly accepted** - 大部分接受模式(快速确认建议)
- **sprint** - 冲刺模式(快速开发迭代)

## 🔧 技术架构

### AI集成
- **API接口** - 支持多种AI模型
- **工具系统** - 标准化XML工具调用
- **安全机制** - 命令执行安全限制
- **错误处理** - 完善的异常处理机制

### 模块化设计
- **松耦合** - 各模块独立,易于扩展
- **可测试** - 完整的单元测试支持
- **可配置** - 灵活的配置管理系统

## 🚀 开发计划

- [x] 基础CLI界面
- [x] AI对话集成
- [x] 工具系统实现
- [x] 项目结构感知
- [ ] 更多AI模型支持
- [ ] 插件系统
- [ ] Web界面
- [ ] 团队协作功能

## 📄 许可证

MIT License - 自由使用和修改

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/forge-ai/forge-ai-code",
    "name": "forge-ai-code",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Forge AI Team <support@forgeai.dev>",
    "keywords": "ai, artificial-intelligence, coding, programming, assistant, automation, development, cli, tool, prompt-engineering, multi-model, adaptive",
    "author": "Forge AI Team",
    "author_email": "Forge AI Team <support@forgeai.dev>",
    "download_url": "https://files.pythonhosted.org/packages/ff/0c/2a790f218f40c74f173c09b5690bf1e200d52c9f728fbff512be9d6b1181/forge_ai_code-1.2.7.tar.gz",
    "platform": null,
    "description": "# Forge AI Code\r\n\r\n\ud83e\udd16 \u667a\u80fdCLI AI\u7f16\u7a0b\u52a9\u624b - \u8ba9AI\u5e2e\u4f60\u5199\u4ee3\u7801\uff01\r\n\r\n## \ud83d\ude80 \u6838\u5fc3\u7279\u6027\r\n\r\n### \ud83d\udcac \u667a\u80fd\u5bf9\u8bdd\u7f16\u7a0b\r\n- **\u76f4\u63a5\u5bf9\u8bdd** - \u65e0\u9700\u590d\u6742\u547d\u4ee4\uff0c\u76f4\u63a5\u544a\u8bc9AI\u4f60\u60f3\u8981\u4ec0\u4e48\r\n- **\u9879\u76ee\u611f\u77e5** - AI\u81ea\u52a8\u4e86\u89e3\u4f60\u7684\u9879\u76ee\u7ed3\u6784\u548c\u4ee3\u7801\r\n- **\u5b9e\u65f6\u6267\u884c** - AI\u53ef\u4ee5\u76f4\u63a5\u521b\u5efa\u3001\u4fee\u6539\u6587\u4ef6\u548c\u6267\u884c\u547d\u4ee4\r\n- **\u4f18\u96c5\u4ea4\u4e92** - \u7cbe\u7f8e\u7684\u754c\u9762\u548c\u52a0\u8f7d\u52a8\u753b\r\n\r\n### \ud83d\udee0\ufe0f AI\u5de5\u5177\u80fd\u529b\r\n- **\ud83d\udcd6 \u8bfb\u53d6\u6587\u4ef6** - AI\u53ef\u4ee5\u8bfb\u53d6\u548c\u5206\u6790\u9879\u76ee\u6587\u4ef6\r\n- **\u270f\ufe0f \u521b\u5efa/\u4fee\u6539\u6587\u4ef6** - AI\u53ef\u4ee5\u751f\u6210\u65b0\u4ee3\u7801\u6216\u4fee\u6539\u73b0\u6709\u4ee3\u7801\r\n- **\u26a1 \u6267\u884c\u547d\u4ee4** - AI\u53ef\u4ee5\u8fd0\u884c\u6d4b\u8bd5\u3001\u5b89\u88c5\u4f9d\u8d56\u7b49\r\n- **\ud83c\udfaf \u667a\u80fd\u5206\u6790** - \u81ea\u52a8\u7406\u89e3\u9879\u76ee\u7ed3\u6784\u548c\u9700\u6c42\r\n\r\n## \ud83d\udcc1 \u9879\u76ee\u7ed3\u6784\r\n\r\n```\r\nForgeAI Code/\r\n\u251c\u2500\u2500 main.py                 # \ud83d\ude80 \u4e3b\u7a0b\u5e8f\u5165\u53e3\r\n\u251c\u2500\u2500 forgeai.py             # \ud83d\udcc4 \u539f\u59cb\u7248\u672c\uff08\u4fdd\u7559\uff09\r\n\u251c\u2500\u2500 requirements.txt       # \ud83d\udce6 \u4f9d\u8d56\u5217\u8868\r\n\u251c\u2500\u2500 test_ai.py            # \ud83e\uddea AI\u529f\u80fd\u6d4b\u8bd5\r\n\u2514\u2500\u2500 src/                  # \ud83d\udcc2 \u6838\u5fc3\u6a21\u5757\r\n    \u251c\u2500\u2500 ai_client.py      # \ud83e\udd16 AI\u5ba2\u6237\u7aef\r\n    \u251c\u2500\u2500 ai_tools.py       # \ud83d\udee0\ufe0f AI\u5de5\u5177\u7cfb\u7edf\r\n    \u251c\u2500\u2500 config.py         # \u2699\ufe0f \u914d\u7f6e\u7ba1\u7406\r\n    \u251c\u2500\u2500 modes.py          # \ud83c\udfaf \u5de5\u4f5c\u6a21\u5f0f\r\n    \u251c\u2500\u2500 ui.py             # \ud83c\udfa8 \u7528\u6237\u754c\u9762\r\n    \u251c\u2500\u2500 commands.py       # \ud83d\udcdd \u547d\u4ee4\u7cfb\u7edf\r\n    \u251c\u2500\u2500 input_handler.py  # \u2328\ufe0f \u8f93\u5165\u5904\u7406\r\n    \u2514\u2500\u2500 command_processor.py # \ud83d\udd04 \u547d\u4ee4\u5904\u7406\r\n```\r\n\r\n## \ud83c\udfaf \u4f7f\u7528\u793a\u4f8b\r\n\r\n### \u57fa\u7840\u5bf9\u8bdd\r\n```\r\n> \u4f60\u597d\r\n\ud83e\udd16 AI: \u4f60\u597d\uff01\u6211\u662fForge AI Code\uff0c\u4f60\u7684\u7f16\u7a0b\u52a9\u624b\u3002\u6211\u53ef\u4ee5\u5e2e\u4f60\u521b\u5efa\u9879\u76ee\u3001\u5199\u4ee3\u7801\u3001\u8c03\u8bd5\u95ee\u9898\u7b49\u3002\r\n\r\n> \u6211\u60f3\u505a\u4e00\u4e2a\u8d2a\u5403\u86c7\u6e38\u620f\r\n\ud83e\udd16 AI: \u6211\u6765\u5e2e\u4f60\u521b\u5efa\u8d2a\u5403\u86c7\u6e38\u620f\uff01\u8ba9\u6211\u5148\u67e5\u770b\u9879\u76ee\u7ed3\u6784...\r\n\r\n\u521b\u5efa\u6587\u4ef6 snake_game.py:\r\nimport pygame\r\nimport random\r\nimport sys\r\n\r\nclass SnakeGame:\r\n    def __init__(self):\r\n        # \u6e38\u620f\u521d\u59cb\u5316\u4ee3\u7801\r\n        ...\r\n```\r\n\r\n### AI\u5de5\u4f5c\u6d41\u7a0b\r\n1. **\u5206\u6790\u9700\u6c42** - AI\u7406\u89e3\u4f60\u7684\u8981\u6c42\r\n2. **\u67e5\u770b\u9879\u76ee** - \u81ea\u52a8\u5206\u6790\u73b0\u6709\u4ee3\u7801\u7ed3\u6784  \r\n3. **\u5236\u5b9a\u8ba1\u5212** - \u89c4\u5212\u5b9e\u73b0\u6b65\u9aa4\r\n4. **\u6267\u884c\u64cd\u4f5c** - \u521b\u5efa\u6587\u4ef6\u3001\u5199\u5165\u4ee3\u7801\r\n5. **\u6d4b\u8bd5\u9a8c\u8bc1** - \u8fd0\u884c\u4ee3\u7801\u786e\u4fdd\u6b63\u5e38\u5de5\u4f5c\r\n6. **\u603b\u7ed3\u5b8c\u6210** - \u63d0\u4f9b\u4f7f\u7528\u8bf4\u660e\r\n\r\n## \u2699\ufe0f \u5b89\u88c5\u548c\u914d\u7f6e\r\n\r\n### 1. \u5b89\u88c5\u4f9d\u8d56\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n### 2. \u914d\u7f6eAPI\u5bc6\u94a5\r\n```bash\r\npython main.py\r\n# \u8f93\u5165 /s \u8fdb\u5165\u8bbe\u7f6e\r\n# \u9009\u62e9 2 \u8bbe\u7f6eAPI\u5bc6\u94a5\r\n```\r\n\r\n### 3. \u5f00\u59cb\u4f7f\u7528\r\n```bash\r\npython main.py\r\n# \u76f4\u63a5\u8f93\u5165\u4f60\u7684\u9700\u6c42\uff0cAI\u4f1a\u81ea\u52a8\u5904\u7406\uff01\r\n```\r\n\r\n## \ud83c\udfae \u547d\u4ee4\u53c2\u8003\r\n\r\n### AI\u4ea4\u4e92\r\n- **\u76f4\u63a5\u8f93\u5165** - \u4e0eAI\u5bf9\u8bdd\uff0c\u65e0\u9700\u547d\u4ee4\u524d\u7f00\r\n- `/clear-history` - \u6e05\u9664AI\u5bf9\u8bdd\u5386\u53f2\r\n\r\n### \u7cfb\u7edf\u547d\u4ee4  \r\n- `/help` - \u663e\u793a\u5e2e\u52a9\u4fe1\u606f\r\n- `/status` - \u663e\u793a\u5f53\u524d\u72b6\u6001\r\n- `/s` - \u8bbe\u7f6e\u7ba1\u7406\uff08API\u5bc6\u94a5\u3001\u8bed\u8a00\u3001\u6a21\u578b\uff09\r\n- `/mode` - \u5207\u6362\u5de5\u4f5c\u6a21\u5f0f\r\n- `/clear` - \u6e05\u5c4f\r\n- `/exit` - \u9000\u51fa\u7a0b\u5e8f\r\n\r\n### \u6587\u4ef6\u64cd\u4f5c\r\n- `/pwd` - \u663e\u793a\u5f53\u524d\u76ee\u5f55\r\n- `/ls` - \u5217\u51fa\u6587\u4ef6\r\n- `/cd <\u76ee\u5f55>` - \u5207\u6362\u76ee\u5f55\r\n\r\n## \ud83c\udfaf \u5de5\u4f5c\u6a21\u5f0f\r\n\r\n- **Ask** - \u8be2\u95ee\u6a21\u5f0f\uff08\u6807\u51c6\u95ee\u7b54\u4ea4\u4e92\uff09\r\n- **mostly accepted** - \u5927\u90e8\u5206\u63a5\u53d7\u6a21\u5f0f\uff08\u5feb\u901f\u786e\u8ba4\u5efa\u8bae\uff09\r\n- **sprint** - \u51b2\u523a\u6a21\u5f0f\uff08\u5feb\u901f\u5f00\u53d1\u8fed\u4ee3\uff09\r\n\r\n## \ud83d\udd27 \u6280\u672f\u67b6\u6784\r\n\r\n### AI\u96c6\u6210\r\n- **API\u63a5\u53e3** - \u652f\u6301\u591a\u79cdAI\u6a21\u578b\r\n- **\u5de5\u5177\u7cfb\u7edf** - \u6807\u51c6\u5316XML\u5de5\u5177\u8c03\u7528\r\n- **\u5b89\u5168\u673a\u5236** - \u547d\u4ee4\u6267\u884c\u5b89\u5168\u9650\u5236\r\n- **\u9519\u8bef\u5904\u7406** - \u5b8c\u5584\u7684\u5f02\u5e38\u5904\u7406\u673a\u5236\r\n\r\n### \u6a21\u5757\u5316\u8bbe\u8ba1\r\n- **\u677e\u8026\u5408** - \u5404\u6a21\u5757\u72ec\u7acb\uff0c\u6613\u4e8e\u6269\u5c55\r\n- **\u53ef\u6d4b\u8bd5** - \u5b8c\u6574\u7684\u5355\u5143\u6d4b\u8bd5\u652f\u6301\r\n- **\u53ef\u914d\u7f6e** - \u7075\u6d3b\u7684\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf\r\n\r\n## \ud83d\ude80 \u5f00\u53d1\u8ba1\u5212\r\n\r\n- [x] \u57fa\u7840CLI\u754c\u9762\r\n- [x] AI\u5bf9\u8bdd\u96c6\u6210\r\n- [x] \u5de5\u5177\u7cfb\u7edf\u5b9e\u73b0\r\n- [x] \u9879\u76ee\u7ed3\u6784\u611f\u77e5\r\n- [ ] \u66f4\u591aAI\u6a21\u578b\u652f\u6301\r\n- [ ] \u63d2\u4ef6\u7cfb\u7edf\r\n- [ ] Web\u754c\u9762\r\n- [ ] \u56e2\u961f\u534f\u4f5c\u529f\u80fd\r\n\r\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\r\n\r\nMIT License - \u81ea\u7531\u4f7f\u7528\u548c\u4fee\u6539\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\u667a\u80fdAI\u7f16\u7a0b\u52a9\u624b - \u652f\u6301\u591a\u79cdAI\u6a21\u578b\u7684\u81ea\u9002\u5e94\u63d0\u793a\u8bcd\u7cfb\u7edf\uff0c\u65b0\u589e\u5220\u9664\u6587\u4ef6\u5de5\u5177\u548c\u5de5\u5177\u8c03\u7528\u9650\u5236",
    "version": "1.2.7",
    "project_urls": {
        "Bug Reports": "https://github.com/forge-ai/forge-ai-code/issues",
        "Changelog": "https://github.com/forge-ai/forge-ai-code/blob/main/VERSION.md",
        "Documentation": "https://forge-ai-code.readthedocs.io/",
        "Homepage": "https://forge-ai-code.dev/",
        "Repository": "https://github.com/forge-ai/forge-ai-code"
    },
    "split_keywords": [
        "ai",
        " artificial-intelligence",
        " coding",
        " programming",
        " assistant",
        " automation",
        " development",
        " cli",
        " tool",
        " prompt-engineering",
        " multi-model",
        " adaptive"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "40de93682edb2f522b13df32319d6011f3f66c36e363456ed145b8fdf4725421",
                "md5": "e4aea924c49abb87cac45e27aa62caad",
                "sha256": "df9529668f23beb4f782900f49862efeb10ac780e22feff10b72ef43e56bc299"
            },
            "downloads": -1,
            "filename": "forge_ai_code-1.2.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e4aea924c49abb87cac45e27aa62caad",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 54999,
            "upload_time": "2025-08-20T11:53:35",
            "upload_time_iso_8601": "2025-08-20T11:53:35.212920Z",
            "url": "https://files.pythonhosted.org/packages/40/de/93682edb2f522b13df32319d6011f3f66c36e363456ed145b8fdf4725421/forge_ai_code-1.2.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ff0c2a790f218f40c74f173c09b5690bf1e200d52c9f728fbff512be9d6b1181",
                "md5": "dcd43e130b7576b6e475c22303caed38",
                "sha256": "730e4cff36ecff179e62e9961780ace366f5750e13c26b205cfb7ec7dba7fb32"
            },
            "downloads": -1,
            "filename": "forge_ai_code-1.2.7.tar.gz",
            "has_sig": false,
            "md5_digest": "dcd43e130b7576b6e475c22303caed38",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 165578,
            "upload_time": "2025-08-20T11:53:37",
            "upload_time_iso_8601": "2025-08-20T11:53:37.630216Z",
            "url": "https://files.pythonhosted.org/packages/ff/0c/2a790f218f40c74f173c09b5690bf1e200d52c9f728fbff512be9d6b1181/forge_ai_code-1.2.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-20 11:53:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "forge-ai",
    "github_project": "forge-ai-code",
    "github_not_found": true,
    "lcname": "forge-ai-code"
}
        
Elapsed time: 1.91562s