iii-worker-catalog

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Worker Registry

Worker Registry

The public worker surface is registry-first. This repo should not hardcode one static skill per worker because workers publish their own skills in
iii-hq/workers
and the registry. Use this skill to discover the right worker, install it, then load the worker-provided skill/docs before generating code.
公开的worker界面采用注册表优先的设计。本仓库不应为每个worker硬编码静态skill,因为workers会在
iii-hq/workers
和注册表中发布自己的skill。使用本skill来发现合适的worker,安装它,然后在生成代码前加载worker提供的skill/文档。

Flow

流程

  1. Infer the needed capability from the task: agent harness, shell tools, sandboxing, database, storage, MCP, ACP, image transforms, etc.
  2. Query the registry or local directory before naming a worker.
  3. Install the selected worker with
    iii worker add
    .
  4. Sync and verify the lockfile.
  5. Load the worker's own skill markdown from
    iii-directory
    or the registry before using worker-specific functions, trigger schemas, config, or policy details.
  1. 从任务中推断所需能力:agent harness、shell工具、沙箱、数据库、存储、MCP、ACP、图像转换等。
  2. 在指定worker之前,先查询注册表或本地目录。
  3. 使用
    iii worker add
    命令安装选中的worker。
  4. 同步并验证锁文件。
  5. 在使用worker专属函数、触发器schema、配置或策略细节之前,先从
    iii-directory
    或注册表中加载worker自身的skill markdown文档。

Registry Discovery

注册表发现

Use the CLI when working locally:
bash
iii worker add iii-directory
iii worker list
iii worker status iii-directory --no-watch
Use
iii-directory
from an agent or worker:
typescript
const candidates = await iii.trigger({
  function_id: 'directory::registry::workers::list',
  payload: { search: 'harness' },
})

const info = await iii.trigger({
  function_id: 'directory::registry::workers::info',
  payload: { name: 'harness' },
})
Use live engine discovery after installation:
typescript
await iii.trigger({
  function_id: 'directory::engine::workers::list',
  payload: {},
})

await iii.trigger({
  function_id: 'directory::engine::functions::list',
  payload: { search: 'session' },
})
本地工作时使用CLI:
bash
iii worker add iii-directory
iii worker list
iii worker status iii-directory --no-watch
从agent或worker中使用
iii-directory
typescript
const candidates = await iii.trigger({
  function_id: 'directory::registry::workers::list',
  payload: { search: 'harness' },
})

const info = await iii.trigger({
  function_id: 'directory::registry::workers::info',
  payload: { name: 'harness' },
})
安装后使用实时引擎发现:
typescript
await iii.trigger({
  function_id: 'directory::engine::workers::list',
  payload: {},
})

await iii.trigger({
  function_id: 'directory::engine::functions::list',
  payload: { search: 'session' },
})

Install

安装

Install the worker the registry returns:
bash
iii worker add <worker>
iii worker sync
iii worker verify
iii worker start <worker>
Use
iii worker add
, not
cargo build
,
npm install
, or
pip install
, for normal users installing published workers. Source builds are contributor workflows.
安装注册表返回的worker:
bash
iii worker add <worker>
iii worker sync
iii worker verify
iii worker start <worker>
对于安装已发布workers的普通用户,请使用
iii worker add
,而非
cargo build
npm install
pip install
。源码构建是贡献者的工作流程。

Worker Skills

Worker Skills

After installing
iii-directory
, download or read worker-provided skill markdown instead of relying on this repo to know each worker's API:
typescript
await iii.trigger({
  function_id: 'directory::skills::download',
  payload: { worker: 'harness', tag: 'latest' },
})

const index = await iii.trigger({
  function_id: 'directory::skills::index',
  payload: {},
})

const skill = await iii.trigger({
  function_id: 'directory::skills::get',
  payload: { id: 'harness/index.md' },
})
directory::skills::get
accepts
id
,
<id>.md
, or
iii://<id>
. The worker skill is the source of truth for function IDs, trigger config, call payloads, installation dependencies, examples, and security notes.
安装
iii-directory
后,下载或读取worker提供的skill markdown文档,而非依赖本仓库了解每个worker的API:
typescript
await iii.trigger({
  function_id: 'directory::skills::download',
  payload: { worker: 'harness', tag: 'latest' },
})

