Skip to content

Agent 识别仅扫描默认路径,未正确识别通过环境变量自定义的安装位置 #310

Description

@Mrtuger

问题描述

CodeG 目前似乎只扫描 Agent 的默认/回退路径(例如 ~/.claude/projects~/.codex/sessions 等)。当用户将 Agent 安装到自定义目录,并通过环境变量(如 $CLAUDE_CONFIG_DIR$CODEX_HOME)指定了该位置时,CodeG 无法识别已安装的 Agent,即使文档中写明"环境变量优先于回退路径"。

复现步骤

  1. 将某个 Agent(如 Claude Code 或 Codex CLI)安装到非默认目录。
  2. 设置对应的环境变量指向该自定义位置(例如 export CLAUDE_CONFIG_DIR=/my/custom/path)。
  3. 启动 CodeG,进入 设置 → Agents
  4. 观察到该 Agent 被标记为"未安装"或根本没有出现在列表中。

预期行为

CodeG 应该通过读取用户 shell/会话中定义的环境变量来识别安装在自定义位置的 Agent,或者在界面上提供手动指定 Agent 安装路径的选项。

实际行为

CodeG 仅扫描硬编码的默认路径,并报告 Agent 缺失,即使该 Agent 在自定义位置完全可以正常运行。

环境信息

  • CodeG 版本:[例如 v0.15.5]
  • 操作系统:Windows 11
  • Shell:bash

建议的解决方案

  1. 尊重环境变量:在 Agent 发现阶段,先读取对应的环境变量(如 CLAUDE_CONFIG_DIRCODEX_HOMEGEMINI_CLI_HOME 等),再回退到默认路径。
  2. 自定义路径 UI:在设置面板中允许用户手动覆盖 Agent 路径,以应对自动检测失败的情况。
  3. 路径校验:如果环境变量已设置但路径不存在,则优雅地回退到默认路径并记录警告。

补充说明

这个问题对以下用户场景尤为重要:

  • 使用版本管理工具管理多版本 Agent 的用户。
  • 主目录空间受限、将工具安装到外置硬盘的用户。
  • 多人共用机器,将 Agent 安装到用户专属或项目专属目录的用户。

感谢 CodeG 团队的出色工作!

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions