Skip to content

快速开始 ​

环境要求 ​

  • Node.js >= 18
  • npm >= 9 或 pnpm >= 8
  • Git

安装 ​

克隆仓库 ​

bash
git clone https://github.com/gitcoffee-os/kagioa.git
cd kagioa

安装依赖 ​

bash
npm install
# 或
pnpm install

开发 ​

启动开发服务器 ​

bash
npm run dev
# 或
pnpm dev

开发服务器启动后,访问 http://localhost:3000 即可预览。

构建生产版本 ​

bash
npm run build
# 或
pnpm build

构建产物将输出到 dist 目录。

项目结构 ​

kagioa/
├── apps/                 # 应用目录
│   ├── mobile/          # 移动端应用(H5/小程序/APP)
│   ├── desktop/         # 桌面端应用
│   └── web/             # Web 端应用
├── packages/            # 共享包
│   ├── ui/              # UI 组件库
│   ├── sdk/             # OA SDK
│   └── shared/          # 共享工具
├── server/              # 服务端
│   ├── gateway/         # 网关服务
│   ├── workflow/        # 工作流服务
│   ├── im/              # IM 服务
│   └── ai/              # AI 服务
├── docs/                # 文档
└── scripts/             # 脚本

配置说明 ​

基础配置 ​

在项目根目录创建 .env 文件:

env
# 服务端地址
VITE_API_BASE_URL=http://localhost:8080

# WebSocket 地址
VITE_WS_URL=ws://localhost:8080/ws

# AI 服务地址
VITE_AI_SERVICE_URL=http://localhost:8081

# 应用名称
VITE_APP_NAME=KagiOA

多端配置 ​

移动端 ​

env
# apps/mobile/.env
VITE_PLATFORM=mobile
VITE_ENABLE_PUSH=true
VITE_PUSH_APP_KEY=your_push_key

桌面端 ​

env
# apps/desktop/.env
VITE_PLATFORM=desktop
VITE_ENABLE_SHORTCUT=true

Web 端 ​

env
# apps/web/.env
VITE_PLATFORM=web
VITE_ENABLE_PWA=true

使用示例 ​

初始化 SDK ​

typescript
import { KagiSDK } from '@kagioa/sdk'

const sdk = new KagiSDK({
  apiBaseUrl: 'http://localhost:8080',
  wsUrl: 'ws://localhost:8080/ws',
  aiServiceUrl: 'http://localhost:8081',
  appKey: 'your_app_key'
})

await sdk.connect()

发起审批 ​

typescript
await sdk.submitApproval({
  type: 'leave',
  title: '请假申请',
  content: '因家中有事,需请假3天',
  attachments: []
})

使用 AI 助手 ​

typescript
const result = await sdk.ai.chat({
  message: '帮我写一份请假申请',
  context: 'annual_leave'
})

console.log(result.content)

发送 IM 消息 ​

typescript
await sdk.im.sendTextMessage({
  to: 'user_id',
  content: '您的审批已通过!'
})

常见问题 ​

Q: 如何切换开发环境? ​

A: 使用 .env.development、.env.production 等文件来配置不同环境。

Q: 如何配置 AI 服务? ​

A: 在 .env 文件中配置 VITE_AI_SERVICE_URL,并确保 AI 服务已启动。

Q: 如何集成 ImSky IM? ​

A: KagiOA 已内置 ImSky IM 能力,配置 WebSocket 地址即可使用。

Q: 如何自定义审批流程? ​

A: 在管理后台的"流程设计"模块中,通过可视化拖拽方式配置审批流程。

下一步 ​