Home
Softono
g

geekjourneyx

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
5

Software by geekjourneyx

claude-design-card
Open Source

claude-design-card

<div align="center"> # claude-design-card **14 种格式,一套审美标准 — Claude 设计语言驱动的卡片生成技能** <img src="assets/banner.png" alt="claude-design-card — Claude 设计语言驱动的卡片生成技能" width="100%"> [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6.svg)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-1.x-fbf0df.svg)](https://bun.sh/) [![Playwright](https://img.shields.io/badge/Playwright-1.59-45ba4b.svg)](https://playwright.dev/) </div> --- ## 这是什么 将任意文本、网页或 URL 转化为精致的可发布卡片,覆盖平台封面、社交分享、长文编辑排版。所有卡片严格遵循 [Claude/Anthropic 设计系统](DESIGN.md):Parchment 暖色基调、Georgia 衬线字体、Terracotta 强调色,14 种格式一套审美标准。 ``` 输入:一段文字 / URL / 数据 输出:/tmp/claude-card-*.png(像素精准的设计卡片) ``` --- ## 核心特性 <img src="assets/features.png" alt="claude-design-card 核心特性 — 14种格式族、Claude设计语言、SVG系统、长文排版、Playwright截图、自然语言触发" width="100%"> --- ## 工作流程 <img src="assets/workflow.png" alt="claude-design-card 工作流程 — 内容解析、格式选择、卡片生成、截图输出" width="100%"> --- ## 环境依赖 | 依赖 | 版本 | 说明 | |------|------|------| | [Bun](https://bun.sh) | ≥ 1.0 | 运行时 & 包管理器 | | [Playwright](https://playwright.dev) | ≥ 1.59 | Chromium 截图引擎 | | TypeScript | ≥ 5.0 | 脚本语言(Bun 原生支持) | | Node.js | — | 仅 `npx skills add` 安装时需要 | --- ## 安装 **作为 AI Skill(推荐):** ```bash npx skills add https://github.com/geekjourneyx/claude-design-card ``` **本地开发:** ```bash bun install bunx playwright install chromium ``` --- ## 快速上手 ```bash # 固定尺寸(平台封面、内容卡) bun scripts/screenshot.ts <input.html> [output.png] [width] [height] # 自动高度(长文编辑排版) bun scripts/screenshot.ts <input.html> [output.png] [width] --full-page ``` 示例: ```bash # 公众号首图 900×383 bun scripts/screenshot.ts /tmp/card.html /tmp/cover.png 900 383 # 小红书图文笔记 1080×1440 bun scripts/screenshot.ts /tmp/card.html /tmp/xiaohongshu.png 1080 1440 # The Broadsheet 长文排版(自动高度) bun scripts/screenshot.ts /tmp/broadsheet.html /tmp/broadsheet.png 800 --full-page # 省略输出路径 → /tmp/claude-card-<basename>.png bun scripts/screenshot.ts /tmp/my-card.html ``` --- ## 支持格式 ### 格式族 A — 平台封面 平台封面现在按「点击前承诺」设计:一个强判断标题、一句承接、一个证据点,而不是正文摘要。 | 格式 | 尺寸 | 用途 | 设计重点 | |------|------|------|------| | 公众号首图 | 900 × 383 px | 微信公众号文章封面 | 横向秒读,左标题右证据 | | 视频号竖封面 | 1080 × 1440 px | 微信视频号封面 | 竖版海报,中部标题锚点 | | B站/YouTube 横封面 | 1280 × 720 px | B站、YouTube 缩略图 | 缩略图路牌,关键词清晰 | | 抖音全屏竖版 | 1080 × 1920 px | 抖音、TikTok 封面 | 全屏停顿,安全区内一个判断 | ### 格式族 B — 图文内容卡 图文内容卡现在按「可保存的知识物件」设计:首图停留,内页理解,工具页收藏。 | 格式 | 尺寸 | 用途 | 美学模式 | |------|------|------|------| | 小红书图文笔记 | 1080 × 1440 px | 小红书主图 / 轮播 | Editorial Artifact + Dark Magazine Cover | | 步骤教程卡 | 1080 × 1440 px | 教程类内容 | Practical Toolkit | | 对比分析卡 | 1080 × 1440 px | 对比 / 竞品分析 | Editorial Artifact | ### 格式族 C — 社交分享卡 | 格式 | 尺寸 | 特征 | |---|---|---| | 金句分享卡 | 1080 × 1080 px | 大号引言符,极简单栏 | | 数据大字卡 | 1080 × 1080 px | 超大数字主导,SVG 进度条 | | 方形通用卡 | 1080 × 1080 px | 标准单栏,灵活适配 | ### 格式族 D — 长文编辑排版 | 格式 | 宽度 | 气质 | |---|---|---| | The Broadsheet | 800 px | 三栏报纸,版刻装饰,Drop Cap | | The Feature | 760 px | 杂志深度,暗头双栏,边侧栏 | | The Reader | 720 px | 文学期刊,Marginalia 边注 | | The Digest | 760 px | 分析报告,摘要框 + 数据列 | --- ## 设计系统 所有卡片使用统一的 Claude 设计 Token,详见 [DESIGN.md](DESIGN.md) 和 [references/design-spec.md](references/design-spec.md)。 | Token | 色值 | 用途 | |---|---|---| | `--pg` Parchment | `#f5f4ed` | 主背景 | | `--iv` Ivory | `#faf9f5` | 卡面/次背景 | | `--nk` Near-Black | `#141413` | 正文、标题 | | `--tc` Terracotta | `#c96442` | 强调、装饰 | | `--ds` Dark-Surface | `#30302e` | 深色区块 | | `--og` Olive-Gray | `#5e5d59` | 副文本 | | `--sg` Stone-Gray | `#87867f` | 元信息 | 字体:Georgia(衬线,标题/正文)+ system-ui(UI/标签)。禁止冷色调蓝灰、纯白 `#ffffff`、`font-weight: 700`。 新增 A/B 族社交设计原则: - **A 族平台封面**:封面负责点击,不替代正文。 - **B 族内容卡**:内容卡负责停留、理解和收藏。 - **抖音/故事**:按全屏停顿设计处理,避开顶部、底部和右侧平台 UI。 - **小红书/图文**:首图像封面,内页像高级编辑手册或实用工具卡。 --- ## 作为 AI Skill 使用 在 Claude Code 中安装后,通过自然语言描述触发: ``` 帮我把这篇文章做成小红书图文笔记卡片 把这个数据做成方形分享卡 帮我生成一张公众号首图封面 把这篇长文做成 The Broadsheet 编辑排版 ``` 技能自动完成:分析内容 → 选择格式 → 提炼关键信息(不编造)→ 生成 HTML → 截图输出至 `/tmp/`。 --- ## 许可证 [MIT](./LICENSE) — 自由使用、修改、分发。 --- ## 关于作者 | | | |:---|:---| | 个人主页 | [jieni.ai](https://jieni.ai) | | GitHub | [geekjourneyx](https://github.com/geekjourneyx) | | Twitter | [@seekjourney](https://x.com/seekjourney) | | 公众号 | 微信搜「极客杰尼」 |

