Tavotto
AI drew your research figure. Tavotto makes it publication-ready: edit matplotlib figures on a canvas, lay out in mm, check journal rules. Free, open source.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗🇫🇷 Français | 🇬🇧 English
Une application web interactive et rapide permettant de rechercher, filtrer et télécharger des poses Bitmoji (Solo et Duo) en haute définition.
.zip depuis l'interface web (limité par le navigateur).Cette fonctionnalité permet de télécharger automatiquement l'intégralité des poses et les fichiers de métadonnées directement dans votre stockage Home Assistant sans intervention manuelle.
Exécutez cette commande dans votre terminal Home Assistant (Add-on "Terminal & SSH") :
curl -sL "https://avatar-explorer.pages.dev/api/export?id1=VOTRE_ID&name1=Kenny&mode=solo&dir=bitmojis" | bash
[!NOTE] Le script généré ne contient que des URLs validées côté serveur. Chaque image doit provenir de
https://sdk.bitmoji.com/avec un jeu de caractères restreint : ni guillemet, ni$, ni backtick, ni\, ni espace. Chaque destination doit rester sous/config/www/. Une pose dont l'URL ne respecte pas ces règles est ignorée, et signalée en tête du script ainsi que dans l'en-tête HTTPX-Skipped-Items. Comme pour toutcurl | bash, vous pouvez d'abord inspecter le script en remplaçant| bashpar> script.sh.
| Paramètre | Description | Valeurs possibles |
|---|---|---|
id1 | (Requis) ID Bitmoji principal | Ex: 103719... |
id2 | ID Bitmoji ami (requis pour duo) | Ex: 284610... |
name1 | Dossier/Préfixe utilisateur 1 | Défaut: Utilisateur1 |
name2 | Dossier/Préfixe utilisateur 2 | Défaut: Utilisateur2 |
mode | Type de poses à récupérer | solo ou duo |
scale | Qualité de l'image (1x, 2x, 4x) | 1, 2, 4 |
dir | Dossier dans /config/www/ (sous-dossiers possibles avec /) | Défaut: bitmojis, ex: media/bitmojis |
lang | Langue du catalogue de poses | Défaut: fr. Voir langues disponibles |
| Code | Langue |
|---|---|
fr | Français (défaut) |
en | Anglais |
es | Espagnol |
fr-ca | Français (Canada) |
de | Allemand |
ja | Japonais |
ko | Coréen |
it | Italien |
pt | Portugais |
zh | Chinois |
tr | Turc |
pl | Polonais |
ro | Roumain |
el | Grec |
[!NOTE] Cette liste peut s'étendre avec le temps (cf.
SUPPORTED_LANGSdans functions/api/export.js). Chaque langue suppose l'existence d'un fichierpublic/templates_<lang>.json, généré par public/get_templates.js. Pour les langues à alphabet non-latin (ja,ko,zh,el), un champslugFallback(tag anglais correspondant) garantit que les noms de fichiers générés restent lisibles même quand le tag natif ne contient aucun caractère latin.
[!IMPORTANT] Pré-requis : Avant de lancer la commande, assurez-vous de créer manuellement vos dossiers de destination dans
/config/www/(ex:/config/www/bitmojis/Kenny/). Le script nécessite que les dossiers existent pour y déposer les fichiers.pnget.json.
aide.json)Le fichier aide.json est servi statiquement à la racine du site et expose entre autres la date du dernier import du catalogue. Utile pour qu'une application tierce (ex: Avatar Explorer HA) sache si elle doit relancer un import.
GET https://avatar-explorer.pages.dev/aide.json
{
"date_maj": "19 juillet 2026",
"last_updated_iso": "2026-07-19T10:10:28.730Z",
"stats": {
"fr": { "solo": 1261, "duo": 614 },
"en": { "solo": 1975, "duo": 1050 },
"es": { "solo": 1278, "duo": 607 },
"...": { "solo": "...", "duo": "..." }
},
"guide": {
"fr": "Bienvenue dans la Forge Bitmoji ! ...",
"en": "Welcome to the Bitmoji Forge! ...",
"es": "¡Bienvenido a la Forja Bitmoji! ...",
"...": "..."
}
}
| Champ | Type | Description |
|---|---|---|
date_maj | string | Date du dernier import, formatée en français (affichage uniquement, ne pas parser). |
last_updated_iso | string (ISO 8601) | Date du dernier import, à utiliser pour toute comparaison programmatique. |
stats.<lang> | { solo: number, duo: number } | Nombre de poses disponibles pour la langue <lang> (un des 14 codes ci-dessus), par mode. |
guide.<lang> | string (Markdown) | Texte affiché dans le centre d'aide de l'application, traduit pour la langue <lang>. |
const { last_updated_iso } = await fetch('https://avatar-explorer.pages.dev/aide.json').then(r => r.json());
const remoteDate = new Date(last_updated_iso);
if (remoteDate > localLastImportDate) {
// déclencher un nouvel import
}
[!NOTE] Le catalogue est recollecté chaque lundi (cron GitHub Actions), à chaque déclenchement manuel du workflow
update_data.ymlet à chaque push qui modifie le script de collecte.last_updated_isoetdate_majn'avancent que si le contenu d'au moins untemplates_<lang>.jsona réellement changé (empreinte SHA-256 comparée avant et après). Une collecte qui ne ramène rien de nouveau ne déclenche donc aucune resynchronisation chez les consommateurs. Un simple réordonnancement des poses par Bitmoji compte comme un changement, car il peut décaler les suffixes_2,_3des noms de fichiers.
git clone https://github.com/Kenny3231/Avatar_Explorer.git
cd Avatar_Explorer
index.html dans votre navigateur.npm run collect recollecte les templates_*.json, npm run collect:dry fait la même chose sans rien écrire, et npm run check valide hors ligne les fichiers déjà présents.