foliko 1.1.72 → 1.1.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.dockerignore CHANGED
@@ -1,45 +1,45 @@
1
- # 依赖
2
- node_modules
3
- .foliko/node_modules
4
-
5
- # 日志
6
- *.log
7
- npm-debug.log*
8
-
9
- # 环境变量(包含敏感信息)
10
- .env
11
- .env.local
12
-
13
- # Git
14
- .git
15
- .gitignore
16
-
17
- # IDE
18
- .idea
19
- .vscode
20
- *.swp
21
- *.swo
22
-
23
- # 文档(可选保留)
24
- *.md
25
- !README.md
26
-
27
- # 测试
28
- test
29
- tests
30
- coverage
31
-
32
- # 临时文件
33
- tmp
34
- temp
35
- *.tmp
36
-
37
- # Docker 相关(避免递归)
38
- Dockerfile*
39
- docker-compose*
40
- .dockerignore
41
-
42
- # CI/CD
43
- .github
44
- .gitlab-ci.yml
45
- .travis.yml
1
+ # 依赖
2
+ node_modules
3
+ .foliko/node_modules
4
+
5
+ # 日志
6
+ *.log
7
+ npm-debug.log*
8
+
9
+ # 环境变量(包含敏感信息)
10
+ .env
11
+ .env.local
12
+
13
+ # Git
14
+ .git
15
+ .gitignore
16
+
17
+ # IDE
18
+ .idea
19
+ .vscode
20
+ *.swp
21
+ *.swo
22
+
23
+ # 文档(可选保留)
24
+ *.md
25
+ !README.md
26
+
27
+ # 测试
28
+ test
29
+ tests
30
+ coverage
31
+
32
+ # 临时文件
33
+ tmp
34
+ temp
35
+ *.tmp
36
+
37
+ # Docker 相关(避免递归)
38
+ Dockerfile*
39
+ docker-compose*
40
+ .dockerignore
41
+
42
+ # CI/CD
43
+ .github
44
+ .gitlab-ci.yml
45
+ .travis.yml
package/.env.example CHANGED
@@ -1,56 +1,56 @@
1
- # ========== AI Configuration ==========
2
- # 最大输出 tokens(影响 AI 回复长度)
3
- MAX_OUTPUT_TOKENS=8192
4
- # AI Provider: minimax, deepseek, openai, anthropic 等
5
- FOLIKO_PROVIDER=minimax
6
-
7
- # AI Model(如果未设置,使用 provider 默认值)
8
- # MiniMax: MiniMax-M2.7
9
- # DeepSeek: deepseek-chat, deepseek-coder 等
10
- FOLIKO_MODEL=MiniMax-M2.7
11
-
12
- # API Base URL(如果未设置,使用 provider 默认值)
13
- # MiniMax: https://api.minimaxi.com/v1
14
- # DeepSeek: https://api.deepseek.com/v1
15
- FOLIKO_BASE_URL=https://api.minimaxi.com/v1
16
-
17
- # API Key(通用,如果未设置则尝试 provider 专用 key)
18
- FOLIKO_API_KEY=sk-your-api-key
19
-
20
- # Provider 专用 API Key(可选,如果 FOLIKO_API_KEY 未设置则使用这些)
21
- DEEPSEEK_API_KEY=sk-your-deepseek-api-key
22
- MINIMAX_API_KEY=sk-your-minimax-api-key
23
-
24
- # ========== Email Configuration ==========
25
- # SMTP Settings (for sending emails)
26
- SMTP_HOST=smtp.gmail.com
27
- SMTP_PORT=587
28
- SMTP_SECURE=false
29
- SMTP_USER=your-email@gmail.com
30
- SMTP_PASS=your-app-password
31
-
32
- # IMAP Settings (for reading emails)
33
- IMAP_HOST=imap.gmail.com
34
- IMAP_PORT=993
35
- IMAP_USER=your-email@gmail.com
36
- IMAP_PASS=your-app-password
37
-
38
- # Default sender email address
39
- FROM_EMAIL=your-email@gmail.com
40
-
41
- # ========== Telegram Bot (optional) ==========
42
- TELEGRAM_BOT_TOKEN=your-telegram-bot-token
43
-
44
- # ========== Feishu Bot (optional) ==========
45
- FEISHU_APP_ID=cli_xxxxxxxxxxx
46
- FEISHU_APP_SECRET=app_secret
47
-
48
- # ========== Web Server (optional) ==========
49
- # Web 服务端口,默认 8088
50
- WEB_PORT=3000
51
-
52
- # Web 服务主机,默认 127.0.0.1
53
- WEB_HOST=127.0.0.1
54
-
55
- # 公网访问的 base URL(用于生成 webhook URL 等),不设置则使用 host:port,最好部署在docker中可以暴露自定义域名
56
- WEB_BASE_URL=https://your-domain.com
1
+ # ========== AI Configuration ==========
2
+ # 最大输出 tokens(影响 AI 回复长度)
3
+ MAX_OUTPUT_TOKENS=8192
4
+ # AI Provider: minimax, deepseek, openai, anthropic 等
5
+ FOLIKO_PROVIDER=minimax
6
+
7
+ # AI Model(如果未设置,使用 provider 默认值)
8
+ # MiniMax: MiniMax-M2.7
9
+ # DeepSeek: deepseek-chat, deepseek-coder 等
10
+ FOLIKO_MODEL=MiniMax-M2.7
11
+
12
+ # API Base URL(如果未设置,使用 provider 默认值)
13
+ # MiniMax: https://api.minimaxi.com/v1
14
+ # DeepSeek: https://api.deepseek.com/v1
15
+ FOLIKO_BASE_URL=https://api.minimaxi.com/v1
16
+
17
+ # API Key(通用,如果未设置则尝试 provider 专用 key)
18
+ FOLIKO_API_KEY=sk-your-api-key
19
+
20
+ # Provider 专用 API Key(可选,如果 FOLIKO_API_KEY 未设置则使用这些)
21
+ DEEPSEEK_API_KEY=sk-your-deepseek-api-key
22
+ MINIMAX_API_KEY=sk-your-minimax-api-key
23
+
24
+ # ========== Email Configuration ==========
25
+ # SMTP Settings (for sending emails)
26
+ SMTP_HOST=smtp.gmail.com
27
+ SMTP_PORT=587
28
+ SMTP_SECURE=false
29
+ SMTP_USER=your-email@gmail.com
30
+ SMTP_PASS=your-app-password
31
+
32
+ # IMAP Settings (for reading emails)
33
+ IMAP_HOST=imap.gmail.com
34
+ IMAP_PORT=993
35
+ IMAP_USER=your-email@gmail.com
36
+ IMAP_PASS=your-app-password
37
+
38
+ # Default sender email address
39
+ FROM_EMAIL=your-email@gmail.com
40
+
41
+ # ========== Telegram Bot (optional) ==========
42
+ TELEGRAM_BOT_TOKEN=your-telegram-bot-token
43
+
44
+ # ========== Feishu Bot (optional) ==========
45
+ FEISHU_APP_ID=cli_xxxxxxxxxxx
46
+ FEISHU_APP_SECRET=app_secret
47
+
48
+ # ========== Web Server (optional) ==========
49
+ # Web 服务端口,默认 8088
50
+ WEB_PORT=3000
51
+
52
+ # Web 服务主机,默认 127.0.0.1
53
+ WEB_HOST=127.0.0.1
54
+
55
+ # 公网访问的 base URL(用于生成 webhook URL 等),不设置则使用 host:port,最好部署在docker中可以暴露自定义域名
56
+ WEB_BASE_URL=https://your-domain.com
@@ -1,33 +1,33 @@
1
- # ========== Foliko Docker Compose ==========
2
- # 使用方式: docker-compose up -d
3
-
4
- services:
5
- foliko:
6
- build: .
7
- container_name: foliko-agent
8
- restart: unless-stopped
9
- ports:
10
- - '3000:3000'
11
- environment:
12
- # AI 配置
13
- - FOLIKO_PROVIDER=${FOLIKO_PROVIDER:-minimax}
14
- - FOLIKO_MODEL=${FOLIKO_MODEL:-}
15
- - FOLIKO_BASE_URL=${FOLIKO_BASE_URL:-}
16
- - FOLIKO_API_KEY=${FOLIKO_API_KEY:-}
17
- # Web 服务配置
18
- - WEB_PORT=3000
19
- - WEB_HOST=0.0.0.0
20
- - WEB_BASE_URL=${WEB_BASE_URL:-}
21
- # Telegram 配置(可选)
22
- - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
23
- # 飞书配置(可选)
24
- - FEISHU_APP_ID=${FEISHU_APP_ID:-}
25
- - FEISHU_APP_SECRET=${FEISHU_APP_SECRET:-}
26
- volumes:
27
- # 持久化数据
28
- - foliko-data:/app/.foliko/data
29
- tty: true
30
- stdin_open: true
31
-
32
- volumes:
33
- foliko-data:
1
+ # ========== Foliko Docker Compose ==========
2
+ # 使用方式: docker-compose up -d
3
+
4
+ services:
5
+ foliko:
6
+ build: .
7
+ container_name: foliko-agent
8
+ restart: unless-stopped
9
+ ports:
10
+ - '3000:3000'
11
+ environment:
12
+ # AI 配置
13
+ - FOLIKO_PROVIDER=${FOLIKO_PROVIDER:-minimax}
14
+ - FOLIKO_MODEL=${FOLIKO_MODEL:-}
15
+ - FOLIKO_BASE_URL=${FOLIKO_BASE_URL:-}
16
+ - FOLIKO_API_KEY=${FOLIKO_API_KEY:-}
17
+ # Web 服务配置
18
+ - WEB_PORT=3000
19
+ - WEB_HOST=0.0.0.0
20
+ - WEB_BASE_URL=${WEB_BASE_URL:-}
21
+ # Telegram 配置(可选)
22
+ - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
23
+ # 飞书配置(可选)
24
+ - FEISHU_APP_ID=${FEISHU_APP_ID:-}
25
+ - FEISHU_APP_SECRET=${FEISHU_APP_SECRET:-}
26
+ volumes:
27
+ # 持久化数据
28
+ - foliko-data:/app/.foliko/data
29
+ tty: true
30
+ stdin_open: true
31
+
32
+ volumes:
33
+ foliko-data:
package/docs/features.md CHANGED
@@ -1,120 +1,120 @@
1
- # Foliko 功能点清单
2
-
3
- ## 1. AI 对话
4
-
5
- | 功能 | 说明 |
6
- | ----------- | --------------------------------------- |
7
- | 流式输出 | 实时流式响应 |
8
- | 多 Provider | minimax / deepseek / openai / anthropic |
9
- | 模型配置 | 支持自定义 model、baseURL、apiKey |
10
- | 系统提示词 | 支持 sharedPrompt 模板变量 |
11
- | 思考过程 | 可选的 think 插件显示推理 |
12
-
13
- ## 2. 工具系统
14
-
15
- | 功能 | 说明 |
16
- | ------------------------ | --------------------------- |
17
- | `Bash` | 执行 Shell/Bash 命令 |
18
- | `Read` | 读取文件内容 |
19
- | `Write` | 写入文件 |
20
- | `Edit` | 编辑文件(diff 替换) |
21
- | `Glob` | 按模式搜索文件 |
22
- | `Grep` | 文件内容搜索 |
23
- | `python` | 执行 Python 代码 |
24
- | `execute_workflow` | 执行工作流 |
25
- | `loadSkill/reloadSkills` | 技能加载与重载 |
26
- | `reloadWorkflows` | 工作流重载 |
27
- | MCP 工具 | Model Context Protocol 集成 |
28
-
29
- ## 3. 插件系统
30
-
31
- | 功能 | 说明 |
32
- | ------------ | ------------------------------------ |
33
- | 插件目录 | `.foliko/plugins/` 自动加载 |
34
- | 插件生命周期 | install / start / reload / uninstall |
35
- | 工具注册 | 插件可注册工具到 Agent |
36
- | 事件系统 | 插件间通过事件通信 |
37
- | 状态持久化 | 插件配置保存到 JSON |
38
- | 优先级控制 | priority 决定加载顺序 |
39
-
40
- ## 4. 工作流引擎
41
-
42
- | 功能 | 说明 |
43
- | ----------- | ------------------------------- |
44
- | `script` | JavaScript 脚本执行 |
45
- | `loop` | 循环(maxIterations) |
46
- | `condition` | 条件分支 |
47
- | `delay` | 延时等待 |
48
- | `parallel` | 并行执行 |
49
- | 上下文共享 | variables / input / stepResults |
50
- | 目录加载 | `.foliko/workflows/` 自动注册 |
51
-
52
- ## 5. 技能系统
53
-
54
- | 功能 | 说明 |
55
- | -------- | ---------------------------- |
56
- | 技能目录 | `skills/` + `.foliko/skills/` |
57
- | SKILL.md | frontmatter 元数据格式 |
58
- | 自动发现 | 递归扫描子目录 |
59
- | 工具过滤 | allowed-tools 限制可用工具 |
60
- | 重载支持 | reloadSkills 动态加载 |
61
-
62
- ## 6. 会话管理
63
-
64
- | 功能 | 说明 |
65
- | ------------- | ------------------------- |
66
- | SessionPlugin | 统一会话历史管理 |
67
- | 多会话 | 按 sessionId 隔离 |
68
- | 消息持久化 | JSON 文件存储 |
69
- | 元数据 | 支持 platform / userId 等 |
70
- | 会话事件 | session:created / deleted |
71
-
72
- ## 7. 子 Agent
73
-
74
- | 功能 | 说明 |
75
- | ----------- | --------------------------- |
76
- | 子Agent配置 | `.foliko/agents/*.json/*.md` |
77
- | 角色定义 | role / description |
78
- | 工具继承 | parentTools 指定可用工具 |
79
- | 工具路由 | 自动匹配最合适 Agent |
80
- | 协作执行 | 支持多 Agent 分工 |
81
-
82
- ## 8. 通讯插件
83
-
84
- | 功能 | 说明 |
85
- | -------- | -------------------------------- |
86
- | Telegram | Bot Token / 群组模式 / 命令前缀 |
87
- | 微信 | WebSocket 登录 / 二维码 |
88
- | 飞书 | WS 长连接 / 事件订阅 |
89
- | 邮件 | IMAP 读取 / SMTP 发送 / 163 兼容 |
90
-
91
- ## 9. 执行器
92
-
93
- | 功能 | 说明 |
94
- | -------------- | ---------------------- |
95
- | ShellExecutor | system 命令执行 |
96
- | PythonExecutor | Python 3 代码执行 |
97
- | 超时控制 | 可配置 maxDuration |
98
- | 结果返回 | stdout/stderr/exitCode |
99
-
100
- ## 10. Web 服务
101
-
102
- | 功能 | 说明 |
103
- | ---------------------- | --------------------------------- |
104
- | `web_start` | 启动 HTTP 服务器 |
105
- | `web_stop` | 停止 HTTP 服务器 |
106
- | `web_register_route` | 注册 HTTP 路由 |
107
- | `web_register_webhook` | 注册 Webhook(数据交给 LLM 处理) |
108
- | `web_list_routes` | 列出所有路由和 Webhook |
109
- | 路由参数 | 支持 `/user/:id` 路径参数 |
110
- | Webhook LLM | 接收数据后转发给 LLM 处理 |
111
-
112
- ## 11. 其他内置插件
113
-
114
- | 功能 | 说明 |
115
- | ----------- | ------------------- |
116
- | `scheduler` | 定时任务 / 循环调度 |
117
- | `rules` | 规则引擎 / 条件触发 |
118
- | `storage` | 键值存储 |
119
- | `audit` | 操作审计日志 |
120
- | `install` | 插件安装工具 |
1
+ # Foliko 功能点清单
2
+
3
+ ## 1. AI 对话
4
+
5
+ | 功能 | 说明 |
6
+ | ----------- | --------------------------------------- |
7
+ | 流式输出 | 实时流式响应 |
8
+ | 多 Provider | minimax / deepseek / openai / anthropic |
9
+ | 模型配置 | 支持自定义 model、baseURL、apiKey |
10
+ | 系统提示词 | 支持 sharedPrompt 模板变量 |
11
+ | 思考过程 | 可选的 think 插件显示推理 |
12
+
13
+ ## 2. 工具系统
14
+
15
+ | 功能 | 说明 |
16
+ | ------------------------ | --------------------------- |
17
+ | `Bash` | 执行 Shell/Bash 命令 |
18
+ | `Read` | 读取文件内容 |
19
+ | `Write` | 写入文件 |
20
+ | `Edit` | 编辑文件(diff 替换) |
21
+ | `Glob` | 按模式搜索文件 |
22
+ | `Grep` | 文件内容搜索 |
23
+ | `python` | 执行 Python 代码 |
24
+ | `execute_workflow` | 执行工作流 |
25
+ | `loadSkill/reloadSkills` | 技能加载与重载 |
26
+ | `reloadWorkflows` | 工作流重载 |
27
+ | MCP 工具 | Model Context Protocol 集成 |
28
+
29
+ ## 3. 插件系统
30
+
31
+ | 功能 | 说明 |
32
+ | ------------ | ------------------------------------ |
33
+ | 插件目录 | `.foliko/plugins/` 自动加载 |
34
+ | 插件生命周期 | install / start / reload / uninstall |
35
+ | 工具注册 | 插件可注册工具到 Agent |
36
+ | 事件系统 | 插件间通过事件通信 |
37
+ | 状态持久化 | 插件配置保存到 JSON |
38
+ | 优先级控制 | priority 决定加载顺序 |
39
+
40
+ ## 4. 工作流引擎
41
+
42
+ | 功能 | 说明 |
43
+ | ----------- | ------------------------------- |
44
+ | `script` | JavaScript 脚本执行 |
45
+ | `loop` | 循环(maxIterations) |
46
+ | `condition` | 条件分支 |
47
+ | `delay` | 延时等待 |
48
+ | `parallel` | 并行执行 |
49
+ | 上下文共享 | variables / input / stepResults |
50
+ | 目录加载 | `.foliko/workflows/` 自动注册 |
51
+
52
+ ## 5. 技能系统
53
+
54
+ | 功能 | 说明 |
55
+ | -------- | ---------------------------- |
56
+ | 技能目录 | `skills/` + `.foliko/skills/` |
57
+ | SKILL.md | frontmatter 元数据格式 |
58
+ | 自动发现 | 递归扫描子目录 |
59
+ | 工具过滤 | allowed-tools 限制可用工具 |
60
+ | 重载支持 | reloadSkills 动态加载 |
61
+
62
+ ## 6. 会话管理
63
+
64
+ | 功能 | 说明 |
65
+ | ------------- | ------------------------- |
66
+ | SessionPlugin | 统一会话历史管理 |
67
+ | 多会话 | 按 sessionId 隔离 |
68
+ | 消息持久化 | JSON 文件存储 |
69
+ | 元数据 | 支持 platform / userId 等 |
70
+ | 会话事件 | session:created / deleted |
71
+
72
+ ## 7. 子 Agent
73
+
74
+ | 功能 | 说明 |
75
+ | ----------- | --------------------------- |
76
+ | 子Agent配置 | `.foliko/agents/*.json/*.md` |
77
+ | 角色定义 | role / description |
78
+ | 工具继承 | parentTools 指定可用工具 |
79
+ | 工具路由 | 自动匹配最合适 Agent |
80
+ | 协作执行 | 支持多 Agent 分工 |
81
+
82
+ ## 8. 通讯插件
83
+
84
+ | 功能 | 说明 |
85
+ | -------- | -------------------------------- |
86
+ | Telegram | Bot Token / 群组模式 / 命令前缀 |
87
+ | 微信 | WebSocket 登录 / 二维码 |
88
+ | 飞书 | WS 长连接 / 事件订阅 |
89
+ | 邮件 | IMAP 读取 / SMTP 发送 / 163 兼容 |
90
+
91
+ ## 9. 执行器
92
+
93
+ | 功能 | 说明 |
94
+ | -------------- | ---------------------- |
95
+ | ShellExecutor | system 命令执行 |
96
+ | PythonExecutor | Python 3 代码执行 |
97
+ | 超时控制 | 可配置 maxDuration |
98
+ | 结果返回 | stdout/stderr/exitCode |
99
+
100
+ ## 10. Web 服务
101
+
102
+ | 功能 | 说明 |
103
+ | ---------------------- | --------------------------------- |
104
+ | `web_start` | 启动 HTTP 服务器 |
105
+ | `web_stop` | 停止 HTTP 服务器 |
106
+ | `web_register_route` | 注册 HTTP 路由 |
107
+ | `web_register_webhook` | 注册 Webhook(数据交给 LLM 处理) |
108
+ | `web_list_routes` | 列出所有路由和 Webhook |
109
+ | 路由参数 | 支持 `/user/:id` 路径参数 |
110
+ | Webhook LLM | 接收数据后转发给 LLM 处理 |
111
+
112
+ ## 11. 其他内置插件
113
+
114
+ | 功能 | 说明 |
115
+ | ----------- | ------------------- |
116
+ | `scheduler` | 定时任务 / 循环调度 |
117
+ | `rules` | 规则引擎 / 条件触发 |
118
+ | `storage` | 键值存储 |
119
+ | `audit` | 操作审计日志 |
120
+ | `install` | 插件安装工具 |