open-index/open-npm huggingface dataset:
npm package: @knowai/core
Description: Knowai核心库，提供API服务、客户端、装饰器、类型定义等。
Latest version: 0.1.0

# KnowAI Core

KnowAI Core 是前端核心库，提供完整的API服务、HTTP客户端、装饰器系统和类型定义，专注于后端通信和数据处理。

## 核心功能

### API 服务
- **装饰器驱动**：基于TS5+装饰器实现的声明式API调用
- **模块化设计**：按功能域划分API服务（用户、帖子、聊天、模型、上传）
- **统一错误处理**：标准化的错误响应和类型定义
- **路径参数支持**：内置支持`:param`格式的动态路径参数

### 客户端实现
- **基于Axios**：高性能HTTP客户端封装
- **统一请求配置**：标准化的请求/响应接口
- **错误转换**：自动将Axios错误转换为应用错误类型
- **类型安全**：完整的TypeScript泛型支持

### 装饰器系统
- **HTTP方法装饰器**：支持GET、POST、PUT、DELETE、PATCH
- **请求执行装饰器**：自动处理API调用逻辑
- **客户端注入装饰器**：自动注入HTTP客户端实例
- **TS5+ Stage 3**：遵循最新的装饰器规范

### 类型系统
- **完整类型定义**：覆盖所有API请求/响应类型
- **业务实体类型**：用户、帖子、聊天、模型等核心实体类型
- **模块化组织**：按功能域分类管理类型定义

## 目录结构

```
knowai-core/
├── api/           # API服务模块
├── client/        # HTTP客户端实现
├── decorators/    # 装饰器系统
├── types/         # TypeScript类型定义
├── utils/         # 工具函数
├── index.ts       # 主入口文件
├── package.json   # 项目配置
└── tsconfig.json  # TypeScript配置
```

## 使用方式

### 安装

```bash
# 使用 npm
npm install @knowai/core

# 使用 pnpm
pnpm add @knowai/core
```

### 导入API服务

```typescript
import { api } from '@knowai/core';

// 调用API方法
const posts = await api.post.getPosts({ page: 1, pageSize: 10 });
```

## 设计原则

- **声明式API**：使用装饰器提供简洁的API定义方式
- **类型安全**：全面利用TypeScript确保代码质量
- **模块化**：高内聚低耦合的模块化设计
- **可扩展性**：易于添加新的API服务和功能
- **错误统一**：标准化的错误处理机制

## 更新日志

### 2025-11-30
- 用装饰器全部重构了一遍，迭代版本为0.1.0
- 减少了百分之六十到八十的代码量
- 先发布0.1.0版本