عن المشروع
Downcity is an agent infrastructure project designed for developers, indie builders, and teams who need to ship multiple agent-powered products and workflows. The core idea is a reusable runtime layer that serves many agents and products, eliminating the need to rebuild model routing, tools, memory, tasks, authentication, usage, billing, and operations for every new AI product.
The repository is structured as a pnpm workspace monorepo. The public downcity package exposes two main command surfaces: city/downcity, which is the local City container for managing and running agents, and fed/downfed, which is the Federation Server manager. Supporting packages include @downcity/workspace (for workspace resources, rooted file and search tools, environment, private storage, and built-in shell), @downcity/agent (for agent runtime, City container, AgentWorkspace, Session, Plugin SDK, multi-agent ownership, and HTTP/RPC transport), @downcity/federation (for Federation runtime, Embassy SDK, services, auth, env, Bureau, user, and admin access), @downcity/type (for shared protocol types), @downcity/services (for accounts, balance, usage, payment, and Stripe flows), and @downcity/ui (for React + Tailwind components used in the console and host applications). The repo also contains starter templates for agent, edge federation, local federation, and React UI scenarios, as well as a homepage directory for the website and end-user documentation.
Typical local usage involves installing the CLI via npm or pnpm, connecting to a Federation using downcity federation use and checking status with federation status, registering a repository as a workspace with downcity agent create ., starting the local City with downcity on, and inspecting it with downcity agent list or downcity status. Agent identity and configuration are stored in a user-level ~/.downcity directory (agents/, plugins/), while the workspace is entered at execution time. It is noted that agents do not have an independent started/stopped state, and chat functionality works even when the CLI City is off because a temporary local City is created and disposed of for the interaction. Built-in agent capabilities include chat, task, memory, shell, contact, skill, web, sound, and workboard.
Integration is offered at multiple levels. The SDK example demonstrates how to build a Workspace with a Shell sandbox, create an Agent and Session, inject a model created by the host application (as @downcity/agent does not resolve provider or model IDs itself), send a prompt, and await the finished turn. A RemoteAgent class is available for connecting to a running City over HTTP via a base URL. Product surfaces include the Downcity CLI, Agent SDK, City SDK, UI SDK, plugins, services, and React UI components.
Regarding platform support and safety, macOS uses Seatbelt, Linux uses Bubblewrap, and Windows 11 24H2 and newer (build 26100+) is supported in a development/unstable capacity using Microsoft MXC processcontainer with native cmd.exe execution. The README emphasizes that preflight failures never fall back to unrestricted execution, and that MXC is in Public Preview rather than a production security boundary. Shell and script commands run in the agent sandbox by default, which includes a writable project, open network, and a sandbox home/cache under .downcity/sandbox. Users are advised to audit changes with git status and git diff, keep secrets in local environment variables or downcity env, use tokens for console, HTTP, and chat boundaries, and be aware that host-level installs and system-directory writes fall outside the sandbox.
Documentation is published at downcity.ai/docs, featuring separate pages for the City SDK, Agent SDK, and UI SDK, along with package-level READMEs and a Simplified Chinese translation of the main README.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.