Agent 配套工具

sortlist-max-cli|开发者与AI Agent使用的销售线索发现命令行工具

sortlist-max-cli

通过命令行调用 Max API 发现销售线索、管理订阅与 Webhook,并可选安装面向 AI Agent 的 SKILL.md 技能说明。

获取与使用

需要部署

按官方资料自行安装或部署

使用难度待核验
国内可用性待核验

2026-11-09 更新 · 本站尚未实测

项目介绍

Agent 配套工具 · 2026-11-09 更新 · 本站尚未实测

Max CLI 是 Sortlist 发布的命令行工具,README 将其定位为“Lead intelligence CLI for developers and AI agents”,即面向开发者与 AI Agent 的线索情报 CLI。它提供对 Max API 的命令行封装,用于按团队与业务(business)维度监控 LinkedIn、融资数据库等信号源,并以编程方式发现新线索。

需要注意:本项目本身是命令行工具(CLI),并提供一份面向 AI Agent 的技能说明文件 SKILL.md;它并不是一个自主运行的 Agent 框架,也不是 MCP 服务器。仓库中未提供 MCP 配置或服务器说明。

核心能力

点击能力名称查看输入、输出和原文依据。

  • 信号目录:max signals:list 列出全部可监控信号类型,max signals:get 获取具体信号详情;该部分为只读公开目录。
  • 业务管理:列出、查询、创建、更新业务(business),可从网站自动分析名称、描述与理想客户画像(ICP),也可手动填写 ICP 属性。
  • 订阅管理:创建、更新、暂停、恢复、删除订阅;订阅即“带具体配置的已启用信号”,例如追踪某公司 LinkedIn 页面的互动者。
  • 线索管理:分页列出线索、查看单条线索详情与投递历史、软删除线索;README 说明线索包含姓名、公司、LinkedIn 链接、邮箱、电话等信息。
  • Webhook:注册接收新线索的 HTTP POST 地址,可选使用 HMAC-SHA256 签名校验。
  • JSON 输出:所有命令输出 JSON,便于用 jq 处理或由 AI Agent 消费。

实际应用场景

适用场景

适合需要把线索发现流程脚本化或接入自动化的开发者团队:按网站快速建立业务档案与 ICP、批量配置监控订阅、定时拉取新线索、通过 Webhook 触发自有系统处理。对于具备终端调用能力的 AI Agent,可通过 README 提供的技能安装命令获取命令与工作流知识,从而代为执行上述 CLI 操作。

安装与接入

README 给出的全局安装命令为:

npm install -g sortlist-max-cli

面向 AI Agent 的技能安装命令为:

npx skills add sortlist/max-cli

README 称该命令会安装 SKILL.md,使 Agent 了解 CLI 命令、模式与工作流;对 Cursor、Claude Code、OpenClaw 等客户端的实际兼容情况需以各自环境实测为准。

认证推荐使用交互式登录:

max login

该命令会提示输入 API Key(在控制台 Settings > API Keys 获取),校验后保存至 ~/.max/config.json。也可设置 MAX_API_KEY 环境变量,其优先级高于已保存配置。max logout 可移除已保存凭据。

所有与线索、订阅、Webhook 相关的命令都需用 --business(-b)指定业务。README 附有完整工作流示例,例如先创建业务、再浏览信号、最后创建订阅并查看线索。

使用条件与限制

是否需要部署
需自行准备运行环境,具体要求见正文
是否需要注册
账号和认证要求见正文;未明确说明的项目仍待核验
是否需要 API Key
待核验
费用与额度
费用边界见正文,项目许可不代表模型或托管服务免费
所需权限
待核验
许可证与服务条款
待核验

权限费用与限制

使用需要 Max 账号与团队级 API Key;密钥按团队划分,业务是其下的操作范围。README 提到限流为每分钟 60 次请求(HTTP 429),错误码包括 401、404、422。

费用方面,README 未说明 API 或服务是否收费、是否有免费额度,需向官方核验。线索数据来源于第三方平台(如 LinkedIn、融资数据库),其采集与使用涉及各平台条款及个人信息保护合规,README 未涉及,需自行评估。Webhook secret 用于 HMAC-SHA256 校验,应按密钥管理。