Design & Creative AI Tools
390 Github Stars
md2wechat-skill
Open Source

md2wechat-skill

md2wechat-skill is a professional command-line tool designed for creating and publishing WeChat Official Account articles directly from Markdown. It streamlines the entire publishing workflow, from writing to AI-assisted image generation and pushing drafts to the WeChat backend. The software distinguishes itself through a deterministic API output model, ensuring that the same Markdown source always produces identical, high-quality formatting. It features 43 structured layout modules, such as hero sections, callouts, and timelines, which allow for complex content design beyond standard Markdown. Users can choose from 40 professionally tuned themes optimized specifically for WeChat rendering. The tool is natively built for AI Agents, offering JSON envelopes and discovery commands for seamless integration with platforms like Claude Code, Codex, and OpenClaw. Key capabilities include AI-generated illustrations, automated content cleanup to remove AI artifacts, and batch publishing support. It supports installatio

Productivity AI Agents Product Analytics
2.8K Github Stars
jina-cli
Open Source

jina-cli

<div align="center"> # jina ### 为 AI Agent 打造的网页阅读 CLI 工具 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![GitHub Release](https://img.shields.io/github/v/release/geekjourneyx/jina-cli)](https://github.com/geekjourneyx/jina-cli/releases) [![Go Version](https://img.shields.io/badge/Go-1.24+-00ADD8?logo=go)](https://golang.org/) [![CLI](https://img.shields.io/badge/CLI-Cobra-29BEB0?logo=terminal)](https://github.com/spf13/cobra) [English](#english) | [中文](#中文) </div> --- ## 中文 ### 简介 `jina` 是一个轻量级的命令行工具,封装了 [Jina AI Reader API](https://github.com/jina-ai/reader),可以将任意 URL 转换为 LLM 友好的输入格式。特别适合阅读 X (Twitter)、博客、新闻网站等复杂网页。 **核心功能:** - **read** - 读取 URL 内容,输出 Markdown/Text/HTML 格式 - **search** - 网络搜索,自动获取并处理搜索结果 --- ## 安装指南 jina 有三种独立的安装方式,根据你的使用场景选择: ### 方式一:OpenClaw Skill(推荐本地 AI 助理) **什么是 OpenClaw?** OpenClaw 是一个**本地 AI 助理**(可以理解为"有终端权限的 Claude"),运行在你的机器上。它通过 **Skills** 插件扩展能力,支持 9000+ 个技能插件。 **适用场景**:本地 AI 助理、自动化工作流、文件系统操作 **安装方式** - 直接复制 skill 文件: ```bash # 创建 jina-cli skill 目录并下载 mkdir -p ~/.openclaw/workspace/skills/jina-cli curl -o ~/.openclaw/workspace/skills/jina-cli/SKILL.md \ https://raw.githubusercontent.com/geekjourneyx/jina-cli/main/skills/jina-cli/SKILL.md ``` **验证安装**: ```bash # 启动 OpenClaw openclaw # 在 OpenClaw 中直接使用 jina 命令 # skill 会自动从 ~/.openclaw/workspace/skills/jina-cli/ 加载 ``` **你将获得**: - ✅ 本地 AI 助理直接调用 `jina read` 和 `jina search` - ✅ 无需安装 CLI 二进制 - ✅ 可以处理本地文件、执行脚本等 --- ### 方式二:Claude Code Skill(推荐用于 AI 辅助开发) **适用场景**:在 Claude Code 中使用 AI 协助你处理网页内容 **安装步骤**: ```bash # 1. 确保已安装 Node.js 和 Claude Code node --version # v18.0.0 或更高版本 # 2. 安装 jina skill npx skills add https://github.com/geekjourneyx/jina-cli --skill jina-cli ``` **安装后验证**: ```bash # 在 Claude Code 中可以直接使用 # 无需额外操作,skill 会自动加载 ``` **你将获得**: - ✅ 在 Claude Code 中直接调用 `jina read` 和 `jina search` 命令 - ✅ AI 会自动理解 jina 的功能和使用方式 - ✅ 无需手动安装 CLI 二进制文件 --- ### 方式三:CLI 二进制文件(推荐用于终端使用) **适用场景**:在终端/脚本中使用,或与其他工具集成 #### 一键安装(Linux/macOS) ```bash curl -fsSL https://raw.githubusercontent.com/geekjourneyx/jina-cli/main/scripts/install.sh | bash ``` 安装脚本会自动: 1. 检测你的系统架构(Linux/macOS,amd64/arm64) 2. 下载对应平台的二进制文件 3. 安装到 `~/.local/bin/jina` 或 `~/bin/jina` 4. 提示如何添加到 PATH(如需要) #### 验证安装 ```bash # 检查是否安装成功 jina --version # 预期输出: jina version 1.0.0 (构建时间: ..., 提交: ...) # 测试基本功能 jina read --url "https://example.com" ``` #### 手动安装 如果自动安装失败,可以手动下载: ```bash # 1. 下载对应平台的二进制 # Linux amd64: wget https://github.com/geekjourneyx/jina-cli/releases/latest/download/jina-linux-amd64 -O jina chmod +x jina sudo mv jina /usr/local/bin/ # macOS ARM64 (Apple Silicon): wget https://github.com/geekjourneyx/jina-cli/releases/latest/download/jina-darwin-arm64 -O jina chmod +x jina sudo mv jina /usr/local/bin/ # 2. 验证安装 jina --version ``` #### 从源码构建 ```bash git clone https://github.com/geekjourneyx/jina-cli.git cd jina-cli go build -o jina ./cli sudo mv jina /usr/local/bin/ ``` --- ### 三种安装方式对比 | 特性 | OpenClaw Skill | Claude Code Skill | CLI 二进制 | |------|----------------|-------------------|------------| | **安装位置** | `~/.openclaw/workspace/skills/jina-cli/` | `~/.claude/skills/` | `~/.local/bin/jina` | | **使用环境** | OpenClaw 本地 AI 助理 | Claude Code | 任何终端/脚本 | | **AI 集成** | AI 自动理解功能 | AI 自动理解功能 | 需要手动调用 | | **文件权限** | ✅ 可访问本地文件系统 | ❌ 受限 | ✅ 完整权限 | | **脚本执行** | ✅ 可执行脚本 | ❌ 受限 | ✅ 完整权限 | | **更新方式** | 重新下载/`npx skills update` | `npx skills update` | 重新运行安装脚本 | | **适用场景** | 本地 AI 助理、自动化 | AI 辅助开发 | 脚本集成、日常使用 | **推荐选择**: - **OpenClaw** → 最强能力,本地运行,可操作文件系统 - **Claude Code** → 开发体验好,AI 辅助编码 - **CLI 二进制** → 最轻量,适合脚本集成 **注意**:三种方式完全独立,可以同时安装,互不干扰。 --- ### 快速开始 #### 读取网页内容 ```bash # 读取单个 URL jina read --url "https://example.com" # 读取 X (Twitter) 帖子 jina read -u "https://x.com/user/status/123456789" --with-alt # 输出 Markdown 格式 jina read -u "https://example.com" --output markdown # 保存到文件 jina read -u "https://example.com" --output-file result.md ``` #### 批量处理 ```bash # 从文件读取 URL 列表 cat > urls.txt << EOF https://example.com/page1 https://example.com/page2 https://x.com/user/status/123 EOF jina read --file urls.txt ``` #### 网络搜索 ```bash # 搜索关键词 jina search --query "golang latest news" # 限定搜索站点 jina search -q "AI developments" --site techcrunch.com --site theverge.com # 限制结果数量 jina search -q "climate change" --limit 10 ``` ### 配置管理 配置文件位于 `~/.jina-reader/config.yaml`: ```bash # 查看所有配置 jina config list # 设置配置项 jina config set timeout 60 jina config set with-generated-alt true # 获取单个配置 jina config get timeout # 查看配置文件路径 jina config path ``` ### 配置项说明 | 配置项 | 环境变量 | 默认值 | 说明 | |--------|----------|--------|------| | `api_base_url` | `JINA_API_BASE_URL` | `https://r.jina.ai/` | Read API 地址 | | `search_api_url` | `JINA_SEARCH_API_URL` | `https://s.jina.ai/` | Search API 地址 | | `default_response_format` | `JINA_RESPONSE_FORMAT` | `markdown` | 响应格式 | | `default_output_format` | `JINA_OUTPUT_FORMAT` | `json` | 输出格式 | | `timeout` | `JINA_TIMEOUT` | `30` | 请求超时(秒) | | `with_generated_alt` | `JINA_WITH_GENERATED_ALT` | `false` | 启用图片描述 | | `proxy_url` | `JINA_PROXY_URL` | `""` | 代理服务器 | | `api_key` | `JINA_API_KEY` | `""` | API 密钥(用于更高速率限制) | **优先级:** 命令行参数 > 环境变量 > 配置文件 > 默认值 ### API Key 使用 添加 API Key 可以获得更高的速率限制: ```bash # 方式 1:配置文件设置 jina config set api_key jina_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 方式 2:环境变量 export JINA_API_KEY=jina_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 方式 3:命令行参数 jina read -u "https://example.com" -k jina_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` 获取 API Key:访问 [Jina AI Reader](https://jina.ai/reader/#apiform) 注册并获取。 ### 输出格式 #### JSON 格式(默认) ```json { "success": true, "data": { "url": "https://example.com", "title": "Example Domain", "content": "# Example Domain\n\nThis domain is..." } } ``` #### Markdown 格式 ```bash jina read -u "https://example.com" --output markdown ``` 输出: ```markdown # Example Domain **Source**: https://example.com --- # Example Domain This domain is for use in illustrative examples... ``` ### 高级用法 #### 禁用缓存 ```bash jina read -u "https://example.com" --no-cache ``` #### 使用代理 ```bash jina read -u "https://example.com" --proxy "http://proxy.com:8080" ``` #### CSS 选择器提取 ```bash # 只提取指定元素 jina read -u "https://example.com" --target-selector "article.main" # 等待元素加载 jina read -u "https://example.com" --wait-for-selector "#content" ``` #### 处理 SPA 应用 ```bash # 对于带 hash 路由的 SPA,使用 POST 方法 jina read -u "https://example.com/#/route" --post ``` #### 设置 Cookie ```bash jina read -u "https://example.com" --cookie "session=abc123" ``` ### 与 AI Agent 集成 ```bash # 在 Claude Code 或其他 AI 工具中使用 jina read -u "https://x.com/elonmusk/status/123456" --output json # 搜索最新信息 jina search -q "golang 1.24 release notes" --output json ``` ### 命令参考 ``` jina - CLI tool for Jina AI Reader and Search APIs Usage: jina [command] Available Commands: read Extract and convert content from URLs search Search the web with AI-powered results config Manage configuration completion Generate shell completion help Help about any command Flags: -a, --api-base string API base URL (overrides config) -k, --api-key string API key (overrides config) -o, --output string Output format: json, markdown (default "json") -v, --verbose Verbose output -h, --help help for jina --version version for jina ``` ### 开发 ```bash # 运行测试 go test ./... # 运行测试并计算覆盖率 go test -cover ./... # 构建 go build -o jina ./cli # 交叉编译 GOOS=linux GOARCH=amd64 go build -o jina-linux-amd64 ./cli GOOS=darwin GOARCH=arm64 go build -o jina-darwin-arm64 ./cli GOOS=windows GOARCH=amd64 go build -o jina-windows-amd64.exe ./cli ``` ### 项目结构 ``` jina-cli/ ├── cli/ │ ├── main.go # 入口 │ ├── read.go # read 命令 │ ├── search.go # search 命令 │ ├── config.go # config 命令 │ └── pkg/ │ ├── api/ # HTTP 客户端 │ ├── config/ # 配置管理 │ └── output/ # 输出格式化 └── scripts/ └── install.sh # 安装脚本 ``` ### 许可证 [MIT License](LICENSE) ### 致谢 - [Jina AI Reader API](https://github.com/jina-ai/reader) - 核心 API 服务 - [md2wechat-lite](https://github.com/geekjourneyx/md2wechat-lite) - 项目架构参考 --- ## 💰 打赏 如果该项目帮助了您,欢迎请作者喝杯咖啡 ☕️ **微信打赏** <p align="center"> <img src="https://raw.githubusercontent.com/geekjourneyx/awesome-developer-go-sail/main/docs/assets/wechat-reward-code.jpg" alt="微信打赏码" width="200" /> </p> --- ## 🧑‍💻 作者 **[geekjourneyx](https://geekjourney.dev)** - **X (Twitter)**: https://x.com/seekjourney - **公众号**: 极客杰尼 关注公众号,获取更多 AI 编程、AI 工具与 AI 出海建站的实战分享: <p align="center"> <img src="https://raw.githubusercontent.com/geekjourneyx/awesome-developer-go-sail/main/docs/assets/qrcode.jpg" alt="公众号:极客杰尼" width="180" /> </p> --- ## English ### Overview `jina` is a lightweight CLI tool that wraps the [Jina AI Reader API](https://github.com/jina-ai/reader) to convert any URL into LLM-friendly input. Perfect for reading X (Twitter), blogs, news sites, and other complex web pages. **Features:** - **read** - Extract content from URLs in Markdown/Text/HTML format - **search** - Search the web with AI-powered result processing --- ## Installation Guide jina offers two independent installation methods. Choose based on your use case: ### Method 1: Claude Code Skill (Recommended for AI-Assisted Development) **Use case**: Using jina within Claude Code with AI assistance **Installation steps**: ```bash # 1. Ensure Node.js and Claude Code are installed node --version # v18.0.0 or higher # 2. Install jina skill npx skills add https://github.com/geekjourneyx/jina-cli --skill jina-cli ``` **Verify installation**: ```bash # You can now use jina commands directly in Claude Code # No additional steps needed, skill loads automatically ``` **You get**: - ✅ Direct access to `jina read` and `jina search` commands in Claude Code - ✅ AI automatically understands jina's functionality - ✅ No manual CLI binary installation required --- ### Method 2: CLI Binary (Recommended for Terminal/Scripting) **Use case**: Using in terminal/scripts, or integrating with other tools #### One-line Installation (Linux/macOS) ```bash curl -fsSL https://raw.githubusercontent.com/geekjourneyx/jina-cli/main/scripts/install.sh | bash ``` The installation script automatically: 1. Detects your system architecture (Linux/macOS, amd64/arm64) 2. Downloads the appropriate binary for your platform 3. Installs to `~/.local/bin/jina` or `~/bin/jina` 4. Prompts to add to PATH if needed #### Verify Installation ```bash # Check if installation succeeded jina --version # Expected output: jina version 1.0.0 (build: ..., commit: ...) # Test basic functionality jina read --url "https://example.com" ``` #### Manual Installation If auto-install fails, download manually: ```bash # 1. Download binary for your platform # Linux amd64: wget https://github.com/geekjourneyx/jina-cli/releases/latest/download/jina-linux-amd64 -O jina chmod +x jina sudo mv jina /usr/local/bin/ # macOS ARM64 (Apple Silicon): wget https://github.com/geekjourneyx/jina-cli/releases/latest/download/jina-darwin-arm64 -O jina chmod +x jina sudo mv jina /usr/local/bin/ # 2. Verify installation jina --version ``` #### Build from Source ```bash git clone https://github.com/geekjourneyx/jina-cli.git cd jina-cli go build -o jina ./cli sudo mv jina /usr/local/bin/ ``` --- ### Comparison | Feature | OpenClaw Skill | Claude Code Skill | CLI Binary | |---------|----------------|-------------------|------------| | **Install location** | `~/.openclaw/workspace/skills/jina-cli/` | `~/.claude/skills/` | `~/.local/bin/jina` | | **Environment** | OpenClaw local AI assistant | Claude Code | Any terminal/script | | **AI integration** | AI understands functionality | AI understands functionality | Manual invocation | | **File system access** | ✅ Full access | ❌ Limited | ✅ Full access | | **Script execution** | ✅ Can run scripts | ❌ Limited | ✅ Full access | | **Updates** | Re-download / `npx skills update` | `npx skills update` | Re-run install script | | **Best for** | Local AI assistant, automation | AI-assisted development | Script integration, daily use | **Recommendations**: - **OpenClaw** → Most capable, runs locally, full system access - **Claude Code** → Best dev experience, AI-assisted coding - **CLI Binary** → Lightweight, perfect for scripts **Note**: The three methods are completely independent. Install any or all without conflicts. --- ### Quick Start #### Read Web Content ```bash # Read a single URL jina read --url "https://example.com" # Read X (Twitter) post jina read -u "https://x.com/user/status/123456789" --with-alt # Output as Markdown jina read -u "https://example.com" --output markdown # Save to file jina read -u "https://example.com" --output-file result.md ``` #### Batch Processing ```bash # Read from URL list file cat > urls.txt << EOF https://example.com/page1 https://example.com/page2 https://x.com/user/status/123 EOF jina read --file urls.txt ``` #### Web Search ```bash # Search for a query jina search --query "golang latest news" # Restrict to specific sites jina search -q "AI developments" --site techcrunch.com --site theverge.com # Limit results jina search -q "climate change" --limit 10 ``` ### Configuration Config file location: `~/.jina-reader/config.yaml` ```bash # List all configuration jina config list # Set configuration jina config set timeout 60 jina config set with-generated-alt true # Get single configuration jina config get timeout # Show config file path jina config path ``` ### Configuration Options | Key | Env Var | Default | Description | |-----|---------|---------|-------------| | `api_base_url` | `JINA_API_BASE_URL` | `https://r.jina.ai/` | Read API URL | | `search_api_url` | `JINA_SEARCH_API_URL` | `https://s.jina.ai/` | Search API URL | | `default_response_format` | `JINA_RESPONSE_FORMAT` | `markdown` | Response format | | `default_output_format` | `JINA_OUTPUT_FORMAT` | `json` | Output format | | `timeout` | `JINA_TIMEOUT` | `30` | Request timeout (seconds) | | `with_generated_alt` | `JINA_WITH_GENERATED_ALT` | `false` | Enable image captioning | | `proxy_url` | `JINA_PROXY_URL` | `""` | Proxy server | | `api_key` | `JINA_API_KEY` | `""` | API key for higher rate limits | **Priority:** CLI args > Env vars > Config file > Defaults ### API Key Usage Adding an API key provides higher rate limits: ```bash # Method 1: Set via config file jina config set api_key jina_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Method 2: Set via environment variable export JINA_API_KEY=jina_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Method 3: Pass via command line jina read -u "https://example.com" -k jina_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` Get your API key: Visit [Jina AI Reader](https://jina.ai/reader/#apiform) to sign up. ### Output Formats #### JSON Format (Default) ```json { "success": true, "data": { "url": "https://example.com", "title": "Example Domain", "content": "# Example Domain\n\nThis domain is..." } } ``` #### Markdown Format ```bash jina read -u "https://example.com" --output markdown ``` Output: ```markdown # Example Domain **Source**: https://example.com --- # Example Domain This domain is for use in illustrative examples... ``` ### Advanced Usage #### Bypass Cache ```bash jina read -u "https://example.com" --no-cache ``` #### Use Proxy ```bash jina read -u "https://example.com" --proxy "http://proxy.com:8080" ``` #### CSS Selector Extraction ```bash # Extract specific element only jina read -u "https://example.com" --target-selector "article.main" # Wait for element to load jina read -u "https://example.com" --wait-for-selector "#content" ``` #### Handle SPA Apps ```bash # For SPA with hash routing, use POST method jina read -u "https://example.com/#/route" --post ``` #### Set Cookie ```bash jina read -u "https://example.com" --cookie "session=abc123" ``` ### AI Agent Integration ```bash # Use with Claude Code or other AI tools jina read -u "https://x.com/elonmusk/status/123456" --output json # Search for latest information jina search -q "golang 1.24 release notes" --output json ``` ### Command Reference ``` jina - CLI tool for Jina AI Reader and Search APIs Usage: jina [command] Available Commands: read Extract and convert content from URLs search Search the web with AI-powered results config Manage configuration completion Generate shell completion help Help about any command Flags: -a, --api-base string API base URL (overrides config) -k, --api-key string API key (overrides config) -o, --output string Output format: json, markdown (default "json") -v, --verbose Verbose output -h, --help help for jina --version version for jina ``` ### Development ```bash # Run tests go test ./... # Run tests with coverage go test -cover ./... # Build go build -o jina ./cli # Cross-compile GOOS=linux GOARCH=amd64 go build -o jina-linux-amd64 ./cli GOOS=darwin GOARCH=arm64 go build -o jina-darwin-arm64 ./cli GOOS=windows GOARCH=amd64 go build -o jina-windows-amd64.exe ./cli ``` ### License [MIT License](LICENSE) ### Acknowledgments - [Jina AI Reader API](https://github.com/jina-ai/reader) - Core API service - [md2wechat-lite](https://github.com/geekjourneyx/md2wechat-lite) - Architecture reference --- ## 💰 Sponsor If this project helped you, consider buying me a coffee ☕️ **WeChat Pay** <p align="center"> <img src="https://raw.githubusercontent.com/geekjourneyx/awesome-developer-go-sail/main/docs/assets/wechat-reward-code.jpg" alt="WeChat Pay QR Code" width="200" /> </p> --- ## 👨‍💻 Author **[geekjourneyx](https://geekjourney.dev)** - **X (Twitter)**: https://x.com/seekjourney - **WeChat Official Account**: 极客杰尼 (Geek Journey) Follow for more insights on AI coding, AI tools, and AI-powered global website building: <p align="center"> <img src="https://raw.githubusercontent.com/geekjourneyx/awesome-developer-go-sail/main/docs/assets/qrcode.jpg" alt="WeChat Official Account: Geek Journey" width="180" /> </p>

