dennisonbertram/website-to-cli

GitHub: dennisonbertram/website-to-cli

一个 Claude Code agent skill,通过捕获浏览器 HAR 流量并分析网站私有 API,自动生成零依赖的类型化终端客户端。

Stars: 3 | Forks: 0

# website-to-cli **将任何网站变成快速、美观的命令行客户端。** 一个 [Claude Code](https://claude.com/claude-code) / agent skill,它会**一次性**驱动浏览器来学习网站的私有 API,然后生成一个类型化的终端客户端,直接调用这些 endpoint —— 比浏览器自动化更快、可脚本化,并且可以通过管道传递给 `jq`。 🌐 **[落地页与演示 →](https://dennisonbertram.github.io/website-to-cli/)** ## 安装 使用 [skills.sh](https://skills.sh) —— 只需一条命令: ``` # 安装到当前项目,适用于 Claude Code npx skills add dennisonbertram/website-to-cli -a claude-code # …或者全局安装,在每个项目中均可用 npx skills add dennisonbertram/website-to-cli -a claude-code -g # 无需安装即可查看 repo 中的内容 npx skills add dennisonbertram/website-to-cli --list ``` skills.sh 支持 70 多种 agent(Claude Code、Codex、Cursor、OpenCode 等)—— 将 `-a claude-code` 替换为你的 agent,或者省略 `-a` 以交互方式选择。 **手动安装:** 将 `skills/website-to-cli/` 复制到你 agent 的 skills 目录中(例如,项目级使用 `.claude/skills/`,全局使用 `~/.claude/skills/`)。 ## 使用 安装完成后,只需向你的 agent 提问: ``` make a CLI for news.ycombinator.com build me a client for the crates.io API turn this site into a command-line tool: ``` 该 skill 会运行分为三个阶段的方法: | 阶段 | 发生的操作 | 工具 | | --- | --- | --- | | **1. 捕获** | 通过无头或有头浏览器操作你想要的功能;将所有流量记录到 HAR 中(包含响应正文 + session)。 | `scripts/capture.ts` | | **2. 分析** | 剔除分析/静态噪音;恢复真实的 endpoint —— 方法、路径模板、参数、请求/响应结构、auth 标头。 | `scripts/analyze-har.ts` | | **3. 构建** | 填充一个零依赖、美观的 CLI 模板,指向这些 endpoint。默认带有颜色和对齐;使用 `--json` 输出精确的 JSON。 | `templates/cli.ts` | 浏览器仅在阶段 1 中使用。生成的 CLI 不再需要它。 ## 效果展示 该 skill 为 **crates.io**(Rust 包注册表)构建的 CLI,基于捕获的三个页面加载操作 —— 搜索、crate 详情、版本: ``` $ crates info tokio crate tokio 1.53.0 description An event-driven, non-blocking I/O platform for writing async apps. downloads 810,732,335 (190,888,616 recent) homepage https://tokio.rs repository https://github.com/tokio-rs/tokio $ crates search serde --json | jq -r '.[0] | "\(.name) \(.downloads)"' serde 1174796480 ``` 默认美观;`--json` 输出精确、无颜色的 JSON,因此可以直接通过管道传递给 `jq`。在 [`examples/`](examples/) 中有两个可运行的示例:`crates.ts` 和 `hn.ts`(Hacker News 搜索)。 ## 本仓库包含的内容 ``` skills/website-to-cli/ the skill (installed by skills.sh) SKILL.md the three-phase method scripts/capture.ts headed + headless (--auto) HAR recorder scripts/analyze-har.ts HAR → clean endpoint map (has --self-test) templates/cli.ts zero-dependency beautiful CLI skeleton reference/ capture recipes & the CLI aesthetic examples/ crates.ts, hn.ts — real CLIs the skill produced docs/ the GitHub Pages landing page ``` ## 环境要求 - [Bun](https://bun.sh)(脚本和模板原生支持 Bun;CLI 模板为零 npm 依赖)。 - 用于捕获的 [Playwright](https://playwright.dev) —— `bun add -D playwright && bunx playwright install chromium`(仅首次运行需要)。或者跳过这一步,直接从浏览器的 DevTools 导出 HAR(“Save all as HAR with content”)。 ## 负责任的使用 本项目用于恢复网站的*未记录* API 并将其自动化。仅捕获你拥有或被允许自动化的网站,尊重每个网站的服务条款,切勿绕过 auth、付费墙或机器人防御机制。捕获的 cookie/token 应存放在 `.env`(被 git 忽略)中,切勿硬编码在代码中。 ## 许可证 MIT —— 见 [LICENSE](LICENSE)。
标签:SOC Prime, TypeScript, 安全插件, 开发工具, 特征检测, 自动化代码生成, 自动化攻击