@atcute/bluesky

中文文档
4.0.26发布于 2026/10/270BSDES Module近 30 天下载 8.1万

Bluesky (app.bsky.*和chall.bsky.*) 计划定义

中文使用文档
文档目录3 节
  1. 使用量
  2. 与 @atcute/client
  3. 与 @atcute/lex-cli

@ atcute/ 蓝色天空

布鲁斯基 (app.bsky.*和chall.bsky.*) 计划定义

npm install @atcute/bluesky

使用量

import { is, type $type } from '@atcute/lexicons';
import { AppBskyFeedPost, AppBskyRichtextFacet } from '@atcute/bluesky';

type Facet = AppBskyRichtextFacet.Main;
type MentionFeature = $type.enforce<AppBskyRichtextFacet.Mention>;

const mention: MentionFeature = {
    $type: 'app.bsky.richtext.facet#mention',
    did: 'did:plc:z72i7hdynmk6r22z27h6tvur',
};

const facet: Facet = {
    index: {
        byteStart: 6,
        byteEnd: 15,
    },
    features: [mention],
};

const record: AppBskyFeedPost.Main = {
    $type: 'app.bsky.feed.post',
    text: `hello @bsky.app!`,
    facets: [facet],
    createdAt: new Date().toISOString(),
};

is(AppBskyFeedPost.mainSchema, record);
// -> true

与 @atcute/client

选择这3个选项之一来登记环境声明

// file: tsconfig.json
{
    "compilerOptions": {
        "types": ["@atcute/bluesky"],
    },
}
// file: env.d.ts
/// <reference types="@atcute/bluesky" />
// file: index.ts
import type {} from '@atcute/bluesky';

现在所有 XRPC 操作都应该在客户端可见

import { Client, simpleFetchHandler } from '@atcute/client';

const client = new Client({
    handler: simpleFetchHandler({ service: 'https://public.api.bsky.app' }),
});

const response = await client.get('app.bsky.actor.getProfile', {
    params: {
        actor: 'did:plc:z72i7hdynmk6r22z27h6tvur',
    },
});
// ...

与 @atcute/lex-cli

创建参考 Bluesky 类型的词汇表时,请配置 lex-cli 从此导入 软件包 :

// file: lex.config.js
import { defineLexiconConfig } from '@atcute/lex-cli';

export default defineLexiconConfig({
    files: ['lexicons/**/*.json'],
    outdir: 'src/lexicons/',
    imports: ['@atcute/bluesky'],
});

版本与发布记录

@atcute/bluesky 共发布 88 个版本,首次发布于 2024/08/18;过去 12 个月发布了 44 个版本。

版本发布日期距今
4.0.26latest2026/10/2711 天前
4.0.252026/10/2217 天前
4.0.242026/10/1028 天前
4.0.232026/10/031 个月前
4.0.222026/09/231 个月前
4.0.212026/09/101 个月前

关于 @atcute/bluesky 的常见问题

@atcute/bluesky 是什么?

Bluesky (app.bsky.*和chall.bsky.*) 计划定义

如何安装 @atcute/bluesky?

在项目目录运行 npm install @atcute/bluesky,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@atcute/lexicons(^2.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@atcute/bluesky 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/atcute__bluesky 是否存在。

@atcute/bluesky 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@atcute/bluesky 可以商用吗?

@atcute/bluesky 使用 0BSD 许可。几乎没有限制:可自由使用、修改和分发,连保留版权声明也不要求。以上为概括,不构成法律意见,请以许可原文为准。

@atcute/bluesky 的下载量有多少?

根据 npm 官方下载统计,@atcute/bluesky 在 2026/10/07 – 2026/11/05 这 30 天内被下载 80,819 次,日均约 2,694 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@atcute/bluesky 还在维护吗?

最新版本 4.0.26 发布于 2026/10/27(11 天前);至今共发布 88 个版本,其中过去 12 个月发布了 44 个;首次发布于 2024/08/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。