Official command-line interface for PullBase — the decentralized AI model hub.
# Global install
npm install -g @pullbase/cli
# Or run without installing
npx @pullbase/cli --help# Configure your wallet address
pullbase config set-wallet 0xYourEthereumAddress
# Search models
pullbase search "stable diffusion"
# View a model
pullbase view 42
# Publish a new model
pullbase publish model.json
# Fork an existing model
pullbase fork 42| Command | Description |
|---|---|
pullbase search <query> |
Search the model catalogue |
pullbase view <id> |
Print model details + README |
pullbase publish <file.json> |
Publish a new model |
pullbase fork <id> |
Fork an existing model under your wallet |
pullbase config set-wallet <0x..> |
Save your wallet address |
pullbase config set-api <url> |
Override API URL (default: api.pullbase.net) |
pullbase config show |
Show current config |
pullbase config clear-wallet |
Remove saved wallet |
Create a model.json file:
{
"name": "my-model-v1",
"description": "A concise description of what this model does.",
"task": "text-classification",
"framework": "pytorch",
"license": "apache-2.0",
"parameterCount": "120M",
"tags": ["nlp", "classification"],
"readme": "# my-model-v1\n\nDetailed README in Markdown.",
"ipfsCid": "bafyrei...",
"isOnChain": false
}Required fields: name, task, framework, license.
The CLI fills in ownerAddress from your saved wallet.
PullBase identifies users by wallet address — there is no signature verification yet. The CLI sends your configured wallet in the request body, exactly like the web app. This means the API trusts your wallet claim at face value. Do not use a wallet with significant funds for CLI publishing until on-chain signature verification is implemented.
Config is stored at ~/.pullbase/config.json:
{
"walletAddress": "0x...",
"apiUrl": "https://api.pullbase.net"
}- Node.js ≥ 18 (uses built-in fetch)
- No runtime dependencies
MIT © PullBase