本项目代码以 MIT 许可证发布,但公开仓库许可不等同于 Max 托管 API、数据服务或第三方数据源免费,相关价格与条款待核验。

国内使用情况

网友核验 用户经验分享

与站长实测独立,不代表官方认证或本站已实测。

我要核验
0 位参与者0 份有效分项记录

最近核验:暂无有效核验。参与人数按当前项目有效身份去重;不同核验项分别统计,不合并成用户总结果。仅统计审核通过且未过期的记录。

分项统计、有效期与样本量
核验项目有效人数成功 / 部分 / 失败 / 无法判断成功率最近核验 / 有效期
官方网站访问00 / 0 / 0 / 0样本不足暂无 / 7 天
GitHub 仓库访问00 / 0 / 0 / 0样本不足暂无 / 7 天
安装与运行00 / 0 / 0 / 0样本不足暂无 / 30 天
官方服务国内连接 / MCP 连接00 / 0 / 0 / 0样本不足暂无 / 30 天
国内网络情况00 / 0 / 0 / 0样本不足暂无 / 7 天
国内模型兼容性00 / 0 / 0 / 0样本不足暂无 / 30 天
自定义 API00 / 0 / 0 / 0样本不足暂无 / 30 天
海外服务依赖
00 / 0 / 0 / 0样本不足暂无 / 30 天
海外账号要求
00 / 0 / 0 / 0样本不足暂无 / 30 天
中文界面
00 / 0 / 0 / 0样本不足暂无 / 30 天
客户端兼容性00 / 0 / 0 / 0样本不足暂无 / 30 天
账号及费用信息
00 / 0 / 0 / 0样本不足暂无 / 30 天

成功率 = 成功 ÷(成功 + 部分成功 + 失败);无法判断不计入分母。至少 5 份可判断结果才显示成功率。账号、费用、海外依赖与语言等事实项,成功表示核查结论与资料吻合,具体观察另行统计;不表示免费或没有海外依赖。不同网络、客户端和版本的结果不能直接等同。

最近有效核验

暂无审核通过且未过期的网友核验。欢迎提交真实使用记录。

查看全部有效核验 →

国内实测状态:国内可用性待核验。协议兼容和官方资料说明不等于国内网络可用。

官方网站访问
尚未实测 待核验
GitHub 仓库访问
尚未实测 待核验
官方服务国内连接
尚未实测 待核验
国内网络情况
尚未实测 待核验
国内模型兼容性
尚未实测 待核验
自定义 API
尚未实测 待核验
海外服务依赖
尚未实测 待核验
海外账号要求
尚未实测 待核验
中文界面
尚未实测 待核验
国内最后核验时间
尚未实测

许可与国内使用

仓库 LICENSE 文件为 MIT License,版权声明为 Sortlist。README 未说明服务部署地域、数据存储位置,也未说明在中国大陆网络环境下的可用性及对国内模型的支持情况,均待核验。CLI 依赖 npm 全局安装,安装与调用需访问 GitHub、npm 及 api.yourmax.ai 等境外资源,实际连通性需自行测试。

项目资料与来源

官方网站 ↗

GitHub 仓库 ↗

官方文档 ↗

字段依据与待核验事项

access:来源确认 · npm install -g sortlist-max-cli

project_type:来源确认 · Lead intelligence CLI for developers and AI agents -- Discover leads, manage subscriptions, and automate workflows from the terminal.

原始 README(折叠技术参考)
# Max CLI

[![npm](https://img.shields.io/npm/v/sortlist-max-cli)](https://www.npmjs.com/package/sortlist-max-cli) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](LICENSE)

**Lead intelligence CLI for developers and AI agents** -- Discover leads, manage subscriptions, and automate workflows from the terminal.

The Max CLI provides a command-line interface to the [Max](https://yourmax.ai/) API, enabling developers and AI agents to monitor sources (LinkedIn, funding databases, etc.) and discover new leads programmatically.

---

## Installation

```bash
npm install -g sortlist-max-cli
```

### For AI Agents

Install the Max skill for your AI agent (Cursor, Claude Code, OpenClaw, etc.):

```bash
npx skills add sortlist/max-cli
```

This installs the [SKILL.md](SKILL.md) which gives your agent full knowledge of the CLI commands, patterns, and workflows.

---

## Authentication

The recommended way to authenticate is the interactive login command:

```bash
max login
```

This prompts for your API key (get it from **Settings > API Keys** in your dashboard), validates it, and saves it to `~/.max/config.json`.

Alternatively, set the `MAX_API_KEY` environment variable (takes priority over saved config):

```bash
export MAX_API_KEY=your_api_key
```

To remove saved credentials:

```bash
max logout
```

API keys are scoped to your **team**. Use `--business` (`-b`) to specify which business to operate on for leads, subscriptions, and webhooks.

---

## Commands

### Signals (catalog)

The signal catalog lists all available monitoring types. This is read-only and public.

```bash
# List all signal types
max signals:list

# Get details for a specific signal
max signals:get linkedin-company-engagers
```

### Businesses

Each team can have multiple businesses. All leads, subscriptions, and webhooks are scoped to a business.

```bash
# List all businesses in your team
max businesses:list

# Get a business with its Ideal Customer Profile
max businesses:get 1

# Create a business from a website (auto-analyzes name, description, and ICP)
max businesses:create --website https://acme.com

# Create a business manually
max businesses:create --name "Acme Corp" --website https://acme.com

# Create with ICP attributes
max businesses:create --name "Acme Corp" \
  --icp '{"target_job_titles":["CTO","VP of Engineering"],"target_locations":["North America"]}'
```

**`businesses:create` options:**

| Option | Required | Description |
|---|---|---|
| `--website` | Conditional | Website URL. If passed alone, auto-analyzes name/description/ICP |
| `--name` | Conditional | Business name (required when not using website-only mode) |
| `--description` | No | Short description |
| `--icp` | No | Ideal Customer Profile attributes as JSON string |

```bash
# Update a business name
max businesses:update 1 --name "New Name"

# Update the ICP (include the ICP id from businesses:get response)
max businesses:update 1 --icp '{"id":1,"target_job_titles":["CTO","VP Engineering"]}'
```

**`businesses:update` options:**

| Option | Description |
|---|---|
| `--name` | Business name |
| `--website` | Website URL |
| `--description` | Short description |
| `--icp` | ICP attributes as JSON string (include `id` to update existing ICP) |

### Subscriptions

A subscription is a signal you've activated with a specific configuration (e.g. "Track engagers on Apple's LinkedIn page"). All subscription commands require `--business` (`-b`).

```bash
# List all subscriptions
max subscriptions:list --business 1

# Get a subscription with stats
max subscriptions:get 42 --business 1

# Create a subscription
max subscriptions:create --business 1 \
  --signal linkedin-company-engagers \
  --name "Apple Engagers" \
  --config '{"linkedin_url":"https://www.linkedin.com/company/apple/"}'

# Update a subscription
max subscriptions:update 42 --business 1 --name "Renamed Subscription"

# Pause (stops scanning for new leads)
max subscriptions:pause 42 --business 1

# Resume
max subscriptions:resume 42 --business 1

# Delete
max subscriptions:delete 42 --business 1
```

**`subscriptions:create` options:**

| Option | Required | Description |
|---|---|---|
| `--business` | Yes | Business ID |
| `--signal` | Yes | Signal slug from the catalog |
| `--name` | Yes | Name for this subscription |
| `--config` | No | Signal-specific config as JSON string |

**`subscriptions:update` options:**

| Option | Description |
|---|---|
| `--name` | Updated name |
| `--active` | Set active state (true/false) |
| `--config` | Updated config as JSON string |

### Leads

Leads are enriched profiles discovered by your active subscriptions. Each lead includes name, company, LinkedIn URL, email, phone, and more. All lead commands require `--business` (`-b`).

```bash
# List leads (paginated)
max leads:list --business 1
max leads:list --business 1 --page 2 --per-page 50

# Get a single lead with full details and delivery history
max leads:get 1234 --business 1

# Delete a lead (soft-delete)
max leads:delete 1234 --business 1
```

**`leads:list` options:**

| Option | Default | Description |
|---|---|---|
| `--business` | — | Business ID (required) |
| `--page` | 1 | Page number |
| `--per-page` | 25 | Results per page (max 100) |

### Webhooks

Register URLs to receive an HTTP POST in real-time whenever a new lead is discovered. All webhook commands require `--business` (`-b`).

```bash
# List webhooks
max webhooks:list --business 1

# Create a webhook with HMAC signature verification
max webhooks:create --business 1 --url https://example.com/webhook --secret whsec_abc123

# Delete a webhook
max webhooks:delete 10 --business 1
```

**`webhooks:create` options:**

| Option | Required | Description |
|---|---|---|
| `--business` | Yes | Business ID |
| `--url` | Yes | URL to receive POST requests |
| `--secret` | No | Secret for HMAC-SHA256 signature verification |

---

## All Output is JSON

Every command outputs JSON for easy parsing with `jq` or consumption by AI agents:

```bash
# Get all lead emails
max leads:list --business 1 --per-page 100 | jq '.leads[] | .payload.email'

# Get subscription IDs that are active
max subscriptions:list --business 1 | jq '.subscriptions[] | select(.active) | .id'

# Count total leads
max leads:list --business 1 | jq '.meta.total_count'

# List business names
max businesses:list | jq '.businesses[] | .name'
```

---

## Common Workflows

### Set up a new business and start monitoring

```bash
# 1. Create a business from a website (auto-generates ICP)
max businesses:create --website https://acme.com

# 2. Note the business ID from the response, then browse signals
max signals:list

# 3. Create a subscription
max subscriptions:create --business 1 \
  --signal linkedin-company-engagers \
  --name "Acme Engagers" \
  --config '{"linkedin_url":"https://www.linkedin.com/company/acme/"}'

# 4. Check for leads
max leads:list --business 1
```

### Pause and resume scanning

```bash
max subscriptions:pause 42 --business 1    # Stop scanning
max subscriptions:resume 42 --business 1   # Start scanning again
```

### Set up real-time notifications

```bash
# Register a webhook
max webhooks:create --business 1 --url https://my-app.com/signals --secret my_secret

# Verify
max webhooks:list --business 1
```

---

## Environment Variables

| Variable | Required | Description |
|---|---|---|
| `MAX_API_KEY` | No | Your Max API key (overrides saved config from `max login`) |

---

## Error Handling

| Exit Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error (message on stderr) |

| HTTP Status | Meaning |
|---|---|
| 401 | Missing or invalid API key |
| 404 | Resource not found |
| 422 | Validation error |
| 429 | Rate limited (60 req/min) |

---

## Development

```bash
git clone https://github.com/sortlist/max-cli.git
cd max-cli
npm install
npm run dev    # Watch mode
npm run build  # Production build
```

### Project Structure

```
src/
  index.ts              # CLI entry point (yargs)
  api.ts                # ApiClient client class
  config.ts             # Config management (~/.max/config.json)
  commands/
    login.ts            # login, logout
    signals.ts          # signals:list, signals:get
    businesses.ts       # businesses:list, businesses:get, businesses:create, businesses:update
    subscriptions.ts    # Subscription management
    leads.ts            # Lead management
    webhooks.ts         # Webhook management
```

---

## API Documentation

Full API docs: [https://api.yourmax.ai/docs/api](https://api.yourmax.ai/docs/api)

---

## License

MIT

---

## Links

- **Website:** [api.yourmax.ai](https://api.yourmax.ai)
- **API Docs:** [api.yourmax.ai/docs/api](https://api.yourmax.ai/docs/api)
- **GitHub:** [sortlist/max-cli](https://github.com/sortlist/max-cli)
- **Issues:** [Report bugs](https://github.com/sortlist/max-cli/issues)
历史前置条件说明(补充参考)

需 Node.js 与 npm 环境(README 未注明最低版本,待核验);需 Max 账号及团队级 API Key;需可访问 npm、GitHub 与 api.yourmax.ai 等境外资源的网络;服务费用与配额待向官方核验;中国大陆可用性待核验。

项目来源与清单版权许可

https://github.com/sortlist/max-cli

整理来源:https://github.com/slavakurilyak/awesome-ai-agents

清单版权与许可:

MIT License

Copyright (c) 2024 Slava Kurilyak

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.