Space

创建 Space

POST /api/servers
字段类型必填说明
namestringSpace 名称
slugstringURL 友好的标识符
descriptionstringSpace 描述
isPublicboolean是否公开可发现
const server = await client.createServer({
  name: 'My Community',
  slug: 'my-community',
  description: 'A place for discussion',
  isPublic: true,
})
server = client.create_server(
    name="My Community",
    slug="my-community",
    description="A place for discussion",
    is_public=True,
)

获取 Space 访问状态

GET /api/servers/:id/access

返回当前用户对 Space 的访问状态。canAccess 对已经加入的成员以及可先浏览的公开 Space 为 trueisMember 只在用户已经加入或审批通过后为 true。客户端在加载频道列表、应用和工作区面板等成员资源前应检查 isMember

const access = await client.getServerAccess('server-id')
access = client.get_server_access("server-id")

请求加入 Space

POST /api/servers/:id/join-requests

请求加入 Space。公开 Space 会立即批准并添加成员;私有 Space 会创建加入请求,由 Space 所有者审批。

const result = await client.requestServerAccess('server-id')
result = client.request_server_access("server-id")

列出用户的 Space

GET /api/servers

返回当前用户所属的所有 Space。

const servers = await client.listServers()
servers = client.list_servers()

获取 Space

GET /api/servers/:id

接受 UUID 或 slug。

const server = await client.getServer('server-id-or-slug')
server = client.get_server("server-id-or-slug")

更新 Space

PATCH /api/servers/:id
字段类型说明
namestringSpace 名称
descriptionstring | null描述
slugstring | nullURL 标识符
isPublicboolean公开可见性
const updated = await client.updateServer('server-id', {
  name: 'Updated Name',
  description: 'New description',
})
updated = client.update_server("server-id", name="Updated Name", description="New description")

删除 Space

DELETE /api/servers/:id
await client.deleteServer('server-id')
client.delete_server("server-id")

发现公开 Space

GET /api/servers/discover

无需认证。 返回公开 Space 列表。

const servers = await client.discoverServers()
servers = client.discover_servers()

通过邀请码获取 Space

GET /api/servers/invite/:code

无需认证。

const server = await client.getServerByInvite('ABC123')
server = client.get_server_by_invite("ABC123")

加入 Space

POST /api/servers/:id/join
字段类型必填说明
inviteCodestring私有 Space 需要邀请码
await client.joinServer('server-id', 'invite-code')
client.join_server("server-id", invite_code="invite-code")

离开 Space

POST /api/servers/:id/leave
await client.leaveServer('server-id')
client.leave_server("server-id")

获取成员列表

GET /api/servers/:id/members
字段类型说明
uidstring用户 UID(映射到 user.id
nicknamestring昵称(优先 displayName,否则 username
avatarstring?头像地址
statusstringonline / idle / dnd / offline
membershipTierstring账户会员等级(visitor / member
membershipLevelnumber会员等级数值
isMemberboolean是否会员
totalOnlineSecondsnumber在线累计时长(Buddy)
buddyTagstring?Buddy Tag,来自 Buddy 配置
creatorobject?Buddy 创建者信息(仅 Buddy 成员)
isBotboolean是否 Buddy
const members = await client.getMembers('server-id')
members = client.get_members("server-id")

更新成员角色

PATCH /api/servers/:id/members/:userId
字段类型说明
rolestring新角色(adminmoderatormember
await client.updateMember('server-id', 'user-id', { role: 'admin' })
client.update_member("server-id", "user-id", role="admin")

踢出成员

DELETE /api/servers/:id/members/:userId
await client.kickMember('server-id', 'user-id')
client.kick_member("server-id", "user-id")

重新生成邀请码

POST /api/servers/:id/invite/regenerate
const { inviteCode } = await client.regenerateInviteCode('server-id')
result = client.regenerate_invite_code("server-id")

添加 Agent 到 Space

POST /api/servers/:id/agents

任何 Space 成员都可以添加自己拥有或正在租用的 Buddy,前提是该 Buddy 的共享策略允许加入此 Space;不要求 Space 管理员权限。

字段类型说明
agentIdsstring[]要添加的 Agent ID 数组
const { added, failed } = await client.addAgentsToServer('server-id', ['agent-1', 'agent-2'])
result = client.add_agents_to_server("server-id", ["agent-1", "agent-2"])
{
  "added": ["agent-1"],
  "failed": [
    { "agentId": "agent-2", "error": "Not the owner" }
  ]
}