@21st-extension/toolbar

中文文档
0.5.14发布于 2025/07/07AGPL-3.0-onlyTypeScriptESM + CJS近 30 天下载 1.3万

21st.dev 工具栏 SDK用于AI Agent 交互.

中文使用文档
文档目录13 节
  1. 关于项目
  2. * 特性
  3. 地方发展
  4. QQ 快速启动
  5. 1. 国家 安装代码编辑器扩展名( Cursor, Windsurf, VS 代码, Trae IDE, Kilo 代…
  6. 2. 国家 安装并注入工具栏
  7. 具体框架的一体化实例
  8. 代理支持
  9. * 路线图
  10. 许可证
  11. 捐款
  12. 社区和支持
  13. 联系我们

21st.dev logo 第21个.dev 工具栏

视觉氛围编码. 就在你的密码库里.

VS Code Marketplace Version GitHub Repo stars Join us on Discord

stagewise demo

关于项目

playwise 是一个浏览器工具栏,将您的前端 UI 连接到您的代码编辑器中的代码 AI 代理.

  • QQ 选择网络应用程序中的任何元素
  • 请留言
  • 让你的人工智能特工做魔法

对厌倦将文件夹路径粘贴成提示的 devs来说是完美的. 阶段性地给出您的 AI 实时、 浏览器驱动的上下文 .

* 特性

由AI代理编辑前端代码:

  • {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}没有用
  • QQ 用插件自定义和扩展功能
  • 将 DOM 元素和更多元数据发送给您的 AI 代理
  • 🧪 举出一些例子来说明React, Vue, Svelte 等
  • QQ 从21st.dev 库搜索并整合 UI 组件
  • QQ 在智能辅助下检测运行时间出错
  • 使用魔法聊天的 AI 驱动组件生成

地方发展

对于本地开发,请使用您的 API 服务器编辑 TWENTY_FIRST_URL 常数在 toolbar/core/src/constants.ts数字 :

// For local development
export const TWENTY_FIRST_URL = 'http://localhost:3000';

// For production (default)
export const TWENTY_FIRST_URL = 'https://21st.dev';

QQ 快速启动

1. 国家 安装代码编辑器扩展名( Cursor, Windsurf, VS 代码, Trae IDE, Kilo 代码)

在此安装扩展名 : https://marketplace.visiterstudio.com/items? itemName=相机.相机-vscode-extension 相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机-相机

2. 国家 安装并注入工具栏

[TIP] 🪄 自动安装工具栏(AI-guided):

  1. 在光标中,按 CMD + Shift + P
  2. 输入 setupToolbar
  3. 执行命令和工具栏将自动输入QQ

或者按照手动方式:

安装 @ 21st- extension/ 工具栏数字 :

pnpm i -D @21st-extension/toolbar

将工具栏注入您的应用程序 dev-mode :

// 1. Import the toolbar
import { initToolbar } from '@21st-extension/toolbar';

// 2. Define your toolbar configuration
const stagewiseConfig = {
  plugins: [],
};

// 3. Initialize the toolbar when your app starts
// Framework-agnostic approach - call this when your app initializes
function setupStagewise() {
  // Only initialize once and only in development mode
  if (process.env.NODE_ENV === 'development') {
    initToolbar(stagewiseConfig);
  }
}

// Call the setup function when appropriate for your framework
setupStagewise();

工具栏将 自动连接 到扩展站!

[大 🚫 如果发送提示时无结果 :

如果您打开了多个光标窗口,工具栏可能会向错误的窗口发送提示,使其显得好像"没有发送提示". 为确保可靠运作:

  • 使用相机时只打开一个光标窗口

解决这件事的快到了!

具体框架的一体化实例

为了便于整合,我们提供了带有专用工具箱组件(例如:, <TwentyFirstToolbar>) (中文(简体) ). 您通常可以导入这些 @21st-extension/toolbar-[framework-name]。 。 。 .

反应.js

我们提供 @21st-extension/toolbar-react 用于 React 工程的软件包。 初始化您主条目文件中的工具栏( 例如 ), src/main.tsx),通过为它创建单独的反应根. 这样可以保证不会干扰你的主要应用树.

// src/main.tsx
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import App from './App.tsx';
import { TwentyFirstToolbar } from '@21st-extension/toolbar-react';
import './index.css';

// Render the main app
createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <App />
  </StrictMode>,
);

// Initialize toolbar separately
const toolbarConfig = {
  plugins: [], // Add your custom plugins here
};

document.addEventListener('DOMContentLoaded', () => {
  const toolbarRoot = document.createElement('div');
  toolbarRoot.id = 'stagewise-toolbar-root'; // Ensure a unique ID
  document.body.appendChild(toolbarRoot);

  createRoot(toolbarRoot).render(
    <StrictMode>
      <TwentyFirstToolbar config={toolbarConfig} />
    </StrictMode>
  );
});
下一个.js

使用 @21st-extension/toolbar-next next.js 应用程序的软件包。 包含 <TwentyFirstToolbar> 根布局文件中的组件(src/app/layout.tsx) (中文(简体) ).

// src/app/layout.tsx
import { TwentyFirstToolbar } from '@21st-extension/toolbar-next';

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body>
        <TwentyFirstToolbar
          config={{
            plugins: [], // Add your custom plugins here
          }}
        />
        {children}
      </body>
    </html>
  );
}
纳克特.js

