文档

SDK 指南

Janus 提供 Go、Python 与 TypeScript 的一等公民 SDK。三者实现相同的核心操作:创建邮箱、发布任务、拉取任务、确认完成。

Go SDK

安装

go get github.com/agentium-lab/Janus/sdk/go

创建客户端

import janus "github.com/agentium-lab/Janus/sdk/go"

client := janus.NewClient("http://localhost:8080", janus.WithTenant("acme"))

关键方法(共 39 个)

CreateMailbox
创建邮箱
PublishTask
发布任务
PullTask
拉取下一个任务
StartTask
获取租约
AckTask
完成任务
NackTask
失败并重试
ListTasks
查询任务
ResolveIntent
自然语言 → 能力
// 发布任务
resp, err := client.PublishTask(ctx, &janus.PublishRequest{
    SourceAgent: "product",
    TargetType:  "mailbox",
    TargetValue: "review-mb",
    Envelope: janus.Envelope{
        Type: "code_review",
        Payload: json.RawMessage(`{"pr_url": "..."}`),
    },
})

Python SDK

安装

pip install janus-broker

创建客户端

from janus_broker import Client
client = Client("http://localhost:8080", tenant_id="acme")

关键方法(共 34 个)

create_mailbox
创建邮箱
publish_task
发布任务
pull_task
拉取下一个任务
start_task
开始处理并获取租约
ack_task
确认完成
nack_task
否定确认
list_tasks
列出/过滤任务
# 创建邮箱
client.create_mailbox("review-mb", agent_id="reviewer")

# 发布任务
resp = client.publish_task({
    "id": "task-001",
    "source_agent": "product",
    "target_type": "mailbox",
    "target_value": "review-mb",
    "envelope": {"type": "code_review", "payload": {...}}
})

TypeScript SDK

安装

npm install @agentium-lab/janus-broker

创建客户端

import { Client } from "@agentium-lab/janus-sdk";
const client = new Client("http://localhost:8080", { tenantId: "acme" });

关键方法(共 30 个)

createMailbox
创建邮箱
publishTask
发布任务
pullTask
拉取下一个任务
startTask
开始处理并获取租约
ackTask
确认完成
nackTask
否定确认
listTasks
列出/过滤任务
// 创建邮箱
await client.createMailbox("review-mb", { agentId: "reviewer" });

// 发布任务
const resp = await client.publishTask({
    id: "task-001",
    sourceAgent: "product",
    targetType: "mailbox",
    targetValue: "review-mb",
    envelope: { type: "code_review", payload: {...} }
});

CLI

Janus CLI 提供终端下的任务与邮箱管理:

# 任务操作
janus task list --tenant acme
janus task get task-001 --tenant acme
janus task replay task-001 --tenant acme

# 邮箱操作
janus mailbox list --tenant acme
janus mailbox inspect review-mb --tenant acme

# 系统
janus status
janus version
三个 SDK 都支持 HTTP 与 gRPC 传输,并遵循相同的错误信封格式。运维操作请使用 CLI —— 从 DLQ 重放、检查邮箱深度、查看系统健康状态。