{
  "name": "alvin-bot",
  "version": "5.44.1",
  "description": "Alvin Bot — open-source, self-hosted autonomous AI agent on Telegram, Slack, Discord, WhatsApp, Signal, terminal & web. Built on the Claude Agent SDK with a multi-provider engine (OpenAI, Groq, Gemini, NVIDIA NIM, OpenRouter, Ollama) and automatic failover, detached sub-agents that survive a parent abort, zero-config indexed memory (no embedding key needed), 4-tier browser automation, cron tasks, MCP client and a self-preservation subsystem. Local-first, telemetry-free. An OpenClaw / Hermes Agent alternative.",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "alvin-bot": "bin/cli.js"
  },
  "scripts": {
    "dev": "tsx src/index.ts",
    "dev:watch": "tsx watch src/index.ts",
    "build": "tsc",
    "build:watch": "tsc --watch",
    "build:dist": "node scripts/build-dist.mjs",
    "build:debug": "ALVIN_NO_OBFUSCATE=1 node scripts/build-dist.mjs",
    "start": "node dist/index.js",
    "setup": "node bin/cli.js setup",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:ui": "vitest --ui",
    "privacy-check": "bash scripts/privacy-check.sh",
    "audit": "npm audit --audit-level=high",
    "audit:full": "npm audit",
    "prepublishOnly": "node scripts/build-dist.mjs && bash scripts/privacy-check.sh",
    "electron:compile": "tsc -p electron/tsconfig.json",
    "electron:dev": "npm run electron:compile && electron .",
    "electron:build": "npm run build && npm run electron:compile && electron-builder --publish never",
    "electron:pack": "npm run build && npm run electron:compile && electron-builder --dir --publish never",
    "electron:build:full": "bash scripts/electron-build.sh"
  },
  "build": {
    "appId": "com.alvinbot.app",
    "productName": "Alvin Bot",
    "directories": {
      "output": "release"
    },
    "extraResources": [
      {
        "from": "dist",
        "to": "app/dist"
      },
      {
        "from": "web",
        "to": "app/web"
      },
      {
        "from": "docs",
        "to": "app/docs"
      },
      {
        "from": "plugins",
        "to": "app/plugins"
      },
      {
        "from": "skills",
        "to": "app/skills"
      },
      {
        "from": ".prod-node-modules",
        "to": "app/node_modules"
      },
      {
        "from": "build",
        "to": "build"
      },
      {
        "from": "package.json",
        "to": "app/package.json"
      }
    ],
    "mac": {
      "target": [
        {
          "target": "dmg",
          "arch": [
            "arm64"
          ]
        }
      ],
      "icon": "build/icon.png",
      "category": "public.app-category.utilities"
    },
    "win": {
      "target": "nsis",
      "icon": "build/icon.ico"
    },
    "nsis": {
      "oneClick": false,
      "allowToChangeInstallationDirectory": true
    },
    "linux": {
      "target": [
        "AppImage",
        "deb"
      ],
      "icon": "build/icon.png",
      "category": "Utility"
    },
    "publish": {
      "provider": "github",
      "owner": "alvbln",
      "repo": "alvin-bot"
    },
    "asar": false,
    "files": [
      "electron/dist/**/*",
      "dist/**/*",
      "web/**/*",
      "plugins/**/*",
      "skills/**/*",
      "docs/*.md",
      "docs/prompts/**/*",
      "!docs/memory/**",
      "!docs/MEMORY.md",
      "!docs/users/**",
      "!docs/whatsapp-groups.json",
      "!docs/cron-jobs.json",
      "bin/**/*",
      "package.json",
      "SOUL.md",
      "alvin-bot.config.example.json",
      ".env.example",
      "CHANGELOG.md",
      "README.md",
      "LICENSE",
      "!src",
      "!data",
      "!backups",
      "!.wwebjs_cache",
      "!.git",
      "!.github",
      "!scripts",
      "!release",
      "!.prod-node-modules",
      "!.electron-prod",
      "!CLAUDE.md",
      "!telegram-agent-setup-prompt.md",
      "!**/*.log",
      "!**/*.bak"
    ],
    "afterPack": "./electron/afterPack.cjs"
  },
  "keywords": [
    "telegram",
    "bot",
    "ai",
    "claude",
    "agent",
    "ai-agent",
    "autonomous-agent",
    "llm",
    "multi-model",
    "gpt",
    "gemini",
    "nvidia",
    "self-hosted",
    "autonomous",
    "personal-assistant",
    "whatsapp",
    "discord",
    "signal",
    "slack",
    "openai",
    "groq",
    "ollama",
    "openrouter",
    "chatbot",
    "assistant",
    "electron",
    "sub-agents",
    "mcp",
    "mcp-client",
    "claude-agent-sdk",
    "cron",
    "skills",
    "openclaw-alternative",
    "hermes-alternative"
  ],
  "author": "alvbln",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/alvbln/Alvin-Bot.git"
  },
  "dependencies": {
    "@anthropic-ai/claude-agent-sdk": "0.3.142",
    "@grammyjs/runner": "^2.0.3",
    "@slack/bolt": "^4.6.0",
    "better-sqlite3": "^12.9.0",
    "dotenv": "^16.4.0",
    "electron-updater": "^6.8.3",
    "grammy": "^1.30.0",
    "node-edge-tts": "^1.2.10",
    "pino": "^10.3.1",
    "playwright": "^1.58.2",
    "ws": "^8.19.0"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.13",
    "@types/node": "^22.0.0",
    "@types/ws": "^8.18.1",
    "@vitest/ui": "^4.1.4",
    "electron": "^35.7.5",
    "electron-builder": "^26.8.1",
    "javascript-obfuscator": "^4.2.2",
    "tsx": "^4.19.0",
    "typescript": "^5.9.3",
    "vitest": "^4.1.4"
  },
  "homepage": "https://github.com/alvbln/Alvin-Bot",
  "engines": {
    "node": ">=18.0.0"
  },
  "bugs": {
    "url": "https://github.com/alvbln/Alvin-Bot/issues"
  },
  "overrides": {
    "axios": ">=1.8.2",
    "protobufjs": ">=7.5.6"
  },
  "optionalDependencies": {
    "ffmpeg-static": "^5.2.0",
    "@whiskeysockets/baileys": "^6.7.21",
    "@hapi/boom": "^10.0.1"
  }
}
