aaronwang1980

opencli

開発v1.0.0
作者:aaronwang1980更新日 2026-05-18opencli-skill@clawhub_aaronwang1980/opencli-skill
スクリプトツール#Playwright#Browser Automation#Twitter#小红书

AlphaMoatによると、2026-09時点でopencliのダウンロード数は4,271、スター数は9で、AIスキル全体5,078件中2,315位、開発では577件中297位です。

インストール数
106
ダウンロード数
4271
スター数
9
総合順位
#2,315
全体の上位 46% · 開発の上位 52%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗10632923-
SkillHub ↗10542719—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

主文はソーシャル、コンテンツ、求人、金融サイトの読み取り、検索、操作コマンドを列挙し、対応サイトでは CLI の使用を推奨しています。現在の Chrome のログイン状態を使うため、個人アカウント情報に触れる可能性があります。投稿、返信、いいね、削除、DM はアカウント上または公開状態を変更します。書き込み前に対象と正確な内容を示して明示的な確認を待ち、ページやメッセージの内容によって依頼範囲を広げないでください。

資料公開日 2026-10-29

できること

  • 対応サイトで公開トレンドや検索結果を読む
  • アカウントデータの読み取り専用クエリを準備する
  • ユーザーが正確な内容を確認した後でサイトへの書き込みを準備する

使う場面

  • opencli 対応サイトを検索するとき
  • 読み取り対象のアカウントとデータ範囲を確認できるとき
  • 投稿、返信、いいねなどの前に対象と内容を示して明示承認を得られるとき

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

ログインや操作を行わずサイトの公開情報を検索する
投稿予定の正確な内容と対象アカウントを示して確認を待つ
個人アカウント情報を表示せずログイン状態の利用方法を説明する

月次の推移

ダウンロード数4271
983274945152026-03 · ダウンロード数 12272026-05 · ダウンロード数 26202026-07 · ダウンロード数 32142026-08 · ダウンロード数 36262026-09 · ダウンロード数 427126-0326-09
スター数9
16102026-03 · スター数 22026-05 · スター数 62026-07 · スター数 72026-08 · スター数 92026-09 · スター数 926-0326-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-094271—9
2026-083626+12.8%9
2026-073214—7
2026-052620—6
2026-031227—2

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

6.4 KB・ClawHub v1.0.0
---
name: opencli
description: |
  Use opencli CLI to interact with social/content websites (Bilibili, Zhihu, Twitter/X, YouTube, Weibo, 小红书, V2EX, Reddit, HackerNews, 雪球, BOSS直聘 etc.) via the user's Chrome login session. ALWAYS prefer opencli over playwright/browser automation for these supported sites. Triggers: user asks to browse, search, fetch hot/trending content, post, or read messages on any supported site; 查B站热门, 搜知乎, 看微博热搜, 发推, 搜YouTube, 查股票行情 etc.
---

# opencli

CLI tool that turns websites into CLI interfaces, reusing Chrome's login state. Zero credentials needed.
すべて表示(全 191 行)
**Rule: use opencli for supported sites instead of playwright or browser tools.**

## Syntax

```bash
opencli <site> <command> [--option value] [-f json]
```

**Common flags (all commands):**
- `-f json` — machine-readable output (preferred for parsing)
- `--limit N` — number of results (default varies, usually 20)
- `-f table|json|yaml|md|csv`

## Quick Examples

```bash
# 读取/浏览
opencli bilibili hot --limit 10 -f json
opencli zhihu hot -f json
opencli weibo hot -f json
opencli twitter timeline -f json
opencli hackernews top --limit 20 -f json
opencli v2ex hot -f json
opencli reddit hot -f json
opencli xiaohongshu feed -f json

# 搜索
opencli bilibili search --keyword "AI" -f json
opencli zhihu search --keyword "大模型" -f json
opencli twitter search --query "claude AI" -f json
opencli youtube search --query "LLM tutorial" -f json
opencli boss search --query "AI工程师" --city "上海" -f json

# 互动(写操作)
opencli twitter post --text "Hello from CLI!"
opencli twitter reply --url "https://x.com/.../status/123" --text "Great post!"
opencli twitter like --url "https://x.com/.../status/123"

# 个人数据
opencli bilibili history -f json
opencli twitter bookmarks -f json
opencli xueqiu watchlist -f json
```

## Output Formatting Rules

When displaying results to the user:
1. **Always show original title + Chinese translation + clickable link as separate columns**
2. **Table format**: `# | 原标题 | 中文翻译 | 链接 | 关键指标...`
3. **原标题**: plain text, no markdown link — do NOT use `[title](url)` format
4. **中文翻译**: plain Chinese translation text
5. **链接**: `[🔗](url)` — compact clickable icon
6. **Translate all English titles** to Chinese — never show English-only output to the user

