À propos du projet

Downcity est un projet d’infrastructure d’agent pour les développeurs, les créateurs indépendants et les équipes qui expédient de nombreux produits et workflows alimentés par l’IA. Son principe est une couche d’exécution réutilisable servant de nombreux agents et produits, de sorte que le routage des modèles, les outils, la mémoire, les tâches, l’authentification, l’utilisation, la facturation et les opérations n’ont pas besoin d’être reconstruits pour chaque nouveau produit IA. Le dépôt est un monorepo d’espace de travail pnpm. Le package public downcity expose deux surfaces de commande : city/downcity, le conteneur de ville locale qui gère et exécute les agents, et fed/downfed, un gestionnaire de serveur de fédération. Les packages de support incluent @downcity/workspace (ressources de l’espace de travail, outils de recherche et de fichiers enracinés, environnement, stockage privé et shell intégré), @downcity/agent (runtime d’agent et conteneur de ville avec AgentWorkspace, Session, Plugin SDK, propriété multi-agents et transport HTTP/RPC), @downcity/federation (runtime de fédération et SDK Embassy pour les services, l’auth, l’env, Bureau, l’accès utilisateur et administrateur), @downcity/type (types de protocoles partagés), @downcity/services (comptes, solde, utilisation, paiement et flux Stripe) et @downcity/ui (composants React + Tailwind pour la console et les applications hôtes). Les modèles de démarrage couvrent les scénarios d’agent, de fédération de bord, de fédération locale et d’interface utilisateur React, et un répertoire de page d’accueil contient le site web et la documentation pour l’utilisateur final. Utilisation locale typique : installer le CLI avec npm ou pnpm, se connecter à une fédération via downcity federation use et federation status, enregistrer un dépôt en tant qu’espace de travail avec downcity agent create ., puis démarrer la ville locale avec downcity on et l’inspecter avec downcity agent list ou downcity status. L’identité et la configuration de l’agent résident dans un répertoire utilisateur ~/.downcity (agents/, plugins/) tandis que l’espace de travail est entré au moment de l’exécution. Le README note que les agents n’ont pas d’état démarré/arrêté indépendant, et que le chat fonctionne toujours pendant que le CLI City est éteint parce qu’une ville locale temporaire est créée et supprimée pour l’interaction. Les capacités d’agent intégrées répertoriées sont le chat, la tâche, la mémoire, le shell, le contact, la compétence, le web, le son et le tableau de travail. L’intégration est offerte à plusieurs niveaux. L’exemple de SDK construit un espace de travail avec un bac à sable Shell, crée un agent et une session, injecte un modèle créé par l’application hôte (le README indique que @downcity/agent ne résout pas lui-même les ID de fournisseur ou de modèle), envoie une invite et attend la fin du tour. Une classe RemoteAgent se connecte à une ville en cours d’exécution via HTTP par URL de base. Les surfaces de produit sont le CLI Downcity, le SDK Agent, le SDK City et le SDK UI, plus les plugins, les services et les composants UI React. Support de la plateforme et sécurité : macOS utilise Seatbelt, Linux utilise Bubblewrap, et Windows 11 24H2 et plus récent (build 26100+) est décrit comme développement/instable via le processcontainer MXC de Microsoft avec exécution native de cmd.exe. Le README indique que les échecs de pré-vol ne se replient jamais sur une exécution sans restriction, et que MXC est en pré-visualisation publique plutôt qu’une frontière de sécurité de production. Les commandes de shell et de script s’exécutent dans le bac à sable de l’agent par défaut, avec un projet inscriptible, un réseau ouvert et un domicile/cache de bac à sable sous .downcity/sandbox. Les conseils incluent l’audit des changements avec git status et git diff, le maintien des secrets dans les variables d’environnement locales ou downcity env, l’utilisation de jetons pour les frontières de console, HTTP et de chat, et la note que les installations au niveau de l’hôte et les écritures dans le répertoire système se situent en dehors du bac à sable. La documentation est publiée sur downcity.ai/docs avec des pages distinctes pour le SDK City, le SDK Agent et le SDK UI, des README au niveau des packages, et une traduction en chinois simplifié du README principal.