{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github-chatanyteam--chatany","slug":"chatanyteam--chatany","name":"ChatAny","type":"repo","url":"https://github.com/ChatAnyTeam/ChatAny","page_url":"https://unfragile.ai/chatanyteam--chatany","categories":["chatbots-assistants"],"tags":["chatgpt","chatgpt-next-web","chatgpt-web","midjourney","openai","stable-diffusion"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github-chatanyteam--chatany__cap_0","uri":"capability://text.generation.language.multi.provider.llm.chat.aggregation.with.unified.interface","name":"multi-provider llm chat aggregation with unified interface","description":"Provides a single web UI that routes chat requests to multiple LLM providers (OpenAI GPT-3.5/4/4o, Google Gemini, Anthropic Claude) via direct API integration. The system maintains provider-agnostic conversation state and handles context window management across models with different token limits (4K-128K range). Built on ChatGPT-Next-Web foundation with extended provider registry in app/constant.ts, enabling seamless provider switching within a conversation thread.","intents":["I want to compare responses from multiple LLMs without switching between different web interfaces","I need a self-hosted ChatGPT alternative that supports multiple model providers","I want to route requests to different LLMs based on task requirements (cost, speed, capability)"],"best_for":["developers building LLM-powered applications who need provider flexibility","teams wanting to avoid vendor lock-in with a single LLM provider","organizations deploying self-hosted AI infrastructure"],"limitations":["No automatic provider failover — if primary API is down, user must manually switch providers","Context window mismatches require manual prompt truncation; no built-in intelligent context pruning across different token limits","Conversation history stored locally in browser state; no cross-device sync without external persistence layer","Rate limiting handled per-provider; no unified rate limit management across aggregated services"],"requires":["API keys for at least one provider (OPENAI_API_KEY required, others optional)","Node.js 14+ for deployment","Modern browser with localStorage support for client-side state persistence"],"input_types":["text (chat messages)","conversation context (JSON)"],"output_types":["text (streamed or buffered responses)","conversation history (JSON)"],"categories":["text-generation-language","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_1","uri":"capability://image.visual.stabilityai.image.generation.with.multiple.model.variants","name":"stabilityai image generation with multiple model variants","description":"Integrates StabilityAI's image generation API supporting three distinct model families: Stable Image Ultra (highest quality), Stable Image Core (balanced), and Stable Diffusion 3 (latest architecture). Handles text-to-image generation with configurable parameters (resolution, steps, guidance scale) and manages API response streaming for real-time image display. Direct API integration via environment variable configuration (STABILITY_API_KEY) with request/response marshaling for image binary data.","intents":["I want to generate high-quality images from text prompts without leaving the chat interface","I need to compare outputs from different Stable Diffusion model versions for quality/speed tradeoffs","I want to batch generate variations of an image with different parameters"],"best_for":["content creators building AI-powered design tools","developers prototyping image generation features without managing separate StabilityAI dashboards","teams evaluating different Stable Diffusion model variants for production use"],"limitations":["No built-in image upscaling or inpainting — only text-to-image generation supported","Model selection is static per deployment; switching between Ultra/Core/SD3 requires environment variable change and redeploy","No image history or gallery persistence — generated images exist only in browser memory until manually saved","API rate limits enforced by StabilityAI; no client-side queuing or backpressure handling"],"requires":["StabilityAI API key (STABILITY_API_KEY environment variable)","StabilityAI account with active credits/subscription","Network connectivity to StabilityAI API endpoints"],"input_types":["text (prompt descriptions)","numeric parameters (resolution, steps, guidance)"],"output_types":["image (PNG/JPEG binary)","image metadata (dimensions, model used, generation time)"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_10","uri":"capability://tool.use.integration.extensible.provider.registry.pattern.for.adding.new.ai.services","name":"extensible provider registry pattern for adding new ai services","description":"Implements a provider registry architecture that decouples AI service implementations from the core UI. Each provider (OpenAI, StabilityAI, Midjourney, etc.) is registered as a module with standardized interface: request builder, response parser, and error handler. New providers can be added by creating a new provider module and registering it in the provider registry without modifying core chat logic. Provider selection is UI-driven via dropdown or configuration. Each provider maintains its own API client, authentication, and request/response handling.","intents":["I want to add support for a new LLM provider (e.g., Cohere, Together AI) without forking the codebase","I need to integrate a custom internal LLM API into ChatAny","I want to create provider-specific UI customizations (e.g., unique parameters for each model)"],"best_for":["developers extending ChatAny with custom AI providers","organizations integrating proprietary LLM services","teams building AI aggregation platforms on top of ChatAny"],"limitations":["Provider interface must be manually implemented for each new service; no code generation or scaffolding provided","No standardized error handling across providers; each provider may return different error formats","Provider-specific parameters (e.g., temperature, top_p) require custom UI components; no automatic parameter mapping","No provider health checks or automatic failover; failed providers must be manually disabled","Documentation for provider interface is minimal; requires reading existing provider code to understand patterns"],"requires":["Understanding of provider registry pattern and existing provider implementations","API documentation for the new AI service","TypeScript knowledge for implementing provider module","Ability to modify app/constant.ts or provider registry file"],"input_types":["provider module (TypeScript class)","API credentials (environment variables)"],"output_types":["registered provider (available in UI dropdown)","chat responses from new provider"],"categories":["tool-use-integration","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_11","uri":"capability://text.generation.language.responsive.web.ui.with.mobile.optimized.chat.interface","name":"responsive web ui with mobile-optimized chat interface","description":"Provides a responsive React-based UI that adapts to desktop, tablet, and mobile viewports using CSS media queries and flexible layouts. Chat interface includes message bubbles, input field, send button, and provider/model selector. Mobile optimizations include: touch-friendly button sizing (48px minimum), viewport-aware text sizing, and bottom-sheet-style modals for settings. Uses CSS-in-JS or Tailwind CSS for responsive styling. Supports both light and dark themes with system preference detection.","intents":["I want to use ChatAny on my phone or tablet","I need a responsive UI that works across different screen sizes","I want dark mode support for reduced eye strain"],"best_for":["users accessing ChatAny from mobile devices","developers building mobile-first AI applications","organizations deploying ChatAny to diverse user bases with varied devices"],"limitations":["Mobile performance depends on device capabilities; older phones may experience lag with large conversation histories","Touch interactions may be imprecise on small screens; requires careful button sizing and spacing","Mobile browsers have limited storage (localStorage quota ~5MB); large conversation histories may fail to persist","No native mobile app; web app performance is limited compared to native iOS/Android apps","Keyboard handling on mobile may cause layout shifts or viewport issues"],"requires":["Modern mobile browser (iOS Safari 12+, Chrome Android 80+)","Responsive CSS framework or media queries","Touch event handling for mobile interactions"],"input_types":["touch events","text input (keyboard)","device orientation changes"],"output_types":["responsive layout (HTML/CSS)","theme preference (light/dark)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_12","uri":"capability://text.generation.language.streaming.response.rendering.with.token.by.token.display","name":"streaming response rendering with token-by-token display","description":"Implements server-sent events (SSE) or chunked HTTP response handling to display LLM responses as they stream from the API. Each token or chunk is parsed and appended to the message UI in real-time, creating a typewriter effect. Handles stream errors and incomplete responses gracefully. Maintains scroll position at bottom of chat as new tokens arrive. Supports cancellation of in-progress streams via AbortController. Works with OpenAI streaming API and compatible endpoints that support chunked responses.","intents":["I want to see LLM responses appear in real-time instead of waiting for the full response","I need to cancel a long-running response generation","I want to improve perceived performance by showing partial results immediately"],"best_for":["users wanting responsive chat experience with immediate feedback","developers building conversational AI interfaces","applications where response latency is high (10+ seconds)"],"limitations":["Streaming requires compatible API endpoint; non-streaming APIs require buffering entire response before display","Token-by-token rendering adds CPU overhead on client; may cause jank on low-end devices with large responses","Stream cancellation stops client-side rendering but doesn't stop server-side generation; wastes API resources","Network interruptions during streaming result in incomplete responses; no automatic retry mechanism","Scroll position management is complex with dynamic content; may cause layout shift issues"],"requires":["LLM API with streaming support (OpenAI, compatible endpoints)","Browser with fetch API and AbortController support","HTTP/1.1 or HTTP/2 for chunked response support"],"input_types":["streaming response (text chunks)","abort signal (user cancellation)"],"output_types":["rendered message (HTML)","token stream (text)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_2","uri":"capability://image.visual.midjourney.image.generation.via.proxy.api.with.operation.support","name":"midjourney image generation via proxy api with operation support","description":"Integrates Midjourney image generation through a proxy API layer (MJ_PROXY_URL, MJ_PROXY_KEY) that abstracts Midjourney's Discord-based interface. Supports multiple operations: Imagine (text-to-image), Upscale, Variation, Zoom, Pan, and other Midjourney-native commands. Implements real-time progress tracking and image display by polling proxy API for job status and retrieving generated image URLs. Proxy pattern decouples the web UI from Midjourney's native Discord API, enabling web-based access without bot management.","intents":["I want to use Midjourney's advanced image generation without switching to Discord","I need to upscale or create variations of Midjourney images within the same interface","I want to track image generation progress in real-time as it happens"],"best_for":["creative professionals who prefer web UIs over Discord for image generation workflows","teams deploying Midjourney at scale via proxy services (e.g., MidJourney API providers)","developers building image generation pipelines that require Midjourney's quality/style capabilities"],"limitations":["Requires external Midjourney proxy service — cannot directly call Midjourney API; adds dependency and potential latency","Progress polling is interval-based (not webhook-driven); introduces polling overhead and delayed status updates","No built-in image history or gallery — generated images must be manually saved or stored externally","Proxy API availability and rate limits are outside ChatAny's control; service degradation depends on proxy provider","Midjourney subscription required separately; ChatAny only provides UI layer"],"requires":["MJ_PROXY_URL environment variable pointing to a Midjourney proxy service","MJ_PROXY_KEY API key for proxy authentication","Active Midjourney subscription (managed through proxy provider)","Network connectivity to proxy service endpoints"],"input_types":["text (prompts)","image URLs (for upscale/variation operations)","operation type (Imagine, Upscale, etc.)"],"output_types":["image URLs (Midjourney-hosted)","job status (pending, processing, completed)","operation metadata"],"categories":["image-visual","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_3","uri":"capability://memory.knowledge.unified.conversation.state.management.across.providers","name":"unified conversation state management across providers","description":"Manages conversation history and context state using a provider-agnostic data model that persists in browser localStorage. Tracks message metadata (provider used, model selected, timestamp, token count estimates) and handles context window constraints by maintaining separate conversation threads per provider. State updates are synchronous with UI rendering, enabling instant provider switching. Built on React state management patterns with localStorage serialization for persistence across browser sessions.","intents":["I want to switch between different LLM providers mid-conversation without losing chat history","I need to track which model generated each response for comparison and auditing","I want my conversations to persist across browser refreshes and device restarts"],"best_for":["users comparing LLM outputs side-by-side who need conversation continuity","developers building multi-model evaluation tools","organizations requiring conversation audit trails for compliance"],"limitations":["localStorage has ~5-10MB size limit per domain; large conversation histories will cause storage quota errors","No server-side persistence — conversations lost if browser data is cleared; no automatic backup","No conflict resolution for concurrent edits across tabs/windows — last write wins","Token count estimates are approximate; actual usage may differ from estimates, causing context window miscalculations","No encryption at rest — sensitive conversations stored in plaintext in browser localStorage"],"requires":["Browser with localStorage API support (all modern browsers)","JavaScript enabled for state management and persistence","Sufficient browser storage quota (typically 5-10MB available)"],"input_types":["conversation messages (text)","provider/model metadata (JSON)","user preferences (JSON)"],"output_types":["conversation history (JSON)","state snapshots (serialized to localStorage)"],"categories":["memory-knowledge","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_4","uri":"capability://text.generation.language.multi.language.localization.system.with.dynamic.language.switching","name":"multi-language localization system with dynamic language switching","description":"Provides UI localization across multiple languages (English, Chinese, Japanese, etc.) using a key-based translation system. Language selection is stored in localStorage and applied dynamically without page reload. Translation keys are centralized in language files with fallback to English if translations are missing. Supports both UI text and dynamic content (error messages, API responses) through a translation context provider pattern.","intents":["I want to use ChatAny in my native language without switching browser settings","I need to deploy ChatAny to international teams with different language preferences","I want to add support for a new language without modifying core application code"],"best_for":["international teams deploying ChatAny across multiple regions","developers building multilingual AI applications","organizations serving non-English-speaking users"],"limitations":["Translation completeness depends on community contributions; some languages may have incomplete translations","No automatic translation — all translations must be manually maintained in language files","Right-to-left (RTL) language support requires additional CSS/layout modifications not built-in","Dynamic content from API responses (LLM outputs, error messages) cannot be automatically translated"],"requires":["Language files in supported format (typically JSON or TypeScript constants)","Browser localStorage support for language preference persistence"],"input_types":["translation keys (strings)","language code (e.g., 'en', 'zh', 'ja')"],"output_types":["translated UI text (strings)","language preference (stored in localStorage)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_5","uri":"capability://automation.workflow.docker.containerization.with.environment.based.configuration","name":"docker containerization with environment-based configuration","description":"Packages ChatAny as a Docker image with multi-stage build optimization for reduced image size. Configuration is entirely environment variable-driven (OPENAI_API_KEY, BASE_URL, MJ_PROXY_URL, CODE, etc.), enabling deployment without code changes. Docker Compose support for local development with service orchestration. Image includes Node.js runtime and production-optimized build artifacts. Supports both development (with hot reload) and production (minified, optimized) build modes.","intents":["I want to deploy ChatAny to a server without managing Node.js dependencies manually","I need to run ChatAny with different API keys across staging and production environments","I want to containerize ChatAny for Kubernetes or Docker Swarm orchestration"],"best_for":["DevOps engineers deploying ChatAny to cloud infrastructure","teams using container orchestration (Kubernetes, Docker Swarm)","developers wanting reproducible local development environments"],"limitations":["Image size may be large (~500MB+) due to Node.js runtime; requires optimization for edge deployments","No built-in health checks or graceful shutdown handling — requires external orchestration for reliability","Environment variable secrets exposed in container logs; requires careful secret management (use Docker secrets or external vaults)","Single-container deployment doesn't scale horizontally without external load balancing"],"requires":["Docker 20.10+ or Docker Desktop","Docker Compose 2.0+ for multi-service deployments","Environment variables configured before container startup"],"input_types":["environment variables (KEY=VALUE pairs)","Docker build context (source code)"],"output_types":["Docker image (OCI format)","running container with exposed ports"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_6","uri":"capability://automation.workflow.one.click.paas.deployment.to.vercel.railway.and.sealos","name":"one-click paas deployment to vercel, railway, and sealos","description":"Provides pre-configured deployment templates for Vercel, Railway, and Sealos that automate environment setup and API key configuration through web forms. Deployment process: user clicks deploy button → platform prompts for API keys → application is automatically built and deployed with zero manual configuration. Each platform template includes platform-specific optimizations (Vercel serverless functions, Railway container runtime, Sealos Kubernetes). Deployment status and logs are accessible through platform dashboards.","intents":["I want to deploy ChatAny without touching the command line or Docker","I need to get ChatAny running in 5 minutes without DevOps knowledge","I want to deploy to multiple platforms to compare performance and costs"],"best_for":["non-technical users and founders prototyping AI applications","teams wanting to avoid infrastructure management overhead","developers evaluating different PaaS providers"],"limitations":["Platform lock-in — migrating between Vercel/Railway/Sealos requires re-deployment and potential data loss","Limited customization — one-click templates don't support advanced configuration (custom domains, SSL, scaling policies)","Cold start latency on serverless platforms (Vercel) may cause slow initial requests","Pricing varies significantly across platforms; no cost optimization guidance provided","API key management handled by platform; security depends on platform's secret management implementation"],"requires":["Account on target platform (Vercel, Railway, or Sealos)","API keys for LLM providers (OpenAI, StabilityAI, Midjourney proxy)","Internet connectivity to platform deployment endpoints"],"input_types":["API keys (via web form)","platform account credentials"],"output_types":["deployed application URL","deployment logs and status"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_7","uri":"capability://tool.use.integration.api.compatible.endpoint.routing.with.custom.base.url.support","name":"api-compatible endpoint routing with custom base url support","description":"Supports routing API requests to custom OpenAI-compatible endpoints via BASE_URL environment variable, enabling use of proxy services, local LLM servers (Ollama, vLLM), or alternative API providers (Azure OpenAI, Together AI). Request/response format remains OpenAI-compatible, allowing seamless provider substitution without code changes. Implements HTTP client abstraction that handles endpoint URL construction, authentication header injection, and response parsing for any OpenAI-compatible API.","intents":["I want to use ChatAny with a local LLM server (Ollama) instead of cloud APIs","I need to route requests through a proxy service for cost optimization or compliance","I want to use Azure OpenAI or other OpenAI-compatible providers without code changes"],"best_for":["developers running local LLM inference servers (Ollama, vLLM, LM Studio)","organizations with API proxy requirements for security or cost control","teams using alternative OpenAI-compatible providers (Azure, Together AI, Replicate)"],"limitations":["Assumes strict OpenAI API compatibility; non-standard endpoints may fail silently or return parsing errors","No automatic fallback if custom endpoint is unavailable; user must manually reconfigure BASE_URL","Request/response transformation not supported — only works with endpoints that match OpenAI schema exactly","Authentication methods limited to API key injection; no support for OAuth or custom auth schemes","Latency and reliability depend entirely on custom endpoint; no built-in monitoring or alerting"],"requires":["BASE_URL environment variable pointing to OpenAI-compatible endpoint","Endpoint must support OpenAI chat completion API schema","API key or authentication credentials for custom endpoint (passed via OPENAI_API_KEY)"],"input_types":["BASE_URL (string)","OPENAI_API_KEY (string)","chat completion requests (JSON)"],"output_types":["chat completion responses (JSON, OpenAI format)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_8","uri":"capability://safety.moderation.access.control.via.password.protected.web.interface","name":"access control via password-protected web interface","description":"Implements optional password protection for the web UI via CODE environment variable. When CODE is set, users must enter the password before accessing the application. Password validation occurs client-side on initial page load and is stored in sessionStorage for the duration of the browser session. No server-side session management required. Provides basic access control without authentication infrastructure.","intents":["I want to restrict access to my ChatAny instance to authorized users only","I need to prevent unauthorized API usage by requiring a password","I want simple access control without managing user accounts or authentication systems"],"best_for":["small teams or individuals deploying ChatAny on public servers","developers wanting basic access control without authentication complexity","organizations with simple access requirements (single shared password)"],"limitations":["Password is transmitted in plaintext in URL/request headers; requires HTTPS to prevent interception","Single shared password for all users; no per-user access control or audit trails","Client-side validation can be bypassed by disabling JavaScript; provides security through obscurity only","No password rotation or expiration mechanism; password changes require environment variable update and redeploy","sessionStorage-based session can be cleared by user, requiring re-authentication","No rate limiting on password attempts; vulnerable to brute force attacks"],"requires":["CODE environment variable set to desired password","HTTPS deployment recommended to prevent password interception","Browser with sessionStorage support"],"input_types":["password (string)","user input (password prompt)"],"output_types":["access granted/denied (boolean)","session token (stored in sessionStorage)"],"categories":["safety-moderation","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-chatanyteam--chatany__cap_9","uri":"capability://automation.workflow.real.time.image.generation.progress.tracking.with.polling","name":"real-time image generation progress tracking with polling","description":"Implements polling-based progress tracking for asynchronous image generation operations (Midjourney, StabilityAI). Client polls the proxy/API endpoint at regular intervals (typically 1-2 seconds) to fetch job status and retrieve generated image URLs once complete. Progress state is maintained in React component state and updated on each poll response. UI displays progress indicators (percentage, status text) and renders images immediately upon completion. Polling continues until job reaches terminal state (completed, failed, or cancelled).","intents":["I want to see real-time progress as images are being generated","I need to display generated images immediately after they complete without manual refresh","I want to cancel in-progress image generation jobs"],"best_for":["users generating images who want visual feedback during processing","developers building image generation UIs with progress indication","applications where generation latency is high (30+ seconds)"],"limitations":["Polling introduces unnecessary API calls and network overhead compared to webhook-based updates; wastes bandwidth and increases API costs","Polling interval is fixed; cannot adapt to actual job duration (fast jobs waste polling cycles, slow jobs feel unresponsive)","No built-in job cancellation — user can only stop polling locally; server-side job may continue running","Progress granularity depends on polling interval; cannot capture sub-second progress updates","No exponential backoff; polling continues at fixed rate even if API is overloaded","Browser tab must remain active; polling stops if tab is backgrounded (browser optimization)"],"requires":["Image generation API that supports job status polling (job ID + status endpoint)","Network connectivity for continuous polling requests","Browser with setInterval/setTimeout support"],"input_types":["job ID (string)","polling interval (milliseconds)","API endpoint (URL)"],"output_types":["progress percentage (number)","status text (string)","image URL (string) on completion"],"categories":["automation-workflow","image-visual"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":46,"verified":false,"data_access_risk":"high","permissions":["API keys for at least one provider (OPENAI_API_KEY required, others optional)","Node.js 14+ for deployment","Modern browser with localStorage support for client-side state persistence","StabilityAI API key (STABILITY_API_KEY environment variable)","StabilityAI account with active credits/subscription","Network connectivity to StabilityAI API endpoints","Understanding of provider registry pattern and existing provider implementations","API documentation for the new AI service","TypeScript knowledge for implementing provider module","Ability to modify app/constant.ts or provider registry file"],"failure_modes":["No automatic provider failover — if primary API is down, user must manually switch providers","Context window mismatches require manual prompt truncation; no built-in intelligent context pruning across different token limits","Conversation history stored locally in browser state; no cross-device sync without external persistence layer","Rate limiting handled per-provider; no unified rate limit management across aggregated services","No built-in image upscaling or inpainting — only text-to-image generation supported","Model selection is static per deployment; switching between Ultra/Core/SD3 requires environment variable change and redeploy","No image history or gallery persistence — generated images exist only in browser memory until manually saved","API rate limits enforced by StabilityAI; no client-side queuing or backpressure handling","Provider interface must be manually implemented for each new service; no code generation or scaffolding provided","No standardized error handling across providers; each provider may return different error formats","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.6496413120095857,"quality":0.35,"ecosystem":0.5800000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.3,"quality":0.2,"ecosystem":0.15,"match_graph":0.3,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:21.549Z","last_scraped_at":"2026-05-03T13:58:42.319Z","last_commit":"2026-04-02T15:38:00Z"},"community":{"stars":6517,"forks":1796,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=chatanyteam--chatany","compare_url":"https://unfragile.ai/compare?artifact=chatanyteam--chatany"}},"signature":"9ziWT1g690gZg1blkdSwEJLQdMlpj0ZHBq8OOIl540m8WefWaVWG27rBgfiJR4g/QonXHaSFuj/6ldyIkP3XCw==","signedAt":"2026-06-21T10:42:52.904Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/chatanyteam--chatany","artifact":"https://unfragile.ai/chatanyteam--chatany","verify":"https://unfragile.ai/api/v1/verify?slug=chatanyteam--chatany","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}