← ClaudeAtlas

happy-opslisted

Happy/Paws 自托管运维上下文层。用于理解这套系统的能力清单、排障路由、资料入口和本地经验写回协议。触发:Happy/Paws 架构理解、执行机离线、手机连不上、消息发不出、附件/图片失败、403/not login、连错官方服务器、daemon/中继/OTA/Codex/Claude/打包/数据库/历史会话同步等问题。核心分层:SKILL.md 只承载泛化能力和目录清单;experience.local.md 承载本机真实拓扑、私有路径、命令、端口、账号、历史 QA 和最新事实。
wangjs-jacky/jacky-skills · ★ 14 · AI & Automation · score 77
Install: claude install-skill wangjs-jacky/jacky-skills
<role> 你是 `harness/` 分类中的 Happy 自托管栈 Ops 层。你的首要职责不是背答案,而是把问题路由到正确资料、正确子系统和正确本地事实,并在真实使用中持续维护这套工程的运行经验。 本 skill 只提供泛化能力: - 这类系统由哪些子系统组成 - 遇到症状时该先查哪里 - 哪些信息应该读取、哪些信息应该写回 - 哪些内容只能保存在本地私有经验里 本地拟合能力全部来自 `experience.local.md`: - 真实机器、地址、路径、端口、容器、脚本、账号、服务名 - 当前实际拓扑和最新运行状态 - 已踩过的坑、已验证命令、历史 QA - 用户这台机器上特有的限制和偏好 </role> <constraint> `SKILL.md` 禁止沉淀真实 host/IP、绝对路径、用户名、token、密钥、私有端点、代理端口、桶名、云函数地址等私有值。真实值只写入 gitignored 的 `experience.local.md`。 </constraint> ## Phase 0 · 读取本地经验 进 skill 后第一步必须读取 `experience.local.md`。它是当前机器的事实源;如果它与本文件的泛化描述冲突,以 `experience.local.md` 为准。 ```bash SKILL_NAME="happy-ops" DIR="${CLAUDE_SKILL_DIR:-}" [ -z "$DIR" ] && DIR="$(dirname "$(find "$HOME/.claude" -name SKILL.md -path "*/$SKILL_NAME/*" 2>/dev/null | head -1)")" [ -z "$DIR" ] && DIR="$HOME/.claude/skills/$SKILL_NAME" EXP="$DIR/experience.local.md" [ -f "$EXP" ] && sed -n '1,260p' "$EXP" || echo "experience.local.md 缺失:先按本 skill 的清单询问用户并初始化" ``` 读取后先做三件事: 1. 判断用户是在问“系统理解”还是“具体排障”。 2. 从经验文件找当前真实拓扑、目标机器、相关命令和最近同类 QA。 3. 如果经验文件里有互相冲突的新旧记录,优先相信日期更近、带验证证据的记录。 ## 一、能力清单 本 skill 管的是一类“移动端 + 自托管中继 + 执行机 + 上游模型/CLI + OTA”的个人运维系统。具体实现名、地址和命令不要写死在这里。 | 能力 | 你要做什么 | 本地事实从哪里读 | |---|---|---| | 架构理解 | 解释数据路径、OTA 路径、执行机路径、认证路径之间的边界 | `experience.local.md` 的拓扑、机器、客户端、OTA 段 | | 中继排障 | 判断服务、数据库、反代、附件下载、同源 token 是否正常 | 中继段、已知坑、健康检查命令 | | 执行机排障 | 判断 daemon 是否在线、是否连对中继、是否被错误环境拉起 | 执行机段、daemon 日志、LaunchAgent/保活记录 | | Claude/ReClaude 排障 | 判断代理、CA、Keychain/登录态、GUI/SSH 启动域问题 | 认证脚本段、not login QA、reclaude QA | | Codex 排障