js-github-ops-skill · v0.1.0 · 2026-07-26 · sha256 205fd5bb4b45896e
js-github-ops-skill v0.1.0A
Immutable. This exact content is served forever at /api/v1/blob/205fd5bb4b45896e.
---
name: js-github-ops-skill
description: GitHub 仓库与 Issues 只读 + 浏览器导航 skill(REST + PAGE_PROFILES + bridges)。
version: 0.1.0
metadata:
openclaw:
emoji: "\u2699"
homepage: https://github.com/imjszhang/js-eyes
requires:
skills:
- js-eyes
bins:
- node
platforms:
- github.com
---
# js-github-ops-skill
面向 **github.com** 的只读 + **仅改浏览器 URL**(`location.assign`)的 JS Eyes 扩展技能。READ 数据走官方 **GitHub REST API**(`https://api.github.com`):浏览器内 `fetch` 支持匿名访问**公开**仓库;与 GitHub 网页**不同源**,但 CORS 对只读公开 API 可用,且不携带浏览器 Cookie(`credentials: 'omit'`)。登录态探测仅使用页面内 `meta[name="user-login"]`。
## 依赖
- Node.js 22+、JS Eyes 2.8.5+;**JS Eyes Server** 已启动且扩展已连接。
- 宿主设置 `security.allowRawEval: true` 以允许 bridge 注入;JS Eyes 2.5+ 会同步到扩展,扩展侧显式 `false` 仅作为强制关闭覆盖。
- Chrome 要求 135+;Chrome 138+ 还需开启浏览器控制的 **Allow User Scripts**。
- 浏览器内至少打开一个 **github.com** tab(READ 默认不切走当前 tab;无 tab 时可 `createIfMissing` 打开示例页)。
- 公开仓库读取无需登录;`github_session_state` 只检测现有登录态,本 Skill 不执行登录自动化。
## 安全档位
| 档位 | 说明 |
|------|------|
| READ | `fetch` api.github.com + JSON 解析;不改 DOM / URL |
| INTERACTIVE | 仅 `location.assign` 到 `*.github.com` |
| DESTRUCTIVE | **不做**(不 star / comment / PR / 写 API) |
## AI 工具(`skill.definition.js`)
| 工具 | 说明 |
|------|------|
| `github_session_state` | 登录态(meta) |
| `github_get_repo` | 仓库元数据 |
| `github_list_issues` | Issues 列表(默认排除 PR) |
| `github_get_issue` | 单条 Issue |
| `github_navigate_*` | 仅导航 |
## CLI
```bash
cd skills/js-github-ops-skill && npm install
node index.js doctor
node index.js get-repo octocat/Hello-World --pretty
node index.js list-issues octocat/Hello-World --limit 10
node index.js get-issue octocat/Hello-World 1347
node index.js navigate-repo octocat/Hello-World
node index.js navigate-issues octocat/Hello-World
node index.js navigate-issue octocat/Hello-World 1347
node index.js dom-dump --anchors
node index.js xhr-log --filter 'github\\.com|api\\.github\\.com'
```
## 启用
```bash
js-eyes skills link /path/to/js-eyes/skills/js-github-ops-skill
js-eyes skills reload
```
## Page profiles
| profile | bridge |
|---------|--------|
| `repo` | `__jse_github_repo__` |
| `issues` | `__jse_github_issues__` |
| `issue` | `__jse_github_issue__` |
## 故障排查
| 现象 | 处理 |
|------|------|
| `E_NO_TAB` | 打开任意 github.com 页面 |
| `RAW_EVAL_DISABLED` | 在宿主启用 `security.allowRawEval` 并重新连接扩展;若扩展曾显式保存 `false`,清除该覆盖 |
| `fetch_failed` 403/404 | 私有库或未授权;公开库请检查 owner/repo |
| 429 | API 速率限制;稍后重试 |
## Recording
跟随 `js-eyes` 全局 `recording` 配置;落盘目录:`~/.js-eyes/skill-records/js-github-ops-skill/`。
## 合规
仅个人自动化用途;遵守 [GitHub Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) 与 [REST API 文档](https://docs.github.com/en/rest)。