关于 env-check
env-check 技能通过脚本判断运行环境是云端 Agent 还是本地工作区,供 Agent 选择合适的工具、凭据和测试方式。它也说明 ADHD Hub MCP 不可用时的连续性处理规则。
主要功能
- 01识别云端或本地运行环境
- 02综合 Cursor 与容器信号判断
- 03提示本地 CLI 的可用性假设
- 04提供环境对应的工具与凭据指引
- 05说明 Hub MCP 不可用时的回退
适用场景
- 01会话开始时检查运行环境
- 02规划浏览器测试与本地 CLI 使用
- 03选择适合环境的凭据来源
- 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_WORKSPACERUNTIME_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 - 仅适用于本地的假设(打开
localhostGUI、从 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]邮箱
连续性优先级
- MCP 不可用? → 首行醒目警告 + forge
[ADHD]备用方案(如果允许)——这是 Hub 连续性触发条件(在 CLOUD_AGENT 上仍然适用) - 运行环境 → 据此选择测试、凭据、工具限制,以及是否预期提供本地技能 CLI
- 无论运行环境如何,只要 Hub MCP 可用,就优先使用
另请参阅:adhd-hub-session(完整的 Hub 协议)、docs/forge-issue-inbox.md。
评论
支持 Markdown