AI Tools AI Agents Terminal & CLI Tools
301 Github Stars
agora
Open Source

agora

# Agora — 人生全场景多领域审议技能集 **6 个审议室 · 31 位思想家 · 1 个智能路由器 · 黑格尔正反合结构** Agora 是一个基于 Claude Code 构建的多 Agent 审议系统,覆盖工程、商业、人生抉择、关系、心理韧性、创造性突破六大领域。输入你的问题,AI 自动组建专家面板,通过结构化辩证得出深度结论。 > 名字取自古希腊城邦广场(Agora)——市民把一切问题带到那里:技术、商业、政治、爱情、意义。 ## 亮点 - **智能路由** — `/agora` 一个入口,自动分析问题并导向正确的审议室 - **31 位思想家** — 波普尔、康德、尼采、萨特、荣格、庄子……跨越东西方哲学、心理学、经济学 - **黑格尔正反合** — 不只是投票,而是 Thesis → Antithesis → Synthesis 的辩证升华 - **两次交互** — 审议中确认理解、决定深度,全程可引导 - **自包含** — 无需安装其他技能,开箱即用 ## 快速开始 **前置条件**:已安装 [Claude Code](https://docs.anthropic.com/en/docs/claude-code)。 ```bash # 安装(推荐) npx skills add https://github.com/geekjourneyx/agora # 或手动安装 git clone https://github.com/geekjourneyx/agora.git ~/.claude/skills/agora ``` ```text # 智能路由(推荐) /agora 要不要辞职去创业? # 直接进入审议室 /forge 我们的 monorepo 架构是否还合理? /oracle 我 38 岁了,觉得一直在过别人的生活 /hearth 我和伴侣每周都为同一件事吵架 /bazaar 竞争对手突然降价 30%,我们怎么应对? /clinic 我已经三个月没有动力工作了 /atelier 我有写作目标但每次都卡壳 # 查看所有房间 /agora --list ``` ## 6 个审议室 | 审议室 | 命令 | 领域 | 典型问题 | |--------|------|------|---------| | 锻造坊 | `/forge` | 工程与架构 | "该用什么架构?" "这段代码为什么有问题?" | | 集市 | `/bazaar` | 商业与战略 | "怎么定价?" "要不要进入这个市场?" | | 神谕所 | `/oracle` | 人生十字路口 | "要不要辞职?" "我的人生方向是什么?" | | 火炉边 | `/hearth` | 关系与家庭 | "怎么跟孩子沟通?" "这段感情值得继续吗?" | | 诊疗室 | `/clinic` | 心理韧性 | "怎么对抗拖延?" "我怎么从倦怠中恢复?" | | 工作坊 | `/atelier` | 创造性突破 | "我为什么写不出东西?" "怎么建立创作流程?" | ## 使用模式 | 模式 | 命令 | 说明 | |------|------|------| | **Full**(默认) | `/forge "问题"` | 8 步完整审议,两次交互,黑格尔正反合 | | **Quick** | `/forge --quick "问题"` | 2 轮快速模式,无交互,适合快速决策 | | **Duo** | `/forge --duo "张力"` | 双人辩证,3 轮,探索核心张力 | | **Triad** | `/forge --triad architecture "问题"` | 预定义三人组,精准匹配问题域 | | **Full Panel** | `/oracle --full "问题"` | 调用全部成员(6-7 位) | ## 13 位 Agora 专属思想家 | 思想家 | 核心方法论 | 隶属审议室 | |--------|-----------|-----------| | 卡尔·波普尔 | 证伪主义 / 红队 | forge | | 伊曼努尔·康德 | 绝对律令 / 可普遍化 | hearth, forge | | 奥卡姆的威廉 | 奥卡姆剃刀 / 复杂度审计 | forge, atelier | | 弗里德里希·尼采 | 创造性破坏 / 价值重估 | forge, oracle, atelier | | 让-保罗·萨特 | 存在自由 / 激进责任 | oracle | | 卡尔·荣格 | 阴影整合 / 个体化 | oracle, clinic | | 埃里希·弗洛姆 | 爱的艺术 / 生产性取向 | hearth | | 阿尔弗雷德·阿德勒 | 课题分离 / 共同体感觉 | hearth | | 维克多·弗兰克尔 | 意义疗法 / 态度自由 | clinic, oracle | | B.F.斯金纳 | 行为主义 / 环境设计 | clinic | | 约瑟夫·熊彼特 | 创造性毁灭 / 企业家精神 | bazaar | | 庄子 | 逍遥游 / 齐物论 | hearth, clinic | | 路德维希·维特根斯坦 | 语言游戏 / 概念分解 | forge, atelier | 另有 18 位来自 Council 的思想家(费曼、图灵、老子、孙子、塔勒布等),已内置,无需额外安装。 ## 审议协议 8 步结构化流程,升级自 Council 的 7 步协议: ``` STEP 0 解析模式 + 组建面板 STEP 1 证据收集(按 Room 定制) STEP 2 问题重述 + ★交互确认 STEP 3 第一轮 — 独立分析(并行、盲审) STEP 4 自适应深度门控 + ★交互决策 STEP 5 第二轮 — 黑格尔交叉审查(按需) STEP 6 协调者综合 STEP 7 Room 裁决 ``` 核心机制:Round 2 中每位 agent 必须提出 **Synthesis**(不能只选边站),Coordinator 识别 Thesis(多数派)→ Antithesis(最强少数派)→ Synthesis(更高整合)。 ## 与 Council 的关系 Agora 是 [Council of High Intelligence](https://github.com/0xNyk/council-of-high-intelligence) 的扩展,不是替代。Agora 内置了全部 18 个 council-* agent,无需单独安装 Council。两者可以共存,各有侧重。 ## 卸载 ```bash npx skills remove agora # npx 安装的 rm -rf ~/.claude/skills/agora # git clone 安装的 ``` ## 致谢 Agora 的核心 Council agents(18 位)和审议协议基础源自 [Council of High Intelligence](https://github.com/0xNyk/council-of-high-intelligence),感谢原作者的开创性工作。 ## License [MIT](LICENSE)

