# copilot **Repository Path**: pandongang/copilot ## Basic Information - **Project Name**: copilot - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-02-03 - **Last Updated**: 2026-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Euler Copilot Euler Copilot 是一款由大模型驱动的 AI 智能操作系统助手。 ## 功能特性 - **多 LLM 提供商** - 支持 Zhipu、OpenAI、DeepSeek、Qwen、Ollama 和自定义提供商 - **智能代理系统** - 7 个内置 AI 代理(通用助手、代码审查、文档编写、测试工程、重构、调试、Git 助手) - **自动路由** - 根据任务类型自动选择最合适的 AI 代理 - **TUI 界面** - 支持交互式终端用户界面 - **智能问答** - 提出问题并获得准确答案 - **代码助手** - 编写、审查和解释代码 - **文件操作** - 直接读取、写入和编辑文件 - **命令执行** - 使用 AI 建议运行 shell 命令 - **会话记忆** - 支持历史导航的上下文感知多轮对话 - **Token 追踪** - 监控每个提供商的使用量和成本 - **自动补全** - 斜杠命令的 Tab 补全 - **会话录制** - 记录 LLM 输入/输出用于调试和分析 - **技能系统** - 可扩展的特定任务提示模板 ## 安装 ### 从 RPM 安装 ```bash rpm -ivh copilot-*.rpm ``` ### 从源码安装 ```bash cargo build --release sudo install target/release/copilot /usr/local/bin/copilot ``` ## 配置 ### 选择提供商 在 `~/.copilot/config.toml` 创建配置文件: ```toml # 选择提供商(默认:zhipu) provider = "zhipu" # API 密钥(可选,可使用环境变量) api_key = "your-api-key" # 覆盖提供商默认设置(可选) # api_url = "https://..." # model = "custom-model" # 日志级别 # log_level = "warn" # 记录 LLM 输入/输出到文件 record = true ``` ### 可用提供商 | 提供商 | 模型 | 输入 (元/M) | 输出 (元/M) | |--------|-------|-------------|--------------| | `zhipu` | glm-4 | 0.5 | 0.5 | | `zhipu-plus` | glm-4-plus | 1.0 | 1.0 | | `openai` | gpt-4 | 30.0 | 60.0 | | `openai-gpt4o` | gpt-4o | 5.0 | 15.0 | | `openai-gpt35` | gpt-3.5-turbo | 0.5 | 1.5 | | `deepseek` | deepseek-chat | 0.14 | 0.28 | | `deepseek-reasoner` | deepseek-reasoner | 0.55 | 2.19 | | `qwen` | qwen-turbo | 0.3 | 0.6 | | `ollama` | llama2 (本地) | 0 | 0 | ### 环境变量 ```bash # Zhipu(默认) export ZHIPU_API_KEY="your-key" # OpenAI export OPENAI_API_KEY="your-key" # DeepSeek export DEEPSEEK_API_KEY="your-key" # Qwen export DASHSCOPE_API_KEY="your-key" ``` ### 自定义提供商 ```toml [custom_providers.my-provider] api_url = "https://my-api.com/v1/chat/completions" model = "my-model" input_price = 0.1 output_price = 0.2 ``` ## 使用方法 ### 交互模式 ```bash copilot ``` 特性: - **Tab 补全** - 输入 `/` 并按 Tab 查看命令 - **方向键** - 浏览命令历史(上/下) - **持久化历史** - 保存在 `~/.copilot/history` ### 非交互模式 ```bash copilot -p "your prompt" ``` ### CLI 选项 | 选项 | 说明 | |--------|-------------| | `-V, --version` | 打印版本信息 | | `-v, --verbose` | 启用详细输出 | | `-c, --config ` | 设置配置文件路径 | | `--provider ` | 选择 LLM 提供商 | | `--api-url ` | 覆盖 API 端点 URL | | `--api-key ` | API 认证密钥 | | `--model ` | 覆盖模型名称 | | `--log-level ` | 日志级别 (trace, debug, info, warn, error, off) | | `--log-file ` | 日志文件路径 | | `--json-log` | 启用 JSON 日志格式 | | `-p, --print` | 非交互输出模式 | | `--record` | 记录 LLM 输入/输出到文件 | | `--demo` | 以演示模式运行(模拟 API 响应)| ### 交互命令 | 命令 | 说明 | |---------|-------------| | `/help` | 显示可用命令 | | `/version` | 显示版本信息 | | `/providers` | 列出所有 LLM 提供商 | | `/exit`, `/quit` | 退出会话 | | `/cost` | 显示 token 使用量和成本 | | `/clear` | 清除会话历史 | | `/history` | 显示会话历史 | | `/context` | 查看当前上下文使用情况 | | `/read ` | 读取文件内容 | | `/write ` | 写入内容到文件 | | `/edit ` | 使用 AI 辅助编辑文件 | | `/run ` | 执行 shell 命令 | | `/agents` | 列出所有可用的 AI 代理 | | `/agent ` | 切换到指定的 AI 代理 | | `/auto [on\|off]` | 启用/禁用自动路由 | ### 子命令 | 命令 | 说明 | |---------|-------------| | `mcp` | 管理 MCP(模型上下文协议)服务器 | | `plugin` | 管理插件 | | `setup-token` | 设置认证令牌 | | `doctor` | 运行诊断 | | `install` | 安装组件 | ## 示例 ### 交互会话 ```bash $ copilot _____ _ ____ _ _ _ | ____| _ _ | | ___ _ __ / ___| ___ _ __ (_) | | ___ | |_ | _| | | | | | | / _ \ | '__| | | / _ \ | '_ \ | | | | / _ \ | __| | |___ | |_| | | | | __/ | | | |___ | (_) | | |_) | | | | | | (_) | | |_ |_____| \__,_| |_| \___| |_| \____| \___/ | .__/ |_| |_| \___/ \__| |_| -- powered by openEuler Euler Copilot - 您的 AI 智能系统助手 输入 /help 查看可用命令 copilot> /providers 可用的 LLM 提供商: [zhipu] 名称: Zhipu GLM 模型: glm-4 输入: ¥0.5000/M tokens 输出: ¥0.5000/M tokens ... copilot> 如何读取文件? 您可以使用 /read 命令。例如:/read path/to/file.txt copilot> /exit 再见! ``` ### 命令自动补全 ```bash copilot> /he /help /history copilot> /help # 自动补全为 "/help "(带尾随空格) ``` ### 历史导航 ```bash copilot> # 上一个命令 copilot> # 下一个命令 ``` ### Shell 命令执行 当 LLM 返回包含 shell 命令的代码块时,系统会提示您执行: ```bash copilot> 列出当前目录的文件 Copilot: 您可以使用: ```bash ls -la ``` 检测到 shell 命令: --- ls -la --- 执行这些命令?[y/N]: y 正在执行:ls -la 输出: total 24 drwxr-xr-x 5 user staff 160 Dec 26 10:00 . ... ``` ### 使用技能 加载特定任务的技能模板: ```bash copilot> /read skills/code-review.md copilot> 请审查 src/main.rs ``` 可用技能: - `code-review.md` - Rust 代码审查 - `git-commit.md` - 生成约定式提交信息 - `rust-explain.md` - 解释 Rust 代码 - `kunpeng-tuning/SKILL_CN.md` - 鲲鹏(ARM)服务器性能调优指南 ### 使用 AI 代理 Euler Copilot 内置 7 个 AI 代理,可根据任务自动路由: | 代理 ID | 名称 | 描述 | |---------|------|------| | `general` | 通用助手 | 处理各种通用任务 | | `code-review` | 代码审查员 | 审查代码安全、性能和最佳实践 | | `documentation` | 文档编写员 | 生成和改进文档 | | `testing` | 测试工程师 | 编写单元测试和集成测试 | | `refactoring` | 代码重构师 | 改善代码结构和可维护性 | | `debugging` | 调试专家 | 诊断和修复 bug | | `git` | Git 助手 | Git 操作和提交信息生成 | 使用 `/agents` 查看所有代理,`/agent ` 手动切换代理,`/auto on/off` 启用/禁用自动路由。 ## 开发 ### 代码统计 ```bash make stats ``` ### 构建 RPM ```bash make rpm ``` ## 项目结构 ``` copilot/ ├── src/ │ ├── main.rs # 入口文件 │ ├── args.rs # CLI 参数解析 │ ├── client.rs # LLM HTTP 客户端 │ ├── config.rs # 提供商配置 │ ├── files.rs # 文件操作 │ ├── history.rs # 会话历史 │ ├── readline.rs # 带补全的 Readline │ ├── recorder.rs # 会话录制 │ ├── tracker.rs # Token 使用追踪 │ ├── types.rs # Serde 类型 │ ├── utils.rs # 辅助函数 │ ├── agent/ # AI 代理系统 │ │ ├── mod.rs # 模块定义 │ │ ├── traits.rs # 代理 trait │ │ ├── router.rs # 路由器 │ │ └── builtin.rs # 内置代理实现 │ ├── cli/ # CLI/TUI 界面 │ │ ├── mod.rs # 模块定义 │ │ ├── app.rs # TUI 应用 │ │ ├── commands.rs # 命令处理 │ │ ├── state.rs # 应用状态 │ │ ├── types.rs # 类型定义 │ │ ├── widgets.rs # UI 组件 │ │ └── history.rs # 历史记录组件 │ ├── core/ # 核心功能 │ │ ├── mod.rs # 模块定义 │ │ ├── kit.rs # 工具包 │ │ ├── manager.rs # 管理器 │ │ ├── process.rs # 进程处理 │ │ └── prompt.rs # 提示工程 │ ├── memory/ # 记忆管理 │ │ ├── mod.rs # 模块定义 │ │ └── context.rs # 上下文管理 │ └── common/ # 公共模块 │ ├── mod.rs # 模块定义 │ └── async_queue.rs # 异步队列 ├── skills/ # 提示技能模板 │ ├── code-review.md │ ├── git-commit.md │ ├── rust-explain.md │ ├── copilot-skill.md │ └── kunpeng-tuning/ # 鲲鹏调优技能 │ ├── SKILL_CN.md │ └── SKILL.md └── Makefile # 构建自动化 ``` ## 许可证 [Mulan PSL v2](LICENSE) --- [English](README_EN.md)