对于 Nuxt.js 工程,您可以使用 @21st-extension/toolbar-vue 软件包。 设置 <TwentyFirstToolbar> 组件 app.vue 或相关的布局文件.

// app.vue
<script setup lang="ts">
import { TwentyFirstToolbar, type ToolbarConfig } from '@21st-extension/toolbar-vue';

const config: ToolbarConfig = {
  plugins: [], // Add your custom plugins here
};
</script>

<template>
  <div>
    <NuxtRouteAnnouncer />
    <ClientOnly>
      <TwentyFirstToolbar :config="config" />
    </ClientOnly>
    <NuxtWelcome />
  </div>
</template>
Vue.js (英语)

使用 @21st-extension/toolbar-vue vue.js 项目的软件包。 添加 <TwentyFirstToolbar> 组件到您的主要 App 组件(例如, App.vue) (中文(简体) ).

// src/App.vue
<script setup lang="ts">
import { TwentyFirstToolbar, type ToolbarConfig } from '@21st-extension/toolbar-vue';

const config: ToolbarConfig = {
  plugins: [], // Add your custom plugins here
};
</script>

<template>
  <TwentyFirstToolbar :config="config" />
  <div>
    <!-- Your app content -->
  </div>
</template>
斯维尔特基特

对于SvelteKit, 您可以使用工具栏集成 @21st-extension/toolbar 和斯维尔特的生命周期功能,或寻找一个专用 @21st-extension/toolbar-svelte 软件包。 创建一个组件,有条件地使/初始化客户端的工具栏(例如, src/lib/components/TwentyFirstToolbarLoader.svelte 或直接输入 src/routes/+layout.svelte) (中文(简体) ).

使用 onMount 内 +layout.svelte (与 @21st-extension/toolbar:

<!-- src/routes/+layout.svelte -->
<script lang="ts">
  import { onMount } from 'svelte';
  import { browser } from '$app/environment';
  import { initToolbar, type ToolbarConfig } from '@21st-extension/toolbar'; // Adjust path if needed

  onMount(() => {
    if (browser) {
      const stagewiseConfig: ToolbarConfig = {
        plugins: [
          // Add your Svelte-specific plugins or configurations here
        ],
      };
      initToolbar(stagewiseConfig);
    }
  });
</script>

<slot />

使用加载器组件(从仓库中取出的例子): 实例存储器使用 ToolbarLoader.svelte 关闭 ToolbarWrapper.svelte。 。 。 . ToolbarWrapper.svelte 然后会打电话 initToolbar 从 @21st-extension/toolbar。 。 。 .

<!-- examples/svelte-kit-example/src/lib/components/stagewise/ToolbarLoader.svelte -->
<script lang="ts">
import type { ToolbarConfig } from '@21st-extension/toolbar';
// ToolbarWrapper.svelte is a custom component that would call initToolbar
import ToolbarWrapper from './ToolbarWrapper.svelte'; 
import { browser } from '$app/environment';

const stagewiseConfig: ToolbarConfig = {
  plugins: [
    // ... your svelte plugin config
  ],
};
</script>

{#if browser}
  <ToolbarWrapper config={stagewiseConfig} />
{/if}

然后,你会使用 TwentyFirstToolbarLoader 在你身边 src/routes/+layout.svelte。 。 。 .

代理支持

探员支助
光标✅
GitHub 副驾驶✅
风起浪起✅
线✅
Roo 代码✅
拖车 IDE✅
Kilo 代码✅
克劳德代码QQ( 通过复制提示)
双子座CLIQQ( 通过复制提示)
任何AI探员QQ( 通过复制提示)

* 路线图

看看我们 项目路线图 用于当前特性、错误修正和进度.

许可证

由tiq UG(haftungsbeschränkt)开发,并在AGPLv3许可证下提供.

关于许可证模式的更多信息,请访问 关于 GNU 许可证的 FAQ。 。 。 .

对于AGPLv3许可范围以外的使用情况,请自觉: 联系我们。 。 。 .

捐款

我们才刚开始 爱的捐献! 看看我们 捐款额 指导参与。 对于虫子和新想法,请 打开一个问题!

社区和支持

联系我们

有问题或想给商业或企业使用许可吗?

📧 销售量

版本与发布记录

@21st-extension/toolbar 共发布 14 个版本,首次发布于 2025/06/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.5.14latest2025/07/071.3 年前
0.5.132025/07/071.3 年前
0.5.122025/07/061.3 年前
0.5.112025/07/041.3 年前
0.5.102025/07/031.3 年前
0.5.72025/07/021.3 年前

关于 @21st-extension/toolbar 的常见问题

@21st-extension/toolbar 是什么?

21st.dev 工具栏 SDK用于AI Agent 交互.

如何安装 @21st-extension/toolbar?

在项目目录运行 npm install @21st-extension/toolbar,或使用 pnpm add / yarn add / bun add。

@21st-extension/toolbar 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@21st-extension/toolbar 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@21st-extension/toolbar 可以商用吗?

@21st-extension/toolbar 使用 AGPL-3.0-only 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@21st-extension/toolbar 的下载量有多少?

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

@21st-extension/toolbar 还在维护吗?

最新版本 0.5.14 发布于 2025/07/07(1.3 年前);至今共发布 14 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/06/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。