feat(cli): add command access metadata (#1296)

This commit is contained in:
jakevin
2026-05-04 19:47:08 +08:00
committed by GitHub
parent 328140966e
commit eea9ff8bfe
668 changed files with 1452 additions and 89 deletions
+656
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -183,6 +183,7 @@ export async function extractAssetsForInput(page, input) {
cli({
site: '1688',
name: 'assets',
access: 'read',
description: '列出 1688 商品页可提取的图片/视频素材',
domain: 'www.1688.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -42,6 +42,7 @@ function toDownloadItems(offerId, assets) {
cli({
site: '1688',
name: 'download',
access: 'read',
description: '批量下载 1688 商品页可提取的图片和视频素材',
domain: 'www.1688.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -156,6 +156,7 @@ async function readItemPayload(page, itemUrl) {
cli({
site: '1688',
name: 'item',
access: 'read',
description: '1688 商品详情(公开商品字段、价格阶梯、卖家基础信息)',
domain: 'www.1688.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -275,6 +275,7 @@ async function collectSearchRows(page, query, limit) {
cli({
site: '1688',
name: 'search',
access: 'read',
description: '1688 商品搜索(结果候选、卖家链接、价格/MOQ/销量文本)',
domain: 'www.1688.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -167,6 +167,7 @@ function hasAnyEvidence(storePayload, contactPayload, seed) {
cli({
site: '1688',
name: 'store',
access: 'read',
description: '1688 店铺/供应商公开信息(联系方式、主营、入驻年限、公开服务信号)',
domain: 'www.1688.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -13,6 +13,7 @@ function parseArticleId(input) {
cli({
site: '36kr',
name: 'article',
access: 'read',
description: '获取36氪文章正文内容',
domain: 'www.36kr.com',
strategy: Strategy.INTERCEPT,
+1
View File
@@ -26,6 +26,7 @@ function buildHotListUrl(listType, date = new Date()) {
cli({
site: '36kr',
name: 'hot',
access: 'read',
description: '36氪热榜 — trending articles (renqi/zonghe/shoucang/catalog)',
domain: 'www.36kr.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -5,6 +5,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: '36kr',
name: 'news',
access: 'read',
description: 'Latest tech/startup news from 36kr (36氪)',
domain: 'www.36kr.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -8,6 +8,7 @@ import { CliError } from '@jackwener/opencli/errors';
cli({
site: '36kr',
name: 'search',
access: 'read',
description: '搜索36氪文章',
domain: 'www.36kr.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -13,6 +13,7 @@ import { JOBS_ORIGIN, requirePage, navigateTo, parseCompanyJobCard } from './uti
cli({
site: '51job',
name: 'company',
access: 'read',
description: '51job 公司简介 + 在招职位(按 encCoId',
domain: 'jobs.51job.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -13,6 +13,7 @@ import { JOBS_ORIGIN, requirePage, navigateTo } from './utils.js';
cli({
site: '51job',
name: 'detail',
access: 'read',
description: '51job 职位详情(按 jobId',
domain: 'jobs.51job.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -16,6 +16,7 @@ import {
cli({
site: '51job',
name: 'hot',
access: 'read',
description: '51job 推荐职位(按城市/行业/排序浏览)',
domain: 'we.51job.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -20,6 +20,7 @@ import {
cli({
site: '51job',
name: 'search',
access: 'read',
description: '51job 前程无忧关键词职位搜索',
domain: 'we.51job.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -2,6 +2,7 @@ import { cli } from '@jackwener/opencli/registry';
import { createRankingCliOptions } from './rankings.js';
cli(createRankingCliOptions({
commandName: 'bestsellers',
access: 'read',
listType: 'bestsellers',
description: 'Amazon Best Sellers pages for category candidate discovery',
}));
+1
View File
@@ -85,6 +85,7 @@ async function readDiscussionPayload(page, input, limit) {
cli({
site: 'amazon',
name: 'discussion',
access: 'read',
description: 'Amazon review summary and sample customer discussion from product review pages',
domain: 'amazon.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -2,6 +2,7 @@ import { cli } from '@jackwener/opencli/registry';
import { createRankingCliOptions } from './rankings.js';
cli(createRankingCliOptions({
commandName: 'movers-shakers',
access: 'read',
listType: 'movers_shakers',
description: 'Amazon Movers & Shakers pages for short-term growth signals',
}));
+1
View File
@@ -2,6 +2,7 @@ import { cli } from '@jackwener/opencli/registry';
import { createRankingCliOptions } from './rankings.js';
cli(createRankingCliOptions({
commandName: 'new-releases',
access: 'read',
listType: 'new_releases',
description: 'Amazon New Releases pages for early momentum discovery',
}));
+1
View File
@@ -106,6 +106,7 @@ async function readOfferPayload(page, input) {
cli({
site: 'amazon',
name: 'offer',
access: 'read',
description: 'Amazon seller, buy box, and fulfillment facts from the product page',
domain: 'amazon.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -65,6 +65,7 @@ async function readProductPayload(page, input) {
cli({
site: 'amazon',
name: 'product',
access: 'read',
description: 'Amazon product page facts for candidate validation',
domain: 'amazon.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -142,6 +142,7 @@ export function createRankingCliOptions(definition) {
return {
site: 'amazon',
name: definition.commandName,
access: definition.access ?? 'read',
description: definition.description,
domain: 'amazon.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -49,6 +49,7 @@ async function readSearchPayload(page, query) {
cli({
site: 'amazon',
name: 'search',
access: 'read',
description: 'Amazon search results for product discovery and coarse filtering',
domain: 'amazon.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import * as fs from 'node:fs';
export const dumpCommand = cli({
site: 'antigravity',
name: 'dump',
access: 'read',
description: 'Dump the DOM to help AI understand the UI',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const extractCodeCommand = cli({
site: 'antigravity',
name: 'extract-code',
access: 'read',
description: 'Extract multi-line code blocks from the current Antigravity conversation',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const modelCommand = cli({
site: 'antigravity',
name: 'model',
access: 'read',
description: 'Switch the active LLM model in Antigravity',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const newCommand = cli({
site: 'antigravity',
name: 'new',
access: 'read',
description: 'Start a new conversation / clear context in Antigravity',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const readCommand = cli({
site: 'antigravity',
name: 'read',
access: 'read',
description: 'Read the latest chat messages from Antigravity AI',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const sendCommand = cli({
site: 'antigravity',
name: 'send',
access: 'write',
description: 'Send a message to Antigravity AI via the internal Lexical editor',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const statusCommand = cli({
site: 'antigravity',
name: 'status',
access: 'read',
description: 'Check Antigravity CDP connection and get current page state',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
export const watchCommand = cli({
site: 'antigravity',
name: 'watch',
access: 'read',
description: 'Stream new chat messages from Antigravity in real-time',
domain: 'localhost',
strategy: Strategy.UI,
+1
View File
@@ -4,6 +4,7 @@ import { itunesFetch, formatDuration, formatDate } from './utils.js';
cli({
site: 'apple-podcasts',
name: 'episodes',
access: 'read',
description: 'List recent episodes of an Apple Podcast (use ID from search)',
strategy: Strategy.PUBLIC,
browser: false,
+1
View File
@@ -4,6 +4,7 @@ import { itunesFetch } from './utils.js';
cli({
site: 'apple-podcasts',
name: 'search',
access: 'read',
description: 'Search Apple Podcasts',
strategy: Strategy.PUBLIC,
browser: false,
+1
View File
@@ -6,6 +6,7 @@ const CHARTS_TIMEOUT_MS = 15_000;
cli({
site: 'apple-podcasts',
name: 'top',
access: 'read',
description: 'Top podcasts chart on Apple Podcasts',
strategy: Strategy.PUBLIC,
browser: false,
+1
View File
@@ -4,6 +4,7 @@ import { arxivFetch, parseEntries } from './utils.js';
cli({
site: 'arxiv',
name: 'paper',
access: 'read',
description: 'Get arXiv paper details by ID',
strategy: Strategy.PUBLIC,
browser: false,
+1
View File
@@ -4,6 +4,7 @@ import { arxivFetch, normalizeArxivCategory, normalizeArxivLimit, parseEntries }
cli({
site: 'arxiv',
name: 'recent',
access: 'read',
description: 'List recent arXiv submissions in a category',
strategy: Strategy.PUBLIC,
browser: false,
+1
View File
@@ -4,6 +4,7 @@ import { arxivFetch, normalizeArxivLimit, parseEntries } from './utils.js';
cli({
site: 'arxiv',
name: 'search',
access: 'read',
description: 'Search arXiv papers',
strategy: Strategy.PUBLIC,
browser: false,
+1
View File
@@ -4,6 +4,7 @@ import { clampInt, requireNonEmptyQuery } from '../_shared/common.js';
cli({
site: 'baidu-scholar',
name: 'search',
access: 'read',
description: '百度学术搜索',
domain: 'xueshu.baidu.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -13,6 +13,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'band',
name: 'bands',
access: 'read',
description: 'List all Bands you belong to',
domain: 'www.band.us',
strategy: Strategy.COOKIE,
+1
View File
@@ -12,6 +12,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'band',
name: 'mentions',
access: 'read',
description: 'Show Band notifications where you are @mentioned',
domain: 'www.band.us',
strategy: Strategy.INTERCEPT,
+1
View File
@@ -18,6 +18,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'band',
name: 'post',
access: 'read',
description: 'Export full content of a post including comments',
domain: 'www.band.us',
strategy: Strategy.COOKIE,
+1
View File
@@ -10,6 +10,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'band',
name: 'posts',
access: 'read',
description: 'List posts from a Band',
domain: 'www.band.us',
strategy: Strategy.COOKIE,
+1
View File
@@ -7,6 +7,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'barchart',
name: 'flow',
access: 'read',
description: 'Barchart unusual options activity / options flow',
domain: 'www.barchart.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -7,6 +7,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'barchart',
name: 'greeks',
access: 'read',
description: 'Barchart options greeks overview (IV, delta, gamma, theta, vega)',
domain: 'www.barchart.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'barchart',
name: 'options',
access: 'read',
description: 'Barchart options chain with greeks, IV, volume, and open interest',
domain: 'www.barchart.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -7,6 +7,7 @@ import { CommandExecutionError } from '@jackwener/opencli/errors';
cli({
site: 'barchart',
name: 'quote',
access: 'read',
description: 'Barchart stock quote with price, volume, and key metrics',
domain: 'www.barchart.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -5,6 +5,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bbc',
name: 'news',
access: 'read',
description: 'BBC News headlines (RSS)',
domain: 'www.bbc.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -7,6 +7,7 @@ import { apiGet, resolveBvid } from './utils.js';
cli({
site: 'bilibili',
name: 'comments',
access: 'read',
description: '获取 B站视频评论(使用官方 API + WBI 签名)',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -14,6 +14,7 @@ import { resolveBvid } from './utils.js';
cli({
site: 'bilibili',
name: 'download',
access: 'read',
description: '下载B站视频(需要 yt-dlp',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import { apiGet } from './utils.js';
cli({
site: 'bilibili',
name: 'dynamic',
access: 'read',
description: 'Get Bilibili user dynamic feed',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import { apiGet, payloadData, getSelfUid } from './utils.js';
cli({
site: 'bilibili',
name: 'favorite',
access: 'write',
description: '我的收藏夹',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+2
View File
@@ -65,6 +65,7 @@ function parseItem(item) {
cli({
site: 'bilibili',
name: 'feed',
access: 'read',
description: '动态时间线(不传 uid 查关注时间线,传 uid 查指定用户动态)',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
@@ -134,6 +135,7 @@ cli({
cli({
site: 'bilibili',
name: 'feed-detail',
access: 'read',
description: '查看 Bilibili 动态详情(支持充电专属内容)',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -4,6 +4,7 @@ import { fetchJson, getSelfUid, resolveUid } from './utils.js';
cli({
site: 'bilibili',
name: 'following',
access: 'read',
description: '获取 Bilibili 用户的关注列表',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import { apiGet, payloadData } from './utils.js';
cli({
site: 'bilibili',
name: 'history',
access: 'read',
description: '我的观看历史',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -2,6 +2,7 @@ import { cli } from '@jackwener/opencli/registry';
cli({
site: 'bilibili',
name: 'hot',
access: 'read',
description: 'B站热门视频',
domain: 'www.bilibili.com',
args: [
+1 -1
View File
@@ -1,7 +1,7 @@
import { cli, Strategy } from '@jackwener/opencli/registry';
import { apiGet, getSelfUid } from './utils.js';
cli({
site: 'bilibili', name: 'me', description: 'My Bilibili profile info', domain: 'www.bilibili.com', strategy: Strategy.COOKIE,
site: 'bilibili', name: 'me', access: 'read', description: 'My Bilibili profile info', domain: 'www.bilibili.com', strategy: Strategy.COOKIE,
args: [],
columns: ['name', 'uid', 'level', 'coins', 'followers', 'following'],
func: async (page) => {
+1
View File
@@ -3,6 +3,7 @@ import { apiGet } from './utils.js';
cli({
site: 'bilibili',
name: 'ranking',
access: 'read',
description: 'Get Bilibili video ranking board',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1 -1
View File
@@ -1,7 +1,7 @@
import { cli, Strategy } from '@jackwener/opencli/registry';
import { apiGet, stripHtml } from './utils.js';
cli({
site: 'bilibili', name: 'search', description: 'Search Bilibili videos or users', domain: 'www.bilibili.com', strategy: Strategy.COOKIE,
site: 'bilibili', name: 'search', access: 'read', description: 'Search Bilibili videos or users', domain: 'www.bilibili.com', strategy: Strategy.COOKIE,
args: [
{ name: 'query', required: true, positional: true, help: 'Search keyword' },
{ name: 'type', default: 'video', help: 'video or user' },
+1
View File
@@ -4,6 +4,7 @@ import { apiGet, resolveBvid } from './utils.js';
cli({
site: 'bilibili',
name: 'subtitle',
access: 'read',
description: '获取 Bilibili 视频的字幕',
strategy: Strategy.COOKIE,
args: [
+1
View File
@@ -3,6 +3,7 @@ import { apiGet, payloadData, resolveUid } from './utils.js';
cli({
site: 'bilibili',
name: 'user-videos',
access: 'read',
description: '查看指定用户的投稿视频',
domain: 'www.bilibili.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -5,6 +5,7 @@ import { apiGet, resolveBvid } from './utils.js';
cli({
site: 'bilibili',
name: 'video',
access: 'read',
description: 'Get Bilibili video metadata (title, author, duration, stats, etc.)',
strategy: Strategy.COOKIE,
args: [
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'asks',
access: 'read',
description: 'Order book ask prices for a trading pair',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'depth',
access: 'read',
description: 'Order book bid and ask prices for a trading pair',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'gainers',
access: 'read',
description: 'Top gaining trading pairs by 24h price change',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'klines',
access: 'read',
description: 'Candlestick/kline data for a trading pair',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'losers',
access: 'read',
description: 'Top losing trading pairs by 24h price change',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'pairs',
access: 'read',
description: 'List active trading pairs on Binance',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'price',
access: 'read',
description: 'Quick price check for a trading pair',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'prices',
access: 'read',
description: 'Latest prices for all trading pairs',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'ticker',
access: 'read',
description: '24h ticker statistics for top trading pairs by volume',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'top',
access: 'read',
description: 'Top trading pairs by 24h volume on Binance',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'binance',
name: 'trades',
access: 'read',
description: 'Recent trades for a trading pair',
domain: 'data-api.binance.vision',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'businessweek',
access: 'read',
description: 'Bloomberg Businessweek top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'economics',
access: 'read',
description: 'Bloomberg Economics top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { BLOOMBERG_FEEDS } from './utils.js';
cli({
site: 'bloomberg',
name: 'feeds',
access: 'read',
description: 'List the Bloomberg RSS feed aliases used by the adapter',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'industries',
access: 'read',
description: 'Bloomberg Industries top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'main',
access: 'read',
description: 'Bloomberg homepage top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'markets',
access: 'read',
description: 'Bloomberg Markets top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -4,6 +4,7 @@ import { extractStoryMediaLinks, renderStoryBody, validateBloombergLink, } from
cli({
site: 'bloomberg',
name: 'news',
access: 'read',
description: 'Read a Bloomberg story/article page and return title, full content, and media links',
domain: 'www.bloomberg.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'opinions',
access: 'read',
description: 'Bloomberg Opinion top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'politics',
access: 'read',
description: 'Bloomberg Politics top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -3,6 +3,7 @@ import { fetchBloombergFeed } from './utils.js';
cli({
site: 'bloomberg',
name: 'tech',
access: 'read',
description: 'Bloomberg Tech top stories (RSS)',
domain: 'feeds.bloomberg.com',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'feeds',
access: 'read',
description: 'Popular Bluesky feed generators',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'followers',
access: 'read',
description: 'List followers of a Bluesky user',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'following',
access: 'read',
description: 'List accounts a Bluesky user is following',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'profile',
access: 'read',
description: 'Get Bluesky user profile info',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'search',
access: 'read',
description: 'Search Bluesky users',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'starter-packs',
access: 'read',
description: 'Get starter packs created by a Bluesky user',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'thread',
access: 'read',
description: 'Get a Bluesky post thread with replies',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'trending',
access: 'read',
description: 'Trending topics on Bluesky',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -2,6 +2,7 @@ import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'bluesky',
name: 'user',
access: 'read',
description: 'Get recent posts from a Bluesky user',
domain: 'public.api.bsky.app',
strategy: Strategy.PUBLIC,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateToChat, fetchRecommendList, clickCandidateInList,
cli({
site: 'boss',
name: 'batchgreet',
access: 'write',
description: 'BOSS直聘批量向推荐候选人发送招呼',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import { requirePage, navigateToChat, fetchFriendList } from './utils.js';
cli({
site: 'boss',
name: 'chatlist',
access: 'read',
description: 'BOSS直聘查看聊天列表(招聘端)',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -3,6 +3,7 @@ import { requirePage, navigateToChat, bossFetch, findFriendByUid } from './utils
cli({
site: 'boss',
name: 'chatmsg',
access: 'read',
description: 'BOSS直聘查看与候选人的聊天消息',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateTo, bossFetch, verbose } from './utils.js';
cli({
site: 'boss',
name: 'detail',
access: 'read',
description: 'BOSS直聘查看职位详情',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateToChat, bossFetch, findFriendByUid, verbose } from
cli({
site: 'boss',
name: 'exchange',
access: 'write',
description: 'BOSS直聘交换联系方式(请求手机/微信)',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateToChat, findFriendByUid, clickCandidateInList, typ
cli({
site: 'boss',
name: 'greet',
access: 'write',
description: 'BOSS直聘向新候选人发送招呼(开始聊天)',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateToChat, bossFetch, findFriendByUid, verbose } from
cli({
site: 'boss',
name: 'invite',
access: 'write',
description: 'BOSS直聘发送面试邀请',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateToChat, bossFetch, verbose } from './utils.js';
cli({
site: 'boss',
name: 'joblist',
access: 'read',
description: 'BOSS直聘查看我发布的职位列表',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -15,6 +15,7 @@ const LABEL_MAP = {
cli({
site: 'boss',
name: 'mark',
access: 'write',
description: 'BOSS直聘给候选人添加标签',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,
+1
View File
@@ -6,6 +6,7 @@ import { requirePage, navigateToChat, bossFetch, fetchRecommendList, verbose } f
cli({
site: 'boss',
name: 'recommend',
access: 'read',
description: 'BOSS直聘查看推荐候选人(新招呼列表)',
domain: 'www.zhipin.com',
strategy: Strategy.COOKIE,

Some files were not shown because too many files have changed in this diff Show More