Zia AI Customer Support Connector
README.md
# Zia AI — Customer Support Connector
Ye aapka apna MCP connector hai. Iska kaam: customer ke FAQs ka jawab dena,
order ka status batana, aur har customer ko yaad rakhna (agli chat mein bhi).
Neeche diye steps **apne computer** par karne hain (jahan internet ho).
Har step ke baad check kar lein ke wo kaam ho gaya, phir agle par jayein.
---
## Step 0 — Cheezein jo chahiye
- Python 3.10 ya us se naya (terminal mein check: `python3 --version`)
- Internet connection
- (Optional, baad mein) Claude Code ya koi bhi terminal/coding agent
Agar Python install nahi hai, [python.org](https://python.org) se install kar lein.
---
## Step 1 — Files nikalein (unzip karein)
Jo zip file di gayi hai usay kisi folder mein unzip karein, phir terminal
us folder ke andar khol kar `cd` karein. Misal:
```bash
cd Downloads
unzip zia-ai-connector.zip
cd zia-ai-connector
```
---
## Step 2 — Packages install karein
```bash
pip install -r requirements.txt
```
Agar `pip` na chale, `pip3` try karein. Agar permission error aaye:
```bash
pip install -r requirements.txt --break-system-packages
```
---
## Step 3 — Settings file banayein
```bash
cp .env.example .env
```
Is `.env` file ko kisi bhi text editor mein khol kar dekh lein — abhi kuch
badalne ki zaroorat nahi, defaults theek hain demo ke liye.
---
## Step 4 — Apne computer par chala kar dekhein
```bash
python run.py
```
Agar sahi chala to terminal mein kuch aisa dikhega:
```
Zia AI connector shuru ho raha hai...
AUTH_DISABLED = 1
```
aur server chalta reh jayega (band mat karein, isi terminal ko khula rehne dein).
Ye is baat ka saboot hai ke aapka connector zinda hai. Band karne ke liye
`Ctrl+C` dabayein.
**Agar koi error aaye:** error message copy kar ke apne coding agent
(Claude Code) ko dikhayein aur kahein "is error ko thik karo" — ye normal
hai, kabhi kabhi packages ka version thora alag hota hai.
---
## Step 5 — Internet par live karein (tunnel)
Abhi tak ye server sirf aapke apne computer ke andar chal raha hai —
claude.ai is tak nahi pohanch sakta. Usay internet par lana hai. Sab se
asan tareeqa **Cloudflare tunnel** hai (free, login ki zaroorat nahi):
1. Naya terminal tab kholein (purana wala jahan server chal raha hai, usay
**chalta rehne dein**).
2. Cloudflared install karein:
- **Mac:** `brew install cloudflared`
- **Windows:** [cloudflared download page](https://github.com/cloudflare/cloudflared/releases) se `.exe` download karein
- **Linux:** `sudo apt install cloudflared` ya releases page se download karein
3. Ye command chalayein (server jis port par chal raha hai, default `8000`):
```bash
cloudflared tunnel --url http://localhost:8000
```
4. Terminal mein ek URL print hoga, jaisa:
```
https://random-words-1234.trycloudflare.com
```
**Ye URL copy kar lein** — agle step mein chahiye hoga. Iske aakhir mein
`/mcp` lagana hoga: `https://random-words-1234.trycloudflare.com/mcp`
Is terminal ko bhi khula/chalta rehne dein.
---
## Step 5.1 — Docker par run karna (optional deploy)
Agar aap local system par Docker install karte hain, to ye connector
container mein chala sakte hain:
```bash
cd zia-ai-connector
docker build -t zia-ai-connector .
docker run --rm -p 8000:8000 --env-file .env zia-ai-connector
```
Phir aapka connector browser se `http://localhost:8000` par chalta hai.
Tunnel chalane ke liye wohi `cloudflared tunnel --url http://localhost:8000`
use karein.
> Agar aap cloud host (Railway/Render/Azure) par deploy karna chahein, to
> bas ye Docker image push karein ya `python run.py` ko service ke roop mein
> chalaen. Ensure `.env` mein `AUTH_DISABLED=1` demo mode ke liye set ho.
>
> Render users: repository root mein `render.yaml` file bana di hai. Agar
> aap Render dashboard par hain, repo connect karne ke baad ye file auto
> detect ho sakti hai.
>
> **Render deploy steps:**
> 1. Render.com par account login karo.
> 2. New → Web Service.
> 3. GitHub repo select karo (iss project ka repo).
> 4. Build command waisa hi rehne do: `pip install -r requirements.txt`.
> 5. Start command set karo: `python run.py`.
> 6. Environment variables ke liye `AUTH_DISABLED=1` aur `AUTH_ISSUER=zia-ai-mock-auth` add karo.
> 7. Deploy par click karo.
>
> Agar aapki repo private hai, to Render ko permissions do repo access karne ke liye.
---
## Step 6 — claude.ai mein connector add karein
1. [claude.ai](https://claude.ai) kholein aur sign in karein.
2. **Settings → Connectors → Add custom connector** par jayein.
3. Wahi URL paste karein jo Step 5 mein mila tha (`/mcp` ke sath).
4. **Add** par click karein.
Bas! Koi Authorize step nahi chahiye is demo mein (kyunke `AUTH_DISABLED=1` hai).
---
## Step 7 — Test karein
Naya chat kholein aur Claude se kahein:
> "Mera order ORD-1001 ka status pata karo"
Ya:
> "Return policy kya hai?"
Claude khud `begin_session` call karega, phir aapka connector use kar ke
jawab dega. Ek naya chat khol kar dobara pucha:
> "Maine pehle kya pucha tha?"
— to ye purani baat yaad rakhega, kyunke data customer ki id (`sub`) ke
sath save hota hai, chat ke sath nahi.
---
## Important baatein (zaroor parhein)
- **`AUTH_DISABLED=1`** ka matlab: filhal har koi "demo-customer-1" ki
tarah dikhega — ye sirf demo/testing ke liye theek hai. Asal mein
alag-alag logon ko alag pehchanwane ke liye real sign-in service
(jaise Clerk ya Auth0) chahiye hogi — ye agla qadam hai.
- Tunnel URL **har baar badalta hai** jab aap `cloudflared` dobara
chalate hain. Naya URL milne par claude.ai mein connector dobara
add karna paray ga (purana hata kar).
- Jab kaam khatam ho, dono terminal (`python run.py` aur `cloudflared`)
`Ctrl+C` se band kar dein.
- Ye database (`zia_ai.db`) aapke computer par hi save hoti hai. Agar
delete kar dein to data reset ho jayega.
---
## Aage kya?
- Apna khud ka FAQ/orders data chahiye? `seed/faqs.json` aur
`seed/orders.json` files edit kar lein.
- Real, alag-alag customers ke liye real sign-in chahiye? Ye agla
course hai jo guide mein "AI Identity" kehlata hai.
- Hamesha ke liye chalta rahe (computer band hone par bhi)? Isay kisi
cloud host (Railway, Render, ya Azure) par "deploy" karna hoga — abhi
ke liye laptop + tunnel kaafi hai seekhne ke liye.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues