Team Ai
Apppublic

vmu7235/claudecode-kimi

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
App README

🤖 Claude Code CLI — Bot Telegram sur HuggingFace

Bot Telegram propulsé par Claude Code CLI, connecté à Kimi K2.5 (Moonshot AI) via un proxy Anthropic→OpenAI. Hébergé sur HuggingFace Spaces. Répond en ~10-35 secondes. Supporte texte, vocaux, fichiers et recherche web.

🌐 Liens

RessourceURL
🤗 HuggingFace Spacevmu7235/claudecode-kimi
🐙 GitHub relayvalm7235/claudecode-CLI-kimi
🌍 API publiquehttps://vmu7235-claudecode-kimi.hf.space

🏗️ Architecture

[Vous — Telegram]
       │
       ▼
[HuggingFace Space :7860]        ← Docker, python:3.11-slim
  ├── kimi-proxy.py               ← FastAPI, port 7860
  │     ├── /webhook/{secret}     ← reçoit les messages Telegram
  │     └── /v1/messages          ← proxy Anthropic → Kimi
  └── telegram_bot.py             ← traitement des messages
          │ subprocess Claude CLI (stdin=DEVNULL)
          ▼
    [Claude Code CLI]             ← @anthropic-ai/claude-code npm
          │ ANTHROPIC_BASE_URL=http://localhost:7860
          ▼
    [kimi-proxy /v1/messages]     ← convertit Anthropic → OpenAI
          │ reasoning_content placeholder + tool_id sanitization
          ▼
    [Kimi K2.5 — api.moonshot.ai] ← LLM principal
          │
          ▼
    [Telegram API]                → réponse à l'utilisateur (~15s)

✨ Fonctionnalités

FeatureStatut
Messages texte✅
Messages vocaux (transcription Google Speech)✅
Fichiers / Documents✅
Photos✅
Recherche web (WebSearch + WebFetch)✅
Sessions persistantes par utilisateur✅
28 Skills spécialisés (React, TypeScript, Docker...)✅
Auto-reset session corrompue✅
Réponse inline ≤50s✅
Relay GitHub Actions si >50s✅
Auto-modification via git✅

🚀 Déploiement en 6 étapes (même sans expérience)

Ce dont vous avez besoin

  • —Compte HuggingFace (gratuit) → https://huggingface.co/join
  • —Compte Telegram + bot créé via @BotFather
  • —Clé API Moonshot/Kimi → https://platform.moonshot.cn
  • —Compte GitHub (gratuit, pour le relay optionnel)

Étape 1 — Créer votre bot Telegram

  1. 1.Ouvrez Telegram → cherchez @BotFather
  2. 2.Envoyez /newbot → suivez les instructions
  3. 3.Copiez le token (ressemble à 1234567890:AABBccDDeeFF...)

Étape 2 — Dupliquer ce Space HuggingFace

  1. 1.Allez sur → https://huggingface.co/spaces/vmu7235/claudecode-kimi
  2. 2.Cliquez ⋮ → Duplicate this Space
  3. 3.Donnez un nom (ex: mon-claude-bot) → Duplicate Space
  4. 4.Attendez que le statut passe au vert (2-5 minutes)

Étape 3 — Ajouter vos clés secrètes

Dans votre Space → Settings → Variables and secrets → New secret :

NomValeurOù l'obtenir
TELEGRAM_TOKEN1234567890:AABBcc...@BotFather
KIMI_API_KEYsk-...platform.moonshot.cn
HF_TOKENhf_...huggingface.co/settings/tokens (write)
GITHUB_TOKENghp_...github.com/settings/tokens (repo + actions)

Après avoir ajouté les secrets → Restart Space (bouton en haut à droite).


Étape 4 — Activer le webhook Telegram

Ouvrez un terminal (ou utilisez https://reqbin.com) et exécutez :

bash
# Remplacez les valeurs par les vôtres
TELEGRAM_TOKEN="votre_token_ici"
SPACE_URL="https://votre-username-votre-space.hf.space"

# Trouvez le webhook secret dans les logs :
curl "${SPACE_URL}/debug/logs" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('bot','')[:500])"

# Puis configurez le webhook (remplacez SECRET par la valeur trouvée) :
curl "https://api.telegram.org/bot${TELEGRAM_TOKEN}/setWebhook?url=${SPACE_URL}/webhook/SECRET"
Astuce : Le secret est visible dans les logs au démarrage du bot.

Étape 5 — Tester

  1. 1.Ouvrez votre bot Telegram
  2. 2.Envoyez /start
  3. 3.Envoyez salut → réponse en ~15 secondes ✅
  4. 4.Envoyez quelle est la météo à Paris ? → recherche web ✅

Étape 6 — GitHub relay (optionnel, pour les longues réponses)

  1. 1.Forkez → https://github.com/valm7235/claudecode-CLI-kimi
  2. 2.Dans votre fork : Settings → Secrets → ajoutez TELEGRAM_TOKEN
  3. 3.Dans votre Space HF : ajoutez le secret GITHUB_REPO = votre-username/claudecode-CLI-kimi

🛠️ Commandes Telegram

CommandeDescription
/startDémarrer / présentation du bot
/helpListe des commandes
/resetRéinitialiser la session (si bug)

🔧 API Compatible Anthropic

Ce Space expose une API 100% compatible avec le SDK Anthropic :

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://vmu7235-claudecode-kimi.hf.space",
    api_key="kimi-proxy-key"
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Bonjour !"}]
)
print(message.content[0].text)
bash
# Ou via curl :
curl -X POST https://vmu7235-claudecode-kimi.hf.space/v1/messages \
  -H "x-api-key: kimi-proxy-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":500,"messages":[{"role":"user","content":"Bonjour"}]}'

🏥 Debug & Monitoring

bash
SPACE="https://vmu7235-claudecode-kimi.hf.space"

# Santé du service
curl $SPACE/health

# Logs des processus (proxy + bot + supervisord)
curl $SPACE/debug/logs | python3 -m json.tool

# Test réseau (DNS Telegram + Kimi)
curl $SPACE/debug/network

📁 Structure du projet

claudecode-kimi/
├── Dockerfile              # Image Docker Python 3.11 + Node 22
├── supervisord.conf        # Processus : kimi-proxy + watcher
├── kimi-proxy.py           # Proxy Anthropic→Kimi + webhook FastAPI
├── telegram_bot.py         # Bot Telegram + Claude CLI subprocess
├── watcher.py              # Watchdog redémarrage
├── claude-settings.json    # Permissions Claude Code CLI
├── README.md               # Ce fichier
└── skills/                 # 28 skills spécialisés
    ├── _00-guide.md        # Guide général
    ├── react-patterns.md
    ├── typescript-advanced.md
    ├── docker-best-practices.md
    └── ... (25 autres)

🔑 Variables d'environnement

VariableRequisRôle
TELEGRAM_TOKEN✅Token bot Telegram
KIMI_API_KEY✅Clé API Moonshot (Kimi K2.5)
HF_TOKEN✅Token HF (auto-modification git)
GITHUB_TOKEN⚡ OptionnelRelay réponses longues
GITHUB_REPO⚡ Optionneluser/repo relay GitHub

🧠 Auto-modification

Le bot peut se modifier lui-même via git. Demandez-lui dans Telegram :

"Clone le repo HuggingFace et modifie kimi-proxy.py pour ajouter un endpoint /ping"

Il va :

  1. 1.Cloner https://huggingface.co/spaces/vmu7235/claudecode-kimi dans /data/repo
  2. 2.Modifier le fichier demandé
  3. 3.Commit + push → HF rebuild automatique en 3-5 minutes

❓ Problèmes fréquents

ProblèmeSolution
Bot ne répond pasVérifiez le webhook avec /debug/logs
"Erreur CLI" dans le chatEnvoyez /reset
"Réponse vide"Patientez et réessayez
Space en rougeVérifiez que tous les secrets sont bien configurés
Timeout vocalHF DNS saturé, réessayez dans 1-2 min

📄 Licence

MIT — Libre d'utilisation, modification et distribution.