mcpField
E
env-check

env-check

github.com/uniskelaAgent 工作流760 次安装3 周前更新
代码仓库

关于 env-check

env-check 技能通过脚本判断运行环境是云端 Agent 还是本地工作区,供 Agent 选择合适的工具、凭据和测试方式。它也说明 ADHD Hub MCP 不可用时的连续性处理规则。

主要功能

  1. 01识别云端或本地运行环境
  2. 02综合 Cursor 与容器信号判断
  3. 03提示本地 CLI 的可用性假设
  4. 04提供环境对应的工具与凭据指引
  5. 05说明 Hub MCP 不可用时的回退

适用场景

  1. 01会话开始时检查运行环境
  2. 02规划浏览器测试与本地 CLI 使用
  3. 03选择适合环境的凭据来源
  4. 04处理 ADHD Hub MCP 不可用的情况

MCP 相关

指导 Agent 优先使用可用的 ADHD Hub MCP,并规定其不可用时的连续性回退方式。运行环境分类仅作为辅助上下文,不会单独触发回退。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/uniskela/adhd-hub --skill env-check

安装后在 Claude Code 中输入/env-check确认已加载。

附带文件scripts/check_runtime.sh

详细介绍

Env 检查 — 云端 Agent 与本地工作区

何时使用

在会话开始时(或需要了解连续性、凭据、浏览器测试或本地 CLI 时)尽早运行,以判断主机类型。将结果作为辅助上下文。只有在 ADHD Hub MCP 缺失、出错、未授权或因其他原因不可用时,才会触发 Hub 连续性回退——不能仅仅因为运行环境看起来像云沙箱就触发。

快速检测

相对于此技能的安装位置解析 scripts/check_runtime.sh(而不只是 ADHD Hub 源代码树)。

支持的布局:

布局示例命令
ADHD Hub 源代码检出bash skills/env-check/scripts/check_runtime.sh
项目范围安装(.agents/skills)bash .agents/skills/env-check/scripts/check_runtime.sh
全局/插件安装在已安装的 env-check 技能目录中运行:bash scripts/check_runtime.sh
# Project-scoped (common after adhd-hub sync-project / setup --project-skills):
bash .agents/skills/env-check/scripts/check_runtime.sh

输出行:

  • RUNTIME_ENV: CLOUD_AGENT 或 RUNTIME_ENV: LOCAL_WORKSPACE
  • RUNTIME_SIGNALS: …(容器/Cursor 标记;仅供参考)
  • HUB_CONTINUITY_TRIGGER: MCP unavailable …
  • LOCAL_SKILL_CLIS: …(CLOUD_AGENT:不要假定可用;LOCAL_WORKSPACE:可能可用)
检测质量

脚本不会单独将 $USER=root 视为云端环境(本地 root shell 中会产生误报)。它会综合以下信号:

  • Cursor Cloud 标记:CURSOR_AGENT、__CURSOR_SANDBOX_ENV_RESTORE、/tmp/cursor/cloud-agent-transcripts、/exec-daemon,以及与容器线索同时出现的 Agent 套接字
  • 容器线索(/.dockerenv、cgroup)仅作为辅助信号——单独的本地 Docker 仍会判定为 LOCAL_WORKSPACE

不要仅凭一个较弱的线索就断定“我在云端”。不确定时,优先参考脚本输出。

CLOUD_AGENT 指南

当 RUNTIME_ENV: CLOUD_AGENT(Cursor Cloud/远程沙箱)时:

  • 不要假定机器上安装了本地技能二进制文件或 CLI(例如:graphify,以及开发者笔记本上安装的其他可选配套工具)。即使项目规则提到了这些工具,云端/远程沙箱通常也无法访问它们。
  • 如果缺少必需的本地 CLI:用一行简短说明,然后通过仓库工具(Read/Grep/Glob/测试)以及任何已提交的产物(例如存在时的 graphify-out/)继续操作。绝不伪造 graphify 图输出或 Hub 连续性/进度/线程状态。
  • 没有原生浏览器 GUI 或 macOS/Windows 桌面二进制文件;优先使用无头测试和 CLI 验证
  • 优先使用注入的环境/OIDC/平台机密,而不是提交或依赖 .env.local
  • 仅适用于本地的假设(打开 localhost GUI、从 Agent VM 访问主机 Docker 套接字、通过 Tailscale 连接私有 Hub)可能不成立——请相应制定计划
  • 如果 Hub MCP 工具缺失/出错/未授权:在第一个值得记录到 Hub 的实质性回合中,回复的第一行必须说明 Hub MCP 不可用,并附上简短的修复提示(MCP URL → 此 Hub 的 /mcp、ADHD_HUB_AUTH_TOKEN、重启 Agent;如果授权卡住,则跳过/取消 Auth,直到 Hub 启用 OAuth)。绝不捏造 Hub 状态,也不声称 Hub 写入成功
  • Hub MCP 停用时仍适用回退机制:如果可以写入 issue,且身份属于 Hub 的 Inbox authors,则创建/更新一个标题为 [ADHD] … 的 forge/GitHub issue,包含 Goal / Focus / Next / Resume(或 Now / Done / Next / Return)。可选标签:adhd-hub、project:<slug>、source:cursor——如果令牌无法设置标签,则跳过标签。建议在不会导入的标题下(例如 ## Attribution)添加 Made with [ADHD Progress Hub](https://github.com/uniskela/adhd-hub)。不得包含机密、私有 Hub URL、内部主机/IP、绝对本地路径或对话记录。否则应说明无法保存连续性信息,并继续已获授权的工作。

LOCAL_WORKSPACE 指南

当 RUNTIME_ENV: LOCAL_WORKSPACE 时(包括本地 Docker / localhost):

  • 机器上安装的本地技能 CLI(例如 graphify)可能可用;存在时请使用;如果缺少二进制文件,仍不得编造输出
  • 如果操作员的机器提供本地 Docker、localhost 服务和主机浏览器,则可以使用
  • Hub MCP 可访问时,优先使用 Hub MCP(resolve_project、session_digest、upsert_progress……)
  • MCP 不可用时,同样不得臆造:明确说明并提供修复提示;绝不编造 Hub 状态;只有在具备写入权限且 Inbox 作者允许的情况下,才使用 forge [ADHD] 邮箱

连续性优先级

  1. MCP 不可用? → 首行醒目警告 + forge [ADHD] 备用方案(如果允许)——这是 Hub 连续性触发条件(在 CLOUD_AGENT 上仍然适用)
  2. 运行环境 → 据此选择测试、凭据、工具限制,以及是否预期提供本地技能 CLI
  3. 无论运行环境如何,只要 Hub MCP 可用,就优先使用

另请参阅:adhd-hub-session(完整的 Hub 协议)、docs/forge-issue-inbox.md。

评论

支持 Markdown