cliany-site 文档
cliany-site 基于 LLM 和 Chrome CDP 协议,将任意网页操作自动化为可重复调用的 CLI 命令。核心流程:explore(探索)→ generate(生成适配器)→ run(执行)。
安装
PyPI 安装(推荐)
pip install cliany-site
源码安装
git clone https://github.com/pearjelly/cliany.site.git
cd cliany.site
pip install -e .
依赖 Python ≥ 3.11 和 Chrome/Chromium 浏览器(工具会自动检测并启动)。
配置 LLM
支持 Anthropic(Claude)和 OpenAI(GPT-4o)两种 provider,二选一:
# Anthropic Claude(推荐)
export CLIANY_LLM_PROVIDER=anthropic
export CLIANY_ANTHROPIC_API_KEY="sk-ant-..."
# OpenAI GPT-4o
export CLIANY_LLM_PROVIDER=openai
export CLIANY_OPENAI_API_KEY="sk-..."
也可以写入 .env 文件,查找顺序:~/.config/cliany-site/.env → ~/.cliany-site/.env → 项目目录 .env → 系统环境变量。
5 分钟快速开始
# 1. 验证环境
cliany-site doctor --json
# 2. 探索目标网站(此处以 GitHub 为例)
cliany-site explore "https://github.com" "搜索仓库并查看 README" --json
# 3. 查看已生成的适配器
cliany-site list --json
# 4. 执行生成的命令
cliany-site github.com search --query "browser-use" --json
doctor — 环境检查
检查 Chrome CDP 连通性、LLM Key 有效性、目录结构。
cliany-site doctor [--json]
返回示例:
{"success": true, "data": {"cdp": true, "llm": true, "adapters_dir": true}}
login — 保存登录状态
打开目标 URL,等待用户在浏览器中完成登录,然后持久化 Cookie / LocalStorage。
cliany-site login "https://your-site.com" [--json]
explore — 探索工作流
核心命令。指定 URL 和任务描述,LLM 自动分析页面 AXTree,规划并执行操作路径,将结果生成为 Python/Click CLI 适配器。
cliany-site explore <url> <workflow> [OPTIONS]
Options:
--json JSON 输出
--interactive 交互式探索,每步手动确认
--extend <domain> 增量扩展已有适配器
--headless 无头模式(服务器/CI 环境)
--cdp-url <ws://host:port> 连接远程浏览器
示例:
# 基础探索
cliany-site explore "https://github.com" "搜索仓库并查看 README" --json
# 交互式(每步确认)
cliany-site explore "https://github.com" "管理 Issues" --interactive
# 增量扩展(不覆盖已有命令)
cliany-site explore "https://github.com" "创建 PR" --extend github.com
list — 查看适配器
cliany-site list [--json]
列出 ~/.cliany-site/adapters/ 目录下所有已生成的域名适配器及其命令。
执行适配器命令
生成适配器后,通过 cliany-site <domain> <command> 执行:
# 查看 github.com 适配器的所有命令
cliany-site github.com --help
# 执行搜索命令
cliany-site github.com search --query "browser automation" --json
# 从断点恢复
cliany-site github.com search --query "browser automation" --resume --json
Python SDK
from cliany_site.sdk import ClanySite
import asyncio
async def main():
async with ClanySite() as cs:
# 探索
result = await cs.explore("https://github.com", "搜索仓库")
print(result)
# 列出适配器
adapters = await cs.list_adapters()
print(adapters)
asyncio.run(main())
HTTP API
启动本地 REST API 服务:
cliany-site serve --port 8080
| 端点 | 方法 | 说明 |
|---|---|---|
GET /doctor | GET | 环境检查 |
GET /adapters | GET | 列出适配器 |
POST /explore | POST | 探索工作流 |
POST /execute | POST | 执行适配器命令 |
curl -X POST http://localhost:8080/explore \
-H "Content-Type: application/json" \
-d '{"url": "https://github.com", "workflow": "搜索仓库"}'
YAML 工作流编排
# workflow.yaml
name: GitHub 搜索并查看详情
steps:
- name: 搜索仓库
adapter: github.com
command: search
params:
query: "cliany-site"
- name: 查看第一个结果
adapter: github.com
command: view
params:
repo: "$prev.data.results[0].name"
cliany-site workflow run workflow.yaml --json
cliany-site workflow validate workflow.yaml --json
批量执行
从 CSV/JSON 文件批量驱动适配器命令:
cliany-site workflow batch github.com search data.csv --concurrency 3 --json
环境变量参考
| 变量 | 默认值 | 说明 |
|---|---|---|
CLIANY_LLM_PROVIDER | — | anthropic 或 openai |
CLIANY_ANTHROPIC_API_KEY | — | Anthropic API Key |
CLIANY_OPENAI_API_KEY | — | OpenAI API Key |
CLIANY_OPENAI_BASE_URL | — | 自定义 OpenAI 兼容端点 |
CLIANY_CROSS_ORIGIN_IFRAMES | true | 是否递归采集跨域 iframe |
常见问题
Chrome 无法连接怎么办?
运行 cliany-site doctor --json 检查 CDP 状态。工具会自动尝试启动 Chrome;如果失败,可手动启动:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/chrome-debug
页面改版后命令失效?
小幅页面变化由 AXTree 模糊匹配和自愈机制自动处理。大幅改版时,用 --extend 增量重新探索即可:
cliany-site explore "https://your-site.com" "原有任务" --extend your-site.com
如何在服务器/Docker 中使用?
cliany-site explore "https://github.com" "搜索仓库" \
--headless \
--cdp-url "ws://localhost:9222" \
--json