const index = await iii.trigger({
  function_id: 'directory::skills::index',
  payload: {},
})

const skill = await iii.trigger({
  function_id: 'directory::skills::get',
  payload: { id: 'harness/index.md' },
})
directory::skills::get
接受
id
<id>.md
iii://<id>
格式的参数。worker skill是函数ID、触发器配置、调用负载、安装依赖、示例和安全说明的唯一可信来源。

Choosing Workers

选择Workers

Examples of capability-to-registry searches:
  • Agent runtime or durable chat: search
    harness
    , then read the harness worker skill.
  • Host commands or filesystem tools: search
    shell
    , then read the shell worker skill.
  • Isolation for untrusted code: search
    sandbox
    , then read the sandbox worker skill.
  • SQL access: search
    database
    , then read the database worker skill.
  • Object storage: search
    storage
    , then read the storage worker skill.
  • External protocol bridges: search
    mcp
    or
    acp
    , then read that worker's skill.
Do not encode these worker APIs here. New workers can appear without a change to this repo.
能力到注册表搜索的示例:
  • Agent运行时或持久化聊天:搜索
    harness
    ,然后查看harness worker的skill文档。
  • 主机命令或文件系统工具:搜索
    shell
    ,然后查看shell worker的skill文档。
  • 不可信代码隔离:搜索
    sandbox
    ,然后查看sandbox worker的skill文档。
  • SQL访问:搜索
    database
    ,然后查看database worker的skill文档。
  • 对象存储:搜索
    storage
    ,然后查看storage worker的skill文档。
  • 外部协议桥:搜索
    mcp
    acp
    ,然后查看对应worker的skill文档。
请勿在此处编码这些worker的API。新workers无需修改本仓库即可添加。

Troubleshooting

故障排查

  • Use
    iii worker list
    ,
    iii worker status <name> --no-watch
    , and
    iii worker logs <name>
    for lifecycle debugging.
  • Use
    directory::engine::workers::info
    ,
    directory::engine::functions::list
    , and
    directory::engine::triggers::list
    to inspect what is actually connected.
  • Use
    iii worker sync --frozen
    in CI and
    iii worker verify
    before committing worker config changes.
  • If a function is missing, confirm the worker is installed, synced, started, and visible through engine discovery before changing code.
  • 使用
    iii worker list
    iii worker status <name> --no-watch
    iii worker logs <name>
    进行生命周期调试。
  • 使用
    directory::engine::workers::info
    directory::engine::functions::list
    directory::engine::triggers::list
    检查实际连接的内容。
  • 在CI环境中使用
    iii worker sync --frozen
    ,并在提交worker配置更改前使用
    iii worker verify
  • 如果某个函数缺失,请先确认worker已安装、同步、启动并可通过引擎发现,再修改代码。

When to Use

使用场景

  • Use this skill when choosing, installing, discovering, or troubleshooting any published iii worker.
  • Use it when the task asks for a worker-backed capability and the exact worker/API should come from the registry or worker-provided skill.
  • 当你需要选择、安装、发现或排查任何已发布的iii worker时,使用本skill。
  • 当任务需要由worker支持的能力,且具体的worker/API应来自注册表或worker提供的skill文档时,使用本skill。

Boundaries

边界限制

  • Do not tell users to install published workers by building from source.
  • Do not keep one static local skill per worker in this repo.
  • Do not invent worker names, function IDs, trigger schemas, or payloads; check the registry and worker skill first.
  • Do not generate removed service APIs, adapter-extension APIs, or removed stream APIs.
  • 不要告知用户通过源码构建来安装已发布的workers。
  • 不要在本仓库中为每个worker保留静态本地skill文档。
  • 不要自行创建worker名称、函数ID、触发器schema或负载;请先检查注册表和worker skill文档。
  • 不要生成已移除的服务API、适配器扩展API或已移除的流API。