AI Agents
160 Github Stars
trending-skills
Open Source

trending-skills

# Skills Trending Daily > 自动追踪 skills.sh 技能排行榜,AI 智能分析,每日趋势报告邮件 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/) --- ## 目录 - [项目简介](#项目简介) - [功能特性](#功能特性) - [系统架构](#系统架构) - [快速开始](#快速开始) - [配置说明](#配置说明) - [使用方法](#使用方法) - [GitHub Actions](#github-actions) - [数据模型](#数据模型) - [开发指南](#开发指南) - [常见问题](#常见问题) --- ## 项目简介 **Skills Trending Daily** 是一个自动化技能趋势追踪系统。它每天从 [skills.sh/trending](https://skills.sh/trending) 获取最新的技能排行榜,使用 Claude AI 对热门技能进行智能分析和分类,计算排名变化趋势,并通过 Resend 发送专业的 HTML 邮件报告。 ### 为什么需要这个项目? 1. **开发者视角** - 快速了解哪些技能值得学习 2. **趋势洞察** - 捕捉新兴技术框架和工具的崛起 3. **智能总结** - AI 帮你理解每个技能解决什么问题 4. **自动化** - 无需手动查看网站,每天自动推送 --- ## 功能特性 ### 核心功能 | 功能 | 说明 | |-----|------| | **排行榜抓取** | 使用 Playwright 动态渲染获取 Top 100 技能排行 | | **详情抓取** | 深度抓取热门技能的详细信息 | | **AI 分析** | Claude AI 自动总结、分类、提取价值 | | **趋势计算** | 排名变化、安装量变化、新晋/掉榜检测 | | **邮件报告** | 专业 HTML 邮件,每个技能可点击跳转 | | **数据存储** | SQLite 存储历史数据,支持趋势分析 | ### 邮件报告内容 ``` Skills Trending Daily - 2026-01-24 ├── Top 20 Leaderboard(含 AI 总结) │ ├── 技能名称(可点击跳转)、排名、安装量 │ ├── AI 一句话摘要 │ ├── 详细说明 │ └── 解决的问题标签 ├── Rising Skills(上升幅度 Top 5) ├── Declining Skills(下降幅度 Top 5) ├── New & Dropped(新晋/掉榜) └── Trending Up(安装量暴涨告警) ``` --- ## 系统架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Skills Trending 系统架构 │ └─────────────────────────────────────────────────────────────────┘ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ GitHub │ │ Playwright │ │ Claude │ │ Actions │ ──▶ │ Skills │ ──▶ │ Summarizer │ │ (Cron Daily)│ │ Fetcher │ │ AI │ └──────────────┘ └──────┬───────┘ └──────┬───────┘ │ │ ▼ │ ┌──────────────┐ │ │ Detail │ │ │ Fetcher │ │ │ (Top N) │ │ └──────┬───────┘ │ │ │ └───────┬───────────────┘ │ ▼ ┌──────────────┐ │ Database │ │ (SQLite) │ └──────┬───────┘ │ ▼ ┌──────────────┐ │ Trend │ │ Analyzer │ └──────┬───────┘ │ ▼ ┌──────────────┐ │ HTML │ │ Reporter │ └──────┬───────┘ │ ▼ ┌──────────────┐ │ Resend │ │ Sender │ └──────┬───────┘ │ ▼ ──────► 您的邮箱 ``` --- ## 快速开始 ### 环境要求 - Python 3.11+ - Claude API Key(支持智谱代理) - Resend API Key ### 安装 ```bash # 克隆仓库 git clone https://github.com/geekjourneyx/trending-skills.git cd trending-skills # 安装依赖 pip install -r requirements.txt # 安装 Playwright 浏览器 playwright install chromium ``` ### 配置 ```bash # 复制环境变量模板 cp .env.example .env # 编辑 .env 文件,填入你的 API Keys nano .env ``` ### 运行 ```bash # 设置环境变量 export ZHIPU_API_KEY="your_api_key" export RESEND_API_KEY="your_resend_key" export EMAIL_TO="[email protected]" # 运行 python src/main_trending.py ``` --- ## 配置说明 ### 环境变量 | 变量 | 必需 | 说明 | 默认值 | |-----|------|------|--------| | `ZHIPU_API_KEY` | Yes | Claude API Key(智谱代理) | - | | `ANTHROPIC_BASE_URL` | No | Claude API 地址 | `https://open.bigmodel.cn/api/anthropic` | | `RESEND_API_KEY` | Yes | Resend API Key | - | | `EMAIL_TO` | Yes | 收件人邮箱 | - | | `RESEND_FROM_EMAIL` | No | 发件人邮箱 | `[email protected]` | | `DB_PATH` | No | 数据库路径 | `data/trends.db` | | `DB_RETENTION_DAYS` | No | 数据保留天数 | `30` | | `SURGE_THRESHOLD` | No | 暴涨阈值(比例) | `0.3` | ### Resend 配置 1. 注册 [Resend](https://resend.com) 2. 创建 API Key 3. 配置发件人域名(或使用默认的 `[email protected]`) --- ## 使用方法 ### 命令行运行 ```bash # 完整流程 python src/main_trending.py ``` ### 数据库查询 ```bash # 查看最新数据日期 sqlite3 data/trends.db "SELECT date FROM skills_daily ORDER BY date DESC LIMIT 1;" # 查看今日排行榜 Top 10 sqlite3 data/trends.db "SELECT rank, name, installs FROM skills_daily WHERE date = '2026-01-24' ORDER BY rank LIMIT 10;" # 查看技能详情 sqlite3 data/trends.db "SELECT name, summary, category FROM skills_details WHERE name = 'remotion-best-practices';" ``` --- ## GitHub Actions ### 自动化部署 1. Fork 本仓库 2. 在 GitHub Settings > Secrets and variables > Actions 中添加: - `ZHIPU_API_KEY` - `RESEND_API_KEY` - `EMAIL_TO`(可选) 3. 启用 Actions ### 定时执行 默认每天 **UTC 02:00**(北京时间 10:00)自动运行。 修改时间:编辑 `.github/workflows/skills-trending.yml` 中的 `cron` 表达式。 ### 手动触发 在 GitHub Actions 页面点击 "Run workflow" 按钮手动执行。 --- ## 数据模型 ### skills_daily - 每日快照 | 字段 | 类型 | 说明 | |-----|------|------| | `id` | INTEGER | 主键 | | `date` | TEXT | 日期 (YYYY-MM-DD) | | `rank` | INTEGER | 当日排名 | | `name` | TEXT | 技能名称 | | `owner` | TEXT | 拥有者 | | `installs` | INTEGER | 安装量 | | `installs_delta` | INTEGER | 安装量变化 | | `installs_rate` | REAL | 安装量变化率 | | `rank_delta` | INTEGER | 排名变化(正=上升) | | `url` | TEXT | 技能链接 | ### skills_details - 技能详情 | 字段 | 类型 | 说明 | |-----|------|------| | `id` | INTEGER | 主键 | | `name` | TEXT | 技能名称(唯一) | | `summary` | TEXT | AI 一句话摘要 | | `description` | TEXT | 详细描述 | | `use_case` | TEXT | 使用场景 | | `solves` | TEXT | JSON:解决的问题列表 | | `category` | TEXT | 分类(英文) | | `category_zh` | TEXT | 分类(中文) | | `rules_count` | INTEGER | 规则数量 | | `owner` | TEXT | 拥有者 | | `url` | TEXT | 技能链接 | ### skills_history - 历史趋势 | 字段 | 类型 | 说明 | |-----|------|------| | `id` | INTEGER | 主键 | | `skill_name` | TEXT | 技能名称 | | `date` | TEXT | 日期 | | `rank` | INTEGER | 当日排名 | | `installs` | INTEGER | 安装量 | --- ## 开发指南 ### 项目结构 ``` skills-trending/ ├── .github/workflows/ │ └── skills-trending.yml # GitHub Actions 配置 ├── src/ │ ├── config.py # 配置管理 │ ├── database.py # SQLite 操作 │ ├── skills_fetcher.py # 榜单抓取(Playwright) │ ├── detail_fetcher.py # 详情抓取 │ ├── claude_summarizer.py # AI 分析 │ ├── trend_analyzer.py # 趋势计算 │ ├── html_reporter.py # 邮件生成 │ ├── resend_sender.py # 邮件发送 │ └── main_trending.py # 主入口 ├── plugins/ │ └── trending-skills/ # Claude Code Skill ├── data/ │ └── trends.db # 数据库(运行时生成) ├── requirements.txt ├── .env.example ├── CHANGELOG.md └── README.md ``` ### 核心模块说明 | 模块 | 功能 | |-----|------| | `skills_fetcher.py` | 使用 Playwright 抓取 skills.sh 榜单,支持动态渲染 | | `detail_fetcher.py` | 抓取单个技能的详细页面内容 | | `claude_summarizer.py` | 调用 Claude API 分析技能内容 | | `trend_analyzer.py` | 计算排名变化、新晋/掉榜、暴涨检测 | | `html_reporter.py` | 生成专业 HTML 邮件(无 emoji,可点击链接) | | `database.py` | SQLite 数据库操作,支持数据持久化 | ### 扩展开发 **新增数据源** ```python # 修改 skills_fetcher.py class SkillsFetcher: def __init__(self, timeout: int = 30000): self.trending_url = "your_custom_url" ``` **新增分析维度** ```python # 修改 trend_analyzer.py def calculate_trends(self, today_skills, today, ai_summary_map): # 添加新的分析逻辑 pass ``` **自定义邮件样式** ```python # 修改 html_reporter.py def _get_header(self, date: str) -> str: # 修改样式和布局 pass ``` --- ## 常见问题 ### 邮件没有收到? 1. 检查 Resend API Key 是否正确 2. 确认收件人邮箱地址 3. 查看垃圾邮件箱 4. 检查 GitHub Actions 日志 ### Playwright 浏览器安装失败? ```bash # 重新安装 playwright install chromium --with-deps ``` ### 数据库文件在哪里? 默认位置:`data/trends.db` ### 如何查看历史数据? ```bash sqlite3 data/trends.db .tables SELECT * FROM skills_daily ORDER BY date DESC LIMIT 10; ``` ### 如何更改运行时间? 编辑 `.github/workflows/skills-trending.yml`: ```yaml schedule: - cron: '0 2 * * *' # UTC 时间,每天 02:00 ``` --- ## 打赏 Buy Me A Coffee 如果该项目帮助了您,请作者喝杯咖啡吧 ### WeChat <img src="https://raw.githubusercontent.com/geekjourneyx/awesome-developer-go-sail/main/docs/assets/wechat-reward-code.jpg" alt="微信打赏码" width="200" /> --- ## 作者 - **作者**: `geekjourneyx` - **X (Twitter)**: https://x.com/seekjourney - **公众号**: 极客杰尼 关注公众号,获取更多 AI 编程、AI 工具与 AI 出海建站的实战分享: <p> <img src="https://raw.githubusercontent.com/geekjourneyx/awesome-developer-go-sail/main/docs/assets/qrcode.jpg" alt="公众号:极客杰尼" width="180" /> </p> --- ## License [MIT](LICENSE) --- ## 致谢 - [skills.sh](https://skills.sh) - 技能数据来源 - [Anthropic](https://anthropic.com) - Claude AI - [Resend](https://resend.com) - 邮件服务 - [Playwright](https://playwright.dev) - 浏览器自动化

AI Agents Cron & Job Scheduling Browser Automation
57 Github Stars