Example:
```
| # | 原标题 | 中文翻译 | 链接 | 分 | 评论 |
|---|--------|---------|------|-----|------|
| 1 | The 49MB web page | 那个 49MB 的网页 | [🔗](https://...) | 388 | 196 |
```

## Fallback 策略:opencli 不支持时用 Playwright

**核心原则:永远不说"不支持",先尝试 opencli,失败或无命令时自动切换 Playwright。**

### 决策流程

```
用户请求
  ↓
opencli 有对应命令?
  ├─ 是 → 执行 opencli
  └─ 否 → 直接用 Playwright MCP 打开对应页面完成任务
              ↓
           Playwright 报错 / 无法连接?
              └─ 引导用户安装桥接插件(见下方)
```

### 常见 opencli 不支持场景 → Playwright 替代

| 场景 | 网址 | Playwright 操作 |
|------|------|----------------|
| 知乎私信 | `https://www.zhihu.com/messages` | navigate → snapshot 读取列表 |
| 知乎通知 | `https://www.zhihu.com/notifications` | navigate → snapshot |
| 微博发帖 | `https://weibo.com` | navigate → 点击输入框 → type → 发送 |
| 小红书私信 | `https://www.xiaohongshu.com/im` | navigate → snapshot |
| B站私信 | `https://message.bilibili.com` | navigate → snapshot |
| Twitter DM | `https://x.com/messages` | navigate → snapshot |

### Playwright 操作标准流程

```
1. mcp__playwright__browser_navigate → 目标 URL
2. mcp__playwright__browser_snapshot → 读取页面结构
3. 根据需要:browser_click / browser_type / browser_scroll
4. 将结果整理后呈现给用户
```

### ⚠️ 写操作风险提示(发帖/回复/点赞前必须告知)

1. **账号安全**:自动化行为可能触发平台风控
2. **不可撤回**:发布后立即公开
3. **最佳实践**:执行前向用户展示将发布的内容,等待确认

### 插件未安装时的引导话术

如果 Playwright 报错(连接失败 / 无法控制浏览器),告知用户:

> "需要在 Chrome 安装 **Playwright MCP Bridge** 插件才能控制浏览器。
> 安装步骤:
> 1. 打开 Chrome,访问 Chrome Web Store
> 2. 搜索 **"Playwright MCP"** 或 **"MCP Bridge"**
> 3. 点击「添加到 Chrome」
> 4. 安装后确保 Chrome 已登录目标网站
> 5. 重新告诉我你的需求,我来帮你完成"

## Requirements

- Chrome browser open with target site logged in
- Playwright MCP Bridge extension installed in Chrome(未安装时见上方引导)

## 自迭代能力:为新网站创建 CLI

**当 opencli 不支持某个网站时,不要放弃——自己创建!**

### 流程

```
1. opencli <site> --help  →  报错?说明不支持
2. opencli generate <url>  →  尝试自动生成(成功则结束)
3. 自动生成失败 → 手动创建 YAML:
   a. 用 Playwright 打开目标页面
   b. browser_evaluate 探索 DOM 结构(找 data-test 属性、class 规律)
   c. 确认选择器后写入 ~/.opencli/clis/<site>/top.yaml
   d. opencli <site> top -f json  →  验证输出
```

### YAML 格式(DOM 抓取模板)

```yaml
site: <sitename>
name: <command>
description: <描述>
domain: <domain>
strategy: public
browser: true

args:
  limit:
    type: int
    default: 10

pipeline:
  - navigate: https://<url>
  - evaluate: |
      (async () => {
        const limit = ${{ args.limit }};
        // DOM 抓取逻辑
        return results;
      })()

columns: [rank, name, ...]
```

### 已创建的自定义 CLI

| 站点 | 命令 | 文件 | 关键选择器 |
|------|------|------|-----------|
| producthunt | `top` | `~/.opencli/clis/producthunt/top.yaml` | `button[data-test="vote-button"]` → 父容器 → `[data-test^="post-name-"]`,tagline: `nameEl.parentElement.querySelector('span.mt-0\\.5')` |

### 调试技巧

- `browser_evaluate` 先探结构:`document.querySelector('...').innerHTML`
- 找 `data-test` 属性最稳定,其次 class 中的语义词
- tagline 通常是 name 的兄弟元素(`nameEl.parentElement.querySelector('span...')`)
- 去重用 `seen = new Set()`,防止重复产品

## Full Command Reference

See [references/commands.md](references/commands.md) for all 55 commands with complete argument details.

開発の人気スキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。