# 小红书 n8n 节点

一个专门为小红书 API 设计的 n8n 社区节点，提供类似 HTTP Request 节点的用户界面，但专门针对小红书 API 的特殊需求进行了优化。

## ✨ 功能特性

- 🔐 **自动签名处理** - 自动调用签名服务获取小红书 API 所需的加密参数
- 🍪 **Cookie 凭证管理** - 安全存储和管理小红书登录凭证
- 🔑 **Token 认证** - 支持签名服务的 API Token 认证
- 🔗 **URL 自动解析** - 支持粘贴小红书链接自动提取ID和安全令牌
- 📱 **核心 API 支持** - 专注于搜索、笔记和用户信息的核心功能
- 🎨 **直观界面** - 智能隐藏字段，根据输入动态调整界面
- ⚡ **灵活配置** - 支持多种请求方法和参数配置

## �️ 架构设计方

```
用户配置 → n8n节点 → 签名服务 → 获取加密参数 → 小红书API → 返回结果
```

## 🚀 快速开始

### 安装

```bash
npm install n8n-nodes-xiaohongshu
```

### 配置凭证

1. **小红书 Cookie 凭证**
   - Cookie: 完整的小红书 Cookie 字符串
   - User-Agent: 浏览器用户代理字符串

2. **签名服务 Token 凭证**
   - API Token: 访问签名服务的令牌
   - 基础 URL: 签名服务地址 (默认: )

### 使用示例

1. 在 n8n 工作流中添加"小红书"节点
2. 选择 API 分类（搜索、笔记、用户）
3. 选择具体的 API 接口
4. 配置请求参数：
   - **使用链接**: 直接粘贴小红书链接，系统自动解析ID和令牌
   - **手动输入**: 当链接字段为空时，显示手动输入字段
5. 执行工作流

#### 🔗 链接解析示例

**用户信息获取**:
```
https://www.xiaohongshu.com/user/profile/63fdb99e0000000029010fc2?xsec_token=xxx&xsec_source=pc_note
```

**笔记详情获取**:
```
https://www.xiaohongshu.com/explore/67da7a9a000000000a03c169?xsec_token=xxx&xsec_source=pc_feed
```

## 📋 支持的 API

### 搜索相关
- 搜索笔记 - 根据关键词搜索笔记内容
- 搜索用户 - 根据关键词搜索用户
- 获取搜索建议 - 获取搜索关键词建议

### 笔记相关  
- 获取笔记详情 - 根据笔记链接获取详细信息，支持自动解析
- 获取笔记评论 - 获取笔记的评论列表，支持链接自动解析
- 获取子评论 - 获取评论的回复列表
- 获取用户笔记 - 获取用户发布的笔记列表

### 用户相关
- 获取用户信息 - 根据用户链接获取用户资料，支持自动解析
- 获取个人信息 - 获取当前登录用户信息

## 🔧 开发指南

### 环境搭建

```bash
# 克隆项目
git clone https://github.com/your-username/n8n-nodes-xiaohongshu.git
cd n8n-nodes-xiaohongshu

# 安装依赖
npm install

# 开发模式
npm run dev

# 构建项目
npm run build
```

### 本地测试

```bash
# 链接到全局
npm link

# 在 n8n 中使用
cd /path/to/n8n
npm link n8n-nodes-xiaohongshu
n8n start
```

### 项目结构

```
n8n-nodes-xiaohongshu/
├── credentials/           # 凭证定义
├── nodes/                # 节点实现
├── examples/             # 使用示例
├── dist/                 # 编译输出
└── docs/                 # 文档
```

## 📖 详细文档

- [开发指南](DEVELOPMENT.md) - 详细的开发文档
- [使用示例](examples/) - 工作流示例

## 🤝 贡献

欢迎提交 Issue 和 Pull Request！

1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request

## 📄 许可证

本项目采用 MIT 许可证

## ⚠️ 免责声明

本项目仅供学习和研究使用，请遵守小红书的服务条款和相关法律法规。使用本项目所产生的任何后果由使用者自行承担。

## 📞 支持

如有问题或建议，请通过以下方式联系：

- 📧 邮箱：your.email@example.com
- 🐛 Issues：GitHub Issues
- 💬 讨论：GitHub Discussions