{"id":29617099,"url":"https://github.com/kangvcar/ais","last_synced_at":"2025-07-21T01:33:18.342Z","repository":{"id":303950957,"uuid":"1016513439","full_name":"kangvcar/ais","owner":"kangvcar","description":"  🤖 AI驱动的智能终端助手，自动分析命令错误、提供智能解决方案并教授命令行知   识。具备智能错误检测、交互式学习系统、多AI服务商支持，以及Linux/macOS的无缝Shell集成。","archived":false,"fork":false,"pushed_at":"2025-07-18T07:06:49.000Z","size":757,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-18T08:22:04.216Z","etag":null,"topics":["ai","assistant","cli","command","shell"],"latest_commit_sha":null,"homepage":"https://kangvcar.github.io/ais/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kangvcar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-09T06:05:33.000Z","updated_at":"2025-07-18T07:06:53.000Z","dependencies_parsed_at":"2025-07-10T17:38:10.230Z","dependency_job_id":"652dff4d-41f0-48ac-8271-6e79b91bd55e","html_url":"https://github.com/kangvcar/ais","commit_stats":null,"previous_names":["kangvcar/ais"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/kangvcar/ais","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangvcar%2Fais","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangvcar%2Fais/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangvcar%2Fais/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangvcar%2Fais/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kangvcar","download_url":"https://codeload.github.com/kangvcar/ais/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangvcar%2Fais/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266226341,"owners_count":23895690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","assistant","cli","command","shell"],"created_at":"2025-07-21T01:33:15.671Z","updated_at":"2025-07-21T01:33:18.332Z","avatar_url":"https://github.com/kangvcar.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AIS - 上下文感知的错误分析学习助手\n\n\u003cdiv align=\"center\"\u003e\n\n**让每次报错都是成长**\n\n[![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://python.org)\n[![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Package Version](https://img.shields.io/badge/version-0.2.8-blue.svg)](https://github.com/kangvcar/ais)\n[![CI Status](https://img.shields.io/github/workflow/status/kangvcar/ais/CI)](https://github.com/kangvcar/ais/actions)\n\n[📖 安装指南](#installation) · [🚀 快速开始](#quickstart) · [🤝 贡献](#contributing)\n\n\u003c/div\u003e\n\n---\n\n## 概述\n\nAIS通过深度Shell集成架构，实现多维上下文感知和智能错误分析，自动收集执行环境信息并进行精准问题定位，在终端内直接提供基于上下文的解决方案和系统化学习指导，消除传统错误处理中的搜索跳转和盲目试错，显著提升问题解决效率和技能积累速度。\n\n### 🌟 核心特性\n\n#### 🔍 智能错误分析\n- **自动检测** - 命令失败时自动分析错误原因\n- **上下文感知** - 结合当前目录、Git状态、项目类型等环境信息  \n- **个性化建议** - 基于用户技能水平提供针对性解决方案\n- **安全等级** - 每个建议都标注风险等级，确保操作安全\n\n#### 📚 智能学习系统\n- **交互式教学** - 解释\"为什么\"而不只是\"怎么做\"\n- **主题学习** - 深入学习Git、Docker、Vim等专题知识\n- **渐进式内容** - 根据用户水平调整教学深度\n- **实践导向** - 提供可执行的命令示例和最佳实践\n\n#### 🎯 多模式交互\n- **问答模式** - `ais ask` 快速获取问题答案\n- **学习模式** - `ais learn` 系统学习命令行知识\n- **分析模式** - 自动或手动分析命令错误\n\n#### 🔌 强大的集成能力\n- **Shell集成** - 支持Bash、Zsh自动错误捕获\n- **多AI支持** - 兼容OpenAI、Ollama、Claude等多种AI服务\n- **隐私保护** - 本地数据存储，敏感信息自动过滤\n- **跨平台** - 支持Linux、macOS\n\n---\n\n## \u003ca id=\"installation\"\u003e\u003c/a\u003e📦 安装\n\n### 系统要求\n\n- **Python**: 3.8+ （推荐 3.11+）\n- **操作系统**: Linux, macOS\n- **网络**: 需要网络连接以下载依赖和AI服务\n- **空间**: 至少 100MB 可用空间\n\n### ⚡ 一键安装（推荐）\n\n```bash\n# 智能安装 - 自动检测环境并选择最佳方式\ncurl -sSL https://raw.githubusercontent.com/kangvcar/ais/main/scripts/install.sh | bash\n\n# 国内用户可使用Gitee镜像（更快更稳定）\ncurl -sSL https://gitee.com/kangvcar/ais/raw/main/scripts/install.sh | bash\n```\n\n**安装脚本会自动：**\n- 🔍 检测当前环境（个人/团队/容器）\n- 🎯 选择最佳安装方式（pipx用户级/系统级/容器化）\n- 📦 安装pipx和AIS\n- 🔧 配置shell集成\n- ✅ 执行健康检查\n\n### 🗑️ 一键卸载\n\n```bash\n# 智能卸载 - 自动检测安装方式并完全清理\ncurl -sSL https://raw.githubusercontent.com/kangvcar/ais/main/scripts/uninstall.sh | bash\n\n# 国内用户可使用Gitee镜像\ncurl -sSL https://gitee.com/kangvcar/ais/raw/main/scripts/uninstall.sh | bash\n```\n\n**卸载脚本会自动：**\n- 🔍 检测AIS安装方式（pipx用户级/系统级）\n- 🗑️ 卸载AIS包和依赖\n- 🧹 清理shell集成配置\n- 📁 可选择保留或删除用户数据\n- ✅ 验证卸载完成\n\n### 🎯 分场景安装\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🐳 Docker容器（推荐 - 零配置）\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# 直接运行最新版本\ndocker run -it --rm kangvcar/ais:latest\n\n# 或者交互式使用\ndocker run -it --rm -v $(pwd):/workspace kangvcar/ais:latest bash\n\n# 使用Docker Compose（推荐用于持久化配置）\ncurl -O https://raw.githubusercontent.com/kangvcar/ais/main/docker-compose.yml\ndocker-compose up -d ais\ndocker-compose exec ais bash\n```\n\n**优势**: 零配置启动，环境隔离，跨平台一致性，支持ARM64架构\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e👨‍💻 个人开发者（Python环境）\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# 用户级安装（最安全）\ncurl -sSL https://raw.githubusercontent.com/kangvcar/ais/main/scripts/install.sh | bash -s -- --user\n\n# 国内用户可使用Gitee镜像\ncurl -sSL https://gitee.com/kangvcar/ais/raw/main/scripts/install.sh | bash -s -- --user\n\n# 或手动安装\npipx install ais-terminal\nais setup\n```\n\n**优势**: 最高安全性，独立虚拟环境，无需sudo权限\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🏢 团队/企业环境\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# 系统级安装（所有用户可用）\ncurl -sSL https://raw.githubusercontent.com/kangvcar/ais/main/scripts/install.sh | bash -s -- --system\n\n# 国内用户可使用Gitee镜像\ncurl -sSL https://gitee.com/kangvcar/ais/raw/main/scripts/install.sh | bash -s -- --system\n```\n\n**优势**: 所有用户可用，保持安全隔离，集中管理和更新\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🐳 容器/云环境\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Docker容器化安装\ncurl -sSL https://raw.githubusercontent.com/kangvcar/ais/main/scripts/docker-install.sh | bash\n\n# 或直接运行\ndocker run -it --rm ais-terminal:latest\n```\n\n**优势**: 环境一致性，快速部署，易于扩展，完全隔离\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🔧 开发者/贡献者\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# 源码安装\ngit clone https://github.com/kangvcar/ais.git\ncd ais\npipx install -e .\n\n# 或使用虚拟环境\npython -m venv .venv\nsource .venv/bin/activate\npip install -e \".[dev]\"\n```\n\n**优势**: 实时修改效果，完整开发工具链，易于调试\n\n\u003c/details\u003e\n\n### ✅ 验证安装\n\n```bash\n# 检查版本\nais --version\n\n# 测试基本功能\nais ask \"你好，AIS！\"\n\n# 测试自动错误分析（故意输错命令）\nmkdirr /tmp/test\n```\n\n---\n\n## \u003ca id=\"quickstart\"\u003e\u003c/a\u003e🚀 快速开始\n\n### 基础配置\n\n```bash\n# 查看当前配置\nais config\n\n# 设置API提供商（可选）\nais config set provider=openai\nais config set api_key=\"your-api-key\"\n\n# 调整分析级别\nais config set analysis_level=detailed\n```\n\n### 核心功能体验\n\n#### 💬 AI问答\n```bash\nais ask \"如何查看系统内存使用情况？\"\nais ask \"Docker容器如何挂载目录？\"\nais ask \"Git合并冲突如何解决？\"\n```\n\n#### 📖 主题学习\n```bash\nais learn git      # 学习Git版本控制\nais learn docker   # 学习容器化技术\nais learn vim      # 学习文本编辑器\nais learn ssh      # 学习远程连接\n```\n\n#### 🔍 智能错误分析\n```bash\n# 这些错误命令会自动触发AI分析\npytho --version        # 拼写错误\nls /not/exist         # 路径不存在\ngit statuss           # 命令错误\n```\n\n#### 📊 历史管理\n```bash\nais history                    # 查看最近的命令记录\nais history --failed-only     # 只显示失败的命令\nais history 3                 # 查看第3条记录的详细分析\n```\n\n---\n\n## 📚 详细功能\n\n### 智能问答 - `ais ask`\n\n快速获取技术问题的答案，支持编程、运维、工具使用等各类问题：\n\n```bash\nais ask \"Linux文件权限755表示什么？\"\nais ask \"如何优化Python脚本性能？\"\nais ask \"Nginx配置反向代理的步骤？\"\n```\n\n### 知识学习 - `ais learn`\n\n系统学习命令行工具和概念：\n\n```bash\nais learn              # 查看所有可学习主题\nais learn git          # Git版本控制完整教程\nais learn docker       # 容器化技术深度学习\nais learn linux        # Linux系统管理基础\n```\n\n### AI服务商管理\n\n支持多种AI服务商，灵活切换：\n\n```bash\n# 查看可用服务商\nais provider-list\n\n# 添加本地Ollama服务\nais provider-add ollama \\\n  --url http://localhost:11434/v1/chat/completions \\\n  --model llama3\n\n# 切换服务商\nais provider-use ollama\n```\n\n### Shell集成配置\n\nAIS支持自动错误分析，需要配置Shell集成：\n\n```bash\n# 自动配置\nais setup\n\n# 测试集成是否正常工作\nais test-integration\n```\n\n---\n\n## ⚙️ 高级配置\n\n### 上下文收集设置\n\n控制错误分析时收集的上下文信息量：\n\n```bash\n# 设置上下文级别\nais config set context_level=minimal    # 基本信息\nais config set context_level=standard   # 标准信息（默认）\nais config set context_level=detailed   # 详细信息\n\n# 控制自动分析\nais config set auto_analysis=true       # 开启自动分析\nais config set auto_analysis=false      # 关闭自动分析\n```\n\n### 隐私和安全\n\nAIS重视用户隐私和数据安全：\n\n- **本地存储** - 所有数据存储在本地SQLite数据库\n- **敏感信息过滤** - 自动过滤密码、密钥等敏感信息\n- **可配置的上下文级别** - 用户可控制信息收集范围\n- **开源透明** - 完全开源，代码公开透明\n\n---\n\n## 🏗️ 项目架构\n\n```\nais/\n├── src/ais/              # 主要源代码\n│   ├── cli/              # CLI界面模块\n│   │   ├── main.py       # 主CLI入口\n│   │   └── interactive.py # 交互式菜单\n│   ├── core/             # 核心功能模块\n│   │   ├── ai.py         # AI交互模块\n│   │   ├── config.py     # 配置管理\n│   │   ├── context.py    # 上下文收集\n│   │   └── database.py   # 数据库操作\n│   ├── ui/               # 用户界面\n│   │   └── panels.py     # 显示面板\n│   └── utils/            # 工具函数\n├── scripts/              # 安装和部署脚本\n├── tests/                # 测试文件\n├── docs/                 # 文档目录\n└── pyproject.toml        # 项目配置\n```\n\n### 核心模块\n\n- **CLI模块** (`src/ais/cli/`): 命令行接口和交互式界面\n- **Core模块** (`src/ais/core/`): AI服务集成、配置管理、上下文收集、数据库操作\n- **UI模块** (`src/ais/ui/`): Rich库显示面板和格式化\n\n---\n\n---\n\n## 🧪 开发和测试\n\n### 开发环境设置\n\n```bash\n# 克隆仓库\ngit clone https://github.com/kangvcar/ais.git\ncd ais\n\n# 创建虚拟环境\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# 安装开发版本和依赖\npip install -e \".[dev]\"\n\n# 设置pre-commit\npre-commit install\n```\n\n### 运行测试\n\n```bash\n# 运行所有测试\npython -m pytest tests/ -v\n\n# 运行覆盖率测试\npython -m pytest --cov=ais tests/\n\n# 代码质量检查\nsource .venv/bin/activate \u0026\u0026 black src/ tests/\nsource .venv/bin/activate \u0026\u0026 flake8 src/ tests/ --max-line-length=79\n```\n\n---\n\n## \u003ca id=\"contributing\"\u003e\u003c/a\u003e🤝 贡献指南\n\n我们欢迎所有形式的贡献！\n\n### 如何参与\n\n1. **Fork** 这个仓库\n2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 打开一个 **Pull Request**\n\n### 开发规范\n\n- 遵循 [PEP 8](https://pep8.org/) 代码风格\n- 为新功能添加测试用例\n- 更新相关文档\n- 提交信息使用清晰的描述\n\n### 代码质量\n\n确保代码符合项目标准：\n\n```bash\n# 自动代码格式化\nsource .venv/bin/activate \u0026\u0026 autopep8 --in-place --aggressive --aggressive --max-line-length=79 src/ tests/ -r\n\n# 运行所有质量检查\npython -m pytest tests/ -v\nsource .venv/bin/activate \u0026\u0026 black src/ tests/\nsource .venv/bin/activate \u0026\u0026 flake8 src/ tests/ --max-line-length=79\n```\n\n---\n\n## 🆘 获取帮助\n\n### 自助资源\n\n```bash\n# 一键诊断\nais doctor\n\n# 详细调试\nais --debug --version\n\n# 查看所有帮助\nais help-all\n```\n\n### 社区支持\n\n- 📚 [完整文档](docs/)\n- 💬 [GitHub Discussions](https://github.com/kangvcar/ais/discussions) - 交流讨论\n- 🐛 [GitHub Issues](https://github.com/kangvcar/ais/issues) - 问题反馈\n- 📧 [邮件支持](mailto:ais@example.com) - 直接联系\n\n### 报告问题\n\n报告问题时请提供：\n- 操作系统和版本\n- Python版本 (`python3 --version`)\n- AIS版本 (`ais --version`)\n- 安装方式（pipx/Docker/源码）\n- 完整错误信息\n- 复现步骤\n\n---\n\n## 📝 许可证\n\n本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。\n\n---\n\n## 🎉 鸣谢\n\n感谢所有为这个项目做出贡献的开发者们！\n\n### 技术栈\n\n- **Python 3.8+** - 核心语言\n- **Click** - 命令行界面框架\n- **Rich** - 终端美化和格式化\n- **SQLModel** - 数据库ORM\n- **httpx** - HTTP客户端\n- **pytest** - 测试框架\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**🎉 让AI成为你的终端伙伴，让命令行学习变得简单而有趣！**\n\n如果觉得有用，请给我们点个 ⭐️ 支持！\n\n[![Stars](https://img.shields.io/github/stars/kangvcar/ais?style=social)](https://github.com/kangvcar/ais/stargazers)\n[![Forks](https://img.shields.io/github/forks/kangvcar/ais?style=social)](https://github.com/kangvcar/ais/network/members)\n\n[回到顶部](#ais---上下文感知的错误分析学习助手)\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkangvcar%2Fais","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkangvcar%2Fais","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkangvcar%2Fais/lists"}