# Foliko 功能点清单

## 1. AI 对话

| 功能        | 说明                                    |
| ----------- | --------------------------------------- |
| 流式输出    | 实时流式响应                            |
| 多 Provider | minimax / deepseek / openai / anthropic |
| 模型配置    | 支持自定义 model、baseURL、apiKey       |
| 系统提示词  | 支持 sharedPrompt 模板变量              |
| 思考过程    | 可选的 think 插件显示推理               |

## 2. 工具系统

| 功能                     | 说明                        |
| ------------------------ | --------------------------- |
| `Bash`                   | 执行 Shell/Bash 命令        |
| `Read`                   | 读取文件内容                |
| `Write`                  | 写入文件                    |
| `Edit`                   | 编辑文件（diff 替换）       |
| `Glob`                   | 按模式搜索文件              |
| `Grep`                   | 文件内容搜索                |
| `python`                 | 执行 Python 代码            |
| `execute_workflow`       | 执行工作流                  |
| `loadSkill/reloadSkills` | 技能加载与重载              |
| `reloadWorkflows`        | 工作流重载                  |
| MCP 工具                 | Model Context Protocol 集成 |

## 3. 插件系统

| 功能         | 说明                                 |
| ------------ | ------------------------------------ |
| 插件目录     | `.agent/plugins/` 自动加载           |
| 插件生命周期 | install / start / reload / uninstall |
| 工具注册     | 插件可注册工具到 Agent               |
| 事件系统     | 插件间通过事件通信                   |
| 状态持久化   | 插件配置保存到 JSON                  |
| 优先级控制   | priority 决定加载顺序                |

## 4. 工作流引擎

| 功能        | 说明                            |
| ----------- | ------------------------------- |
| `script`    | JavaScript 脚本执行             |
| `loop`      | 循环（maxIterations）           |
| `condition` | 条件分支                        |
| `delay`     | 延时等待                        |
| `parallel`  | 并行执行                        |
| 上下文共享  | variables / input / stepResults |
| 目录加载    | `.agent/workflows/` 自动注册    |

## 5. 技能系统

| 功能     | 说明                         |
| -------- | ---------------------------- |
| 技能目录 | `skills/` + `.agent/skills/` |
| SKILL.md | frontmatter 元数据格式       |
| 自动发现 | 递归扫描子目录               |
| 工具过滤 | allowed-tools 限制可用工具   |
| 重载支持 | reloadSkills 动态加载        |

## 6. 会话管理

| 功能          | 说明                      |
| ------------- | ------------------------- |
| SessionPlugin | 统一会话历史管理          |
| 多会话        | 按 sessionId 隔离         |
| 消息持久化    | JSON 文件存储             |
| 元数据        | 支持 platform / userId 等 |
| 会话事件      | session:created / deleted |

## 7. 子 Agent

| 功能        | 说明                        |
| ----------- | --------------------------- |
| 子Agent配置 | `.agent/agents/*.json/*.md` |
| 角色定义    | role / description          |
| 工具继承    | parentTools 指定可用工具    |
| 工具路由    | 自动匹配最合适 Agent        |
| 协作执行    | 支持多 Agent 分工           |

## 8. 通讯插件

| 功能     | 说明                             |
| -------- | -------------------------------- |
| Telegram | Bot Token / 群组模式 / 命令前缀  |
| 微信     | WebSocket 登录 / 二维码          |
| 飞书     | WS 长连接 / 事件订阅             |
| 邮件     | IMAP 读取 / SMTP 发送 / 163 兼容 |

## 9. 执行器

| 功能           | 说明                   |
| -------------- | ---------------------- |
| ShellExecutor  | system 命令执行        |
| PythonExecutor | Python 3 代码执行      |
| 超时控制       | 可配置 maxDuration     |
| 结果返回       | stdout/stderr/exitCode |

## 10. Web 服务

| 功能                   | 说明                              |
| ---------------------- | --------------------------------- |
| `web_start`            | 启动 HTTP 服务器                  |
| `web_stop`             | 停止 HTTP 服务器                  |
| `web_register_route`   | 注册 HTTP 路由                    |
| `web_register_webhook` | 注册 Webhook（数据交给 LLM 处理） |
| `web_list_routes`      | 列出所有路由和 Webhook            |
| 路由参数               | 支持 `/user/:id` 路径参数         |
| Webhook LLM            | 接收数据后转发给 LLM 处理         |

## 11. 其他内置插件

| 功能        | 说明                |
| ----------- | ------------------- |
| `scheduler` | 定时任务 / 循环调度 |
| `rules`     | 规则引擎 / 条件触发 |
| `storage`   | 键值存储            |
| `audit`     | 操作审计日志        |
| `install`   | 插件安装工具        |
