rahat-kabir/store-keeper — explained in plain English
Analysis updated 2026-05-18
Automatically draft replies to Shopify customer support tickets like cancellation or refund requests.
Enforce store specific policy rules on cancellations, refunds, and address changes before any action runs.
Review and approve or reject pending AI proposed order changes from a local operator console.
| rahat-kabir/store-keeper | 0xustaz/streamgate | a-bissell/unleash-lite | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | hard | hard | hard |
| Complexity | 4/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Needs a Shopify development store with a custom app, an OpenRouter API key, Python, Node.js, and the uv tool.
storekeeper is an AI powered customer support agent for Shopify stores. When a customer writes something like please cancel my order, storekeeper reads that ticket, checks the request against rules the store owner has set, and drafts a reply, but it never carries out a real change to an order on its own. Any action that touches a real order, like a cancellation, refund, or shipping address change, pauses and waits for a human to click approve first. The project's central idea is separating what a language model is trusted to do from what it is not. The AI model handles reading the customer's intent, answering policy questions, extracting details, and writing the reply text. Plain, deterministic Python code, not the AI model, decides whether a requested action is actually allowed under the store's rules and whether it should be executed. That policy logic cannot be changed or bypassed by anything a customer writes in a support ticket, and every eligible write action still requires a human to approve it before anything happens on Shopify. Behind the scenes, an incoming ticket is classified into one or more tasks, which run independently and in parallel where possible: looking up the real order through Shopify's API, checking it against cancellation or refund policy rules, or answering a policy question from the store's own documentation. Pending approvals are saved to a local database so they survive a restart, and each one can be approved or rejected later by referencing its id. A separate component then merges all the results into one single customer facing reply. The project is meant to be tried against a free Shopify development store rather than a live shop, and it includes a script that seeds fifty realistic test orders covering fulfilled, old, and high value cases. Running it requires Python, Node.js, the uv Python tool, a Shopify development store with a custom app configured, and an OpenRouter API key to power the language model calls. It ships with a command line interface, a local API built with FastAPI, and a React based console for reviewing and approving pending tickets. The author describes the project as an early, actively developed version that is not yet ready for a production store.
An AI customer support agent for Shopify that drafts replies and proposes order actions, but requires human approval before any real cancellation, refund, or change.
Mainly Python. The stack also includes Python, LangGraph, LangChain.
No license terms are given in the README excerpt.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.