开源 Agent 基础设施

构建你自己的 Agent 应用体系。

Downcity 为独立 Builder 和小团队提供运行时、工具与界面基础,帮助你构建和管理 Agent 应用,并为下一次构建积累可复用的能力。

一个 Agent 生态:Agent 居住在不同的产品 City 内,多座 City 通过 Federation 共享能力。

SDK 速览

先看 API,再看演示

选一个场景,直接看真实调用长什么样。这些代码跑的就是本仓库里的包。

Try the SDK

agent.ts
import { Agent, Workspace } from "@downcity/agent";const workspace = new Workspace({ id: "project", path: process.cwd() });const agent = new Agent({  id: "repo-helper",  instruction: "You are a reliable project assistant.",});const session = await agent.sessions.create({ workspace });const turn = await session.prompt({ query: "Summarize this repository" });const result = await turn.finished;console.log(result.text);

三套核心 SDK

从 Agent,到 City,再到 Federation。

Agent 使用 Bureau 身份下的 CityModel 与 Plugin,通过 Session 绑定 Workspace;多个 Agent 在 City 中通过 Group 协作,并经由 Embassy 使用 Federation 提供的共享 Service。

Agent

import { Agent } from "@downcity/agent";import { City } from "@downcity/city";

什么是 Agent Harness?

Agent Harness(智能体运行时)是包裹在模型外的那一层:它负责执行循环、工具调用、上下文与记忆、权限边界和失败恢复。模型负责推理,Harness 让推理变得可执行、可观测、可重复。Downcity 把这一层运行时和产品化 Kit —— City、Federation、SDK 与 UI —— 一起开源,让能跑起来的 Agent 真正成为可以持续运行的产品。

功能特性

构建自己的应用, 积累下一次的基础。

设计应用的业务流程,组织 Agent 与运行资源,再把适合共享的工具和服务用于下一个项目。以下能力为这些构建工作提供基础。

01

定义 Agent 的工作空间

为 Agent 指定文件、工具与权限边界,让它知道在哪里工作、可以执行什么,以及产物应该保存在哪里。

查看 Agent SDK 文档
02

保持工作的连续性

Session 保存对话、工具调用、任务状态与执行结果,让 Agent 可以沿着已有上下文继续工作。

查看 Agent SDK 文档
03

赋予 Agent 行动能力

通过 Tool、Skill 与 Plugin,让 Agent 能够搜索、编写、执行、记录,并连接产品需要的外部服务。

查看 Agent SDK 文档
04

让工作持续发生

使用任务、记忆与调度能力,让 Agent 在一次对话结束后继续跟进、检查并完成长期工作。

查看 Agent SDK 文档
05

组织多个 Agent 分工

在一座 City 中配置不同角色的 Agent,共享产品边界与服务,分别承担创建、分析、审查或运营任务。

查看 Agent SDK 文档
06

连接界面并保持控制

通过 CLI、Console、SDK 或产品界面与 Agent 交互,同时查看状态、审批操作并管理运行过程。

查看 Agent SDK 文档

产品形态

为一种工作,建造一座 City。

围绕明确的工作场景组织 Agent、能力与产品界面,让每座 City 成为可以持续运行的产品。

01

软件创造 City

让不同 Agent 承担开发、审查、测试与发布工作,共同推进软件从想法走向交付。

02

研究与知识 City

让 Agent 持续收集信息、分析材料、组织知识,并把研究转化为可用成果。

03

团队运营 City

让 Agent 负责监控、支持、任务协调与周期性工作,帮助团队保持稳定运转。

04

个人工作 City

围绕个人的文件、工具与日常流程组织 Agent,并由用户掌握数据和运行控制权。

创建一座 City,让 Agent 开始工作。

安装 Downcity,创建 Agent 产品并启动它的运行环境。

创建并启动
npm install -g downcity

downcity agent create ./my-city
city federation login
city on