Skip to content

快速开始

本仓库是 pnpm monorepo。

安装与构建

bash
pnpm install          # 安装依赖
pnpm -r build         # 按依赖序构建全部包
pnpm -r test          # 运行全部单测

注意:workspace 包之间引用的是 dist 构建产物(非 src)。改了某个包的 src 后要先 pnpm --filter <pkg> build 再构建依赖它的包;pnpm -r build 会按依赖序全建。

在 React 应用里接入

  1. 配置 scanner 的 Vite 插件,构建时生成能力清单:
ts
// vite.config.ts
import { aiScannerPlugin } from '@ai-operable/scanner/vite';
import { reactRouterPreset } from '@ai-operable/preset-react-router';
import { antdPreset } from '@ai-operable/preset-antd';

export default defineConfig({
  plugins: [
    aiScannerPlugin({
      presets: [
        reactRouterPreset({ routesFile: 'src/App.tsx', labels: { '/leave': '请假管理' } }),
        antdPreset({ forms: [{ module: 'leave', file: 'src/modules/leave/LeaveForm.tsx' }] }),
      ],
    }),
  ],
});
  1. 在应用里组合 useAIAgent + AIBar
tsx
import { AIBar, useAIAgent } from '@ai-operable/react';
import { createHttpProvider, type Manifest } from '@ai-operable/core';
import manifestJson from './ai-manifest.json';

export function AI() {
  const provider = createHttpProvider({ endpoint: '/api/chat' });
  const agent = useAIAgent({ manifest: manifestJson as Manifest, provider });
  return <AIBar agent={agent} examples={['帮我提个明天的事假']} />;
}
  1. 服务端加一个 /api/chat 代理转发到 LLM,key 从环境变量读,不进前端 bundle。

跑示例

bash
pnpm --filter ai-native-demo dev   # React + antd 全功能示例(需自备 LLM key)
pnpm --filter vue-demo dev         # Vue 最小示例(反证 core 框架无关)

Vue 接入方式对称,把 @ai-operable/react 换成 @ai-operable/vue 即可,详见 Vue API

MIT Licensed