---
name: plugin-guide
description: Foliko 插件管理指南。用于列出远程插件、安装插件、发布插件到远程仓库。当用户说"查看插件列表"、"安装插件"、"发布插件"时使用。
---

# Foliko 插件管理指南

## 概念区分

| 类型               | 存储位置          | 安装命令                            | 说明                      |
| ------------------ | ----------------- | ----------------------------------- | ------------------------- |
| **Skill（技能）**  | `.agent/skills/`  | `npx skills add xxx -a openclaw -y` | 知识包，为 Agent 提供指导 |
| **Plugin（插件）** | `.agent/plugins/` | `foliko plugin install xxx`         | 扩展功能模块              |

---

## 列出远程插件

查看远程插件仓库中所有可用的插件：

```bash
foliko plugin list
```

或使用 Agent 工具：

- 调用 `plugin_list` 工具查看远程插件列表

---

## 安装插件

从远程仓库安装插件到本地 `.agent/plugins/` 目录：

```bash
foliko plugin install <plugin-name>
```

**示例**：

```bash
# 安装 puppeteer 插件
foliko plugin install puppeteer-plugin

# 安装 gate-trading 插件
foliko plugin install gate-trading
```

安装后需要**重启**或**重载插件**使新插件生效：

```bash
foliko reload
```

---

## 发布插件到远程仓库

将本地插件发布到远程 Git 仓库（需要仓库写权限）。

### 发布命令

```bash
foliko plugin publish <plugin-name> --repo <repo-url>
```

### 详细步骤

1. **准备插件目录**

   ```
   .agent/plugins/my-plugin/
   ├── index.js      # 插件入口文件（必须）
   ├── package.json  # 包配置（必须）
   ├── README.md     # 使用说明（建议）
   └── ...           # 其他文件
   ```

2. **创建 README.md**（必需）

   ```markdown
   # My Plugin

   插件描述...

   ## 安装
   ```

   foliko plugin install my-plugin

   ```

   ## 使用
   插件功能说明...
   ```

3. **确保远程仓库存在**
   - 默认仓库：`https://github.com/chnak/foliko-plugins.git`
   - 或指定其他仓库：`--repo https://github.com/user/repo.git`

4. **执行发布**
   ```bash
   foliko plugin publish my-plugin
   ```

---

## 重载插件

发布或安装插件后，需要重载使更改生效：

```bash
foliko reload
```

或使用工具：

- `reload_plugins` - 重载所有插件
- `reload_plugins({ pluginName: "xxx" })` - 重载指定插件

---

## 常用命令速查

| 操作         | 命令                                       |
| ------------ | ------------------------------------------ |
| 列出远程插件 | `foliko plugin list` 或 `plugin_list` 工具 |
| 安装插件     | `foliko plugin install <name>`             |
| 发布插件     | `foliko plugin publish <name>`             |
| 重载插件     | `foliko reload`                            |

---

## 注意事项

1. **插件 vs 技能**：确保区分插件（Plugin）和技能（Skill），不要混淆
2. **发布权限**：发布到远程仓库需要有仓库的写权限
3. **README 必需**：发布的插件必须包含 README.md
4. **重载生效**：安装/发布后必须重载插件
