WB Agent: a Wildberries seller Telegram bot
WB Agent
A Telegram bot with an AI agent for Wildberries: price monitoring, margin math, sales analytics and opt-in review auto-replies
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- The flag-gated auto-reply mode publishes model-generated replies to buyers without a human in the loop for each review
- The AI agent works with prices, purchases and dashboard settings, though mutations require a signed confirmation
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add workflows/wb-agentDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .claude/skills
cp -R "$tmp/.claude/skills/deploy" .claude/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/deploy" .agents/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .github/skills
cp -R "$tmp/.claude/skills/deploy" .github/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/deploy" .agents/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/deploy" .agents/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .devin/skills
cp -R "$tmp/.claude/skills/deploy" .devin/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Formerly Windsurf.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .cline/skills
cp -R "$tmp/.claude/skills/deploy" .cline/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .roo/skills
cp -R "$tmp/.claude/skills/deploy" .roo/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add refusned/wb-agent --skill deploy -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit d400b55
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/deploy" .agents/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/deploy" .agents/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/refusned/wb-agent.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.claude/skills/deploy/
git -C "$tmp" checkout d400b55cd79261c26171c2c4780bd3f6cfd7dae2
mkdir -p .agents/skills
cp -R "$tmp/.claude/skills/deploy" .agents/skills/deployCommands for macOS and Linux, on Windows run them in Git Bash.
Clone the Refusned/wb-agent repository, copy .env.example to .env and fill in BOT_TOKEN, ALLOWED_USER_IDS and WB_SELLER_API_KEY if needed, then run docker compose up -d.
Other ways from the author
cp .env.example .env && docker compose up -dDocker deployment after filling .env with the bot token and keys.
This is third-party code. Review the repository files before installing.
What it does
The aiogram-based bot polls the Wildberries catalog in the background, tracks SKUs, sends price-drop alerts, and computes margin accounting for the loyalty discount, WB's commission, logistics and storage. Through an optional Seller API it gives a daily sales briefing, period breakdowns, net profit, FBS and FBO stock and a financial summary. A built-in AI agent on Ollama Cloud runs in three phases: a one-off, read-only cabinet advisor, an interactive chat with 15 read-and-propose tools, and a separate, off-by-default auto-reply mode that itself publishes model-generated replies to buyer reviews and questions, with idempotency and an owner notification for every reply. Any mutation from the interactive agent, a purchase, a setting change or a buyer reply, executes only through the owner's HMAC-signed confirmation button; the agent never changes anything directly.
Who it is for. For a single Wildberries seller or buyer who wants price and sales monitoring in Telegram with an AI advisor.
Good fit when
- You want a personal Telegram bot for price and margin monitoring without a third-party SaaS
- You want Seller API sales and profit analytics right in the chat
- You are fine with mutations only going through a signed confirmation button
Not a fit when
- You want a managed cloud service rather than self-hosting the bot
- You do not want the option to auto-publish review replies, even behind a flag
Example request
Show the morning sales briefing and calculate margin at a 450-ruble purchase priceLimitations
The author explicitly calls the project personal, used in his own business until August 2026; the public repo is a code example, not a maintained service. You need your own Telegram bot, an Ollama Cloud key or a local Ollama, and a separate WB_SELLER_API_KEY for sales analytics. Deployment is self-hosted only via Docker or Python, with no managed cloud option. The review auto-reply mode is off by default and must be deliberately enabled with the FEEDBACK_AUTO_REPLY_ENABLED flag.
How to disable. Stop the bot's container or process with docker compose down, or disable individual features via the /alerts_off command and the FEEDBACK_AUTO_REPLY_ENABLED variable.
Security check
- The flag-gated auto-reply mode publishes model-generated replies to buyers without a human in the loop for each review
- The AI agent works with prices, purchases and dashboard settings, though mutations require a signed confirmation
README in short
The README gives a tour of the code, a full command menu across monitoring, margin, Seller API, purchasing and the AI assistant, describes the three-phase LLM loop with an explicit focus on money-safety and signed-button confirmation, the tech stack and an architecture diagram, and honestly calls the project a personal example rather than a maintained product.
FAQ
Can the AI agent buy stock or change a setting on its own?
No, every mutation only executes after the owner taps an HMAC-signed confirmation button; the agent only proposes the action.
Does the bot reply to buyer reviews on its own?
Only if the owner explicitly enabled the FEEDBACK_AUTO_REPLY_ENABLED flag; it is off by default, and every published reply is also sent to the owner as a DM.
Related
Salesforce's official DX MCP server: work with orgs, metadata, data, users and Apex tests from your agent
Yandex Kit skills for store management
kit-skills
Yandex's official skill set: catalog, prices, stock, orders, storefront and a weekly checkup for a Yandex Kit store, through Claude Code or Codex
YouGile MCP by Indalo
YouGile MCP
Full 65-operation YouGile API coverage with configurable permissions, write confirmation and a shared company rate limit
Bitrix24 portal MCP server
MCP-сервер портала Битрикс24
Bitrix24's official per-portal MCP: an external agent uses OAuth or a token to read and change tasks, deals, meetings and mail