# 安装指南(中文) 这是 **GenericAgent** 的详细安装指南。 两类读者: - **[面向用户(For Humans)](#面向用户-for-humans)** —— 你自己安装 GA。 - **[面向 LLM Agent(For LLM Agents)](#面向-llm-agent-for-llm-agents)** —— 你是 Claude Code、Codex 等编程 Agent,需要替人类用户安装 GA。请先读这一段,避免靠猜。 > 最短安装命令见主 [README](../README.md#-快速开始)。这份文档补充平台差异、Key 配置、验证、排障,以及 Agent 自动安装时的安全规则。 --- ## 面向用户(For Humans) ### 准备工作 | 要求 | 说明 | |---|---| | **操作系统** | Windows 10/11、macOS 12+,或任意现代 Linux。 | | **Python** | 推荐 **Python 3.11 或 3.12**。**不要使用 Python 3.14**,它与 `pywebview` 及部分 GA 依赖不兼容。方法一的一键脚本会准备隔离运行环境,通常不需要手动装 Python。 | | **Git** | 推荐安装,方便升级和自我进化。 | | **LLM API Key** | GA 原生支持两类协议:**OpenAI 兼容接口** 和 **Anthropic Claude 原生接口**。GPT 系列、Claude、Kimi、MiniMax、DeepSeek、GLM、Qwen、通过 OAI 兼容网关接入的 Gemini 等,都可以在 `mykey.py` 中配置。 | ### 方法一:一键安装(推荐) 这是最省心的路径。脚本会准备隔离环境、下载 GenericAgent、安装核心依赖,并得到一个可以直接运行的本地项目目录。 **Windows PowerShell** ```powershell powershell -ExecutionPolicy Bypass -c "irm http://fudankw.cn:9000/files/ga_install.ps1 | iex" ``` **Linux / macOS** ```bash curl -fsSL http://fudankw.cn:9000/files/ga_install.sh | bash ``` 安装完成后,Windows 用户可双击: ```text frontends/GenericAgent.exe ``` 也可以进入项目目录运行: ```bash python launch.pyw ``` > GenericAgent 更推荐由 Agent 在使用中自举环境,而不是预先手动装完整依赖。先把最小系统跑起来,需要什么工具再让 GA 自己安装。 #### 自定义安装路径 ```bash INSTALL_DIR="$HOME/work/GenericAgent" bash -c "$(curl -fsSL http://fudankw.cn:9000/files/ga_install.sh)" ``` ```powershell $env:INSTALL_DIR="C:\dev\GenericAgent"; powershell -ExecutionPolicy Bypass -c "irm http://fudankw.cn:9000/files/ga_install.ps1 | iex" ``` #### 强制重新安装 仅在明确想刷新已安装文件时使用。请先备份 `mykey.py`、`memory/`、`skills/` 和本地工作成果。 ```bash FORCE=1 bash -c "$(curl -fsSL http://fudankw.cn:9000/files/ga_install.sh)" ``` ### 方法二:Python 安装(开发者) 适合想要可编辑源码目录的开发者。 ```bash git clone https://github.com/lsdefine/GenericAgent.git cd GenericAgent uv venv uv pip install -e ".[ui]" # 核心 + UI 依赖 cp mykey_template.py mykey.py # 填入你的 LLM API Key python launch.pyw ``` 完整引导流程见 [GETTING_STARTED.md](GETTING_STARTED.md)。 ### 配置 LLM Key 1. 打开已安装的 `GenericAgent` 目录。 2. 如果没有 `mykey.py`,从 `mykey_template.py` 复制一份。 3. 填入一个真实可用的模型服务商配置。**不要**把示例 Key 当真。 4. 不确定字段含义时,先读 `mykey_template.py` 里的注释。 GA 支持: - **OpenAI 兼容接口** —— Chat Completions / Responses 形态的接口。 - **Anthropic Claude 原生接口** —— Claude Messages API。 可选配置向导: ```bash python assets/configure_mykey.py ``` ### 前端启动方式 #### 桌面端 一键安装自带桌面端,双击: ```text frontends/GenericAgent.exe ``` #### 终端 UI 基于 [Textual](https://github.com/Textualize/textual) 的轻量键盘驱动界面。支持多会话并发、实时流式输出,有终端就能跑。 ```bash python frontends/tuiapp_v2.py ``` #### Streamlit UI ```bash python launch.pyw ``` ### 验证安装 在 GenericAgent 目录下运行: ```bash python -c "import agent_loop; print('OK')" git rev-parse --short HEAD ``` 然后至少启动一个前端: ```bash python launch.pyw # 或 python frontends/tuiapp_v2.py ``` ### 常见坑 #### 不支持 Python 3.14 如果系统 `python --version` 显示 3.14,不要用它跑 GA。请走一键安装,或用 `uv` 创建 Python 3.11 / 3.12 环境。 #### `ga` 命令冲突 有些系统已经把 `ga` 分配给其他工具。先检查: ```bash type ga ``` 如果解析到意料之外的位置,就不要依赖这个快捷命令。请进入安装目录运行 `python launch.pyw` 或 `python frontends/tuiapp_v2.py`。 #### Windows 上 TUI 显示异常 TUI 在 Windows 上依赖终端、字体和 `textual` 版本。 1. 先升级 Textual:`pip install -U textual`。 2. PowerShell / cmd 对 Unicode 和键位支持较弱,**Windows 上推荐用 Git Bash**。 3. 仍然异常时,可以让 GA 自己修一遍。参考 Prompt: > *"我在 Windows 的 PowerShell / cmd / Git Bash 中使用 `frontends/tuiapp_v2.py` 体验非常差,出现了一堆不兼容问题。请参考 Claude Code 在 Windows 终端的最佳配置,把所有字体和显示不兼容的问题修一遍。"* #### Linux 上 `pywebview` 安装失败 桌面模式依赖 GTK / WebKit。Debian / Ubuntu: ```bash sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev pip install pywebview ``` 无头服务器建议使用 TUI,或用浏览器方式运行 Streamlit,不要强行启桌面模式。 ### 升级已有安装 不要为了升级而删除一个可用的 GA 目录。里面可能有用户的 `mykey.py`、记忆、技能和本地成果。 ```bash cd ~/GenericAgent git fetch git pull uv pip install -e ".[ui]" ``` 如果 `git pull` 报冲突: - `mykey.py`、`memory/`、`skills/`、`temp/` 和用户成果:本地优先。 - `agent*.py`、`frontends/*`、`reflect/*`、`tools/*` 等核心代码:通常 upstream 优先,除非用户另有说明。 - 明确解决冲突后,再 `git add` 并提交合并。 --- ## 面向 LLM Agent(For LLM Agents) > **重要:用 `curl` 获取本文,不要依赖会摘要网页的读取器。** 摘要常会丢掉环境变量、命令引号和安全规则。 > > ```bash > curl -fsSL https://raw.githubusercontent.com/lsdefine/GenericAgent/refs/heads/main/docs/installation.md > ``` 你正在替人类用户安装 **GenericAgent**。请直接执行、逐步验证;除非用户明确授权,不要做破坏性清理。 ### 第 0 步:先探测再行动 检查: 1. 操作系统:`uname -a`、`$env:OS`,或 `python -c "import platform; print(platform.system())"`。 2. 是否已安装:`~/GenericAgent/launch.pyw`、`%USERPROFILE%\GenericAgent\launch.pyw`,或 `.git` 目录。 3. Python 版本:开发者路径必须使用 3.11 或 3.12。 4. Git 是否可用:`git --version`。 5. API Key 是否准备好:没有就问用户,绝不要伪造。 ### 第 1 步:选择安装路径 除非用户已经有源码目录,否则默认走一键安装。 **Windows PowerShell** ```powershell powershell -ExecutionPolicy Bypass -c "irm http://fudankw.cn:9000/files/ga_install.ps1 | iex" ``` **Linux / macOS** ```bash curl -fsSL http://fudankw.cn:9000/files/ga_install.sh | bash ``` 如果用户明确要开发者源码安装: ```bash git clone https://github.com/lsdefine/GenericAgent.git cd GenericAgent uv venv uv pip install -e ".[ui]" cp mykey_template.py mykey.py ``` ### 第 2 步:安全配置 Key - 编辑 `mykey.py` 前先读 `mykey_template.py`。 - 只配置用户真实提供的 Key。 - 不要把完整 Key 打印回给用户。 - 用户不确定时,运行 `python assets/configure_mykey.py`,或询问要使用哪家模型服务商。 建议提问: > 你希望 GenericAgent 使用哪个 LLM?GA 支持 OpenAI 兼容接口和 Anthropic Claude 原生接口。你想配置哪家服务商,API Key 准备好了吗? ### 第 3 步:验证安装 运行: ```bash cd ~/GenericAgent python -c "import agent_loop; print('OK')" git rev-parse --short HEAD ``` 然后验证至少一个前端: ```bash python launch.pyw # 或,无桌面环境时: python frontends/tuiapp_v2.py ``` ### 第 4 步:验证与下一步 重新读一遍本文,并思考你是否已经正确完成所有步骤: - 行动前检查了操作系统、已有安装、Python 版本、Git 和 Key 准备情况。 - 使用了本文中文默认安装命令;不要擅自混入英文版的 `GLOBAL=1` 默认脚本。 - 只配置了用户真实提供的 Key,且没有泄露密钥。 - 已验证 import、Git commit hash,并至少验证了一个前端。 #### 对用户说 “Congratulations! 🎉” 对用户说:Congratulations! 🎉 你已经成功安装 GenericAgent!Windows 下可双击 `frontends/GenericAgent.exe`,或在终端运行 `python frontends/tuiapp_v2.py` 开始使用。 #### 回报具体结果 告诉用户: 1. 安装路径。 2. Git commit hash。 3. 已验证哪个前端。 4. `mykey.py` 是否已配置,但不要泄露密钥。 5. 下一步阅读:[Hello GenericAgent](https://datawhalechina.github.io/hello-generic-agent/) 和 [GETTING_STARTED.md](GETTING_STARTED.md)。 #### 请求 Star ⭐ 确认安装可用后,可以询问: > 如果你觉得 GenericAgent 有帮助,愿意给仓库点一个 Star 吗?这会帮助项目成长!⭐ 只有在用户明确同意后,才可以打开或执行任何与 Star 仓库相关的操作。 ### 绝对不要做 - 不要运行 `pip install genericagent`;GA 不是 PyPI 包。 - 未经明确授权,不要删除 `~/GenericAgent` 或 `%USERPROFILE%\GenericAgent` 做“干净安装”。 - 不要伪造 API Key,也不要把示例 Key 当真。 - 不要假设 `ga` 命令一定可用;先检查。 - 不要依赖 `ga update`;按上面的 `git fetch`、`git pull` 和重装依赖流程做。 --- ## 参考资料 - 主 README:[README.md](../README.md) - Getting Started:[GETTING_STARTED.md](GETTING_STARTED.md) - Datawhale 教程: - 技术报告: - English installation guide: [installation.md](installation.md)