koishi-plugin-my-pig-group-friends 1.1.1 → 1.1.4

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/README.md CHANGED
@@ -2,15 +2,33 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/koishi-plugin-my-pig-group-friends?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-my-pig-group-friends)
4
4
 
5
- 猪醒 - 虚拟旅行打卡插件,让你的猪猪群友环游世界。
5
+ **猪醒** - 虚拟旅行打卡插件,让你的猪猪群友环游世界。
6
6
 
7
- ## 功能特点
7
+ > 你群里有没有那种作息混乱、日夜颠倒的猪猪朋友?现在,每当他们在奇怪的时间冒泡,就送他们去世界各地"旅行"吧!
8
8
 
9
- - **虚拟旅行打卡**:随机(或通过 LLM)生成全球旅行地点,生成精美毛玻璃效果足迹卡片
10
- - **作息异常检测(实验性)**:自动检测用户每日首条消息,根据当地日出时间判断作息是否异常并触发旅行
11
- - **高质量背景**:集成 Unsplash API 获取目的地真实风景图
12
- - **AI 生图支持**:支持通过 media-luna 插件生成小猪在当地旅行的 AI 插画
13
- - **存储集成**:深度集成 chatluna-storage-service 进行图片管理
9
+ ## 功能亮点
10
+
11
+ - **虚拟旅行打卡** - 生成精美毛玻璃效果足迹卡片,记录猪猪的环球之旅
12
+ - **智能日出选点** - LLM 会根据当前时间,选择正在迎接日出的地区作为目的地(毕竟是"猪醒"嘛)
13
+ - **高质量风景图** - 集成 Unsplash / Pexels API,获取目的地真实风景照片
14
+ - **AI 生图支持** - 可选生成小猪在当地旅行的 AI 插画
15
+ - **作息异常检测(实验性)** - 自动检测用户每日首条消息时间,判断作息是否异常
16
+
17
+ ## 效果预览
18
+
19
+ 当触发旅行时,会生成类似这样的卡片:
20
+
21
+ ```
22
+ ┌─────────────────────────────┐
23
+ │ [目的地风景照片背景] │
24
+ │ │
25
+ │ 🐷 xxx 猪醒! │
26
+ │ │
27
+ │ 去了 冰岛蓝湖温泉,冰岛! │
28
+ │ │
29
+ │ 2024-01-15 06:32 │
30
+ └─────────────────────────────┘
31
+ ```
14
32
 
15
33
  ## 安装
16
34
 
@@ -22,40 +40,86 @@ npm install koishi-plugin-my-pig-group-friends
22
40
 
23
41
  ### 必需
24
42
  - `database` - 存储用户状态和旅行日志
25
- - `cron` - 定时清理和报表生成
26
- - `puppeteer` - 生成精美卡片
43
+ - `cron` - 定时清理任务
44
+ - `puppeteer` - 渲染精美卡片
27
45
 
28
46
  ### 可选
29
- - `chatluna` - 用于 LLM 动态生成旅行地点
30
- - `chatluna_storage` - 用于高效管理和分发生成的图片卡片
31
- - `media-luna` - 用于 AI 绘图功能
47
+ - `chatluna` - LLM 动态生成旅行地点(推荐)
48
+ - `chatluna_storage` - 高效管理图片缓存
49
+ - `media-luna` - AI 绘图功能
32
50
 
33
51
  ## 使用方法
34
52
 
35
53
  ### 指令
36
54
 
37
- - `pig [user]` - 触发一次虚拟旅行。如果不指定用户,则对自己生效。
38
- - `猪醒 [user]` - `pig` 指令的别名。
55
+ | 指令 | 说明 |
56
+ |------|------|
57
+ | `pig` | 送自己去旅行 |
58
+ | `pig @某人` | 送指定用户去旅行 |
59
+ | `猪醒` | `pig` 的别名 |
60
+
61
+ ### 示例
62
+
63
+ ```
64
+ > 猪醒 @张三
65
+ 🐷 张三 猪醒!去了 挪威罗弗敦群岛,挪威!
66
+ [精美卡片图片]
67
+ ```
39
68
 
40
- ## 配置项
69
+ ## 配置说明
41
70
 
42
71
  ### 基础设置
43
- - `outputMode`: 输出模式(image/text)。
44
- - `travelMessageTemplate`: 旅行消息模板。
72
+
73
+ | 配置项 | 默认值 | 说明 |
74
+ |--------|--------|------|
75
+ | `outputMode` | `image` | 输出模式:`image` 生成卡片,`text` 纯文本 |
76
+ | `travelMessageTemplate` | `去了 {landmark},{country}!` | 旅行消息模板 |
45
77
 
46
78
  ### 地点与图片
47
- - `llmLocationEnabled`: 是否启用 LLM 动态生成地点。
48
- - `llmLocationModel`: 生成地点的 LLM 模型(推荐使用轻量快速模型)。
49
- - `unsplashAccessKey`: Unsplash API 访问密钥。
79
+
80
+ | 配置项 | 默认值 | 说明 |
81
+ |--------|--------|------|
82
+ | `llmLocationEnabled` | `false` | 启用 LLM 动态生成地点 |
83
+ | `llmLocationModel` | - | LLM 模型(推荐 gemini-flash 等快速模型) |
84
+ | `llmLocationCustomContext` | - | 自定义偏好(如:北欧风格、赛博朋克建筑等) |
85
+ | `imageSearchPrompt` | `{landmark} {country} landscape` | 图片搜索关键词模板 |
86
+ | `unsplashAccessKey` | - | Unsplash API 密钥 |
87
+ | `pexelsApiKey` | - | Pexels API 密钥(备用图源) |
50
88
 
51
89
  ### AI 生图(可选)
52
- - `aigcEnabled`: 是否启用 AI 绘图。
53
- - `aigcChannel`: media-luna 绘图渠道。
54
- - `aigcPrompt`: 绘图提示词模板。
90
+
91
+ | 配置项 | 默认值 | 说明 |
92
+ |--------|--------|------|
93
+ | `aigcEnabled` | `false` | 启用 AI 绘图 |
94
+ | `aigcChannel` | - | media-luna 绘图渠道 |
95
+ | `aigcPrompt` | `一个可爱的卡通小猪正在...` | 绘图提示词模板 |
55
96
 
56
97
  ### 自动检测(实验性)
57
- - `experimentalAutoDetect`: 是否启用自动作息异常检测。
58
- - `abnormalThreshold`: 异常判定阈值(小时)。
98
+
99
+ | 配置项 | 默认值 | 说明 |
100
+ |--------|--------|------|
101
+ | `experimentalAutoDetect` | `false` | 自动检测作息异常 |
102
+ | `abnormalThreshold` | `3` | 异常判定阈值(小时) |
103
+
104
+ ### 存储设置
105
+
106
+ | 配置项 | 默认值 | 说明 |
107
+ |--------|--------|------|
108
+ | `useStorageService` | `true` | 使用存储服务缓存图片 |
109
+ | `storageCacheHours` | `24` | 图片缓存时间(小时) |
110
+ | `logRetentionDays` | `45` | 旅行记录保留天数 |
111
+
112
+ ## 获取 API 密钥
113
+
114
+ ### Unsplash(推荐)
115
+ 1. 访问 [Unsplash Developers](https://unsplash.com/developers)
116
+ 2. 创建应用,获取 Access Key
117
+ 3. 免费额度:50 次/小时
118
+
119
+ ### Pexels(备用)
120
+ 1. 访问 [Pexels API](https://www.pexels.com/api/)
121
+ 2. 注册并获取 API Key
122
+ 3. 免费额度:200 次/小时
59
123
 
60
124
  ## License
61
125
 
package/lib/config.d.ts CHANGED
@@ -14,10 +14,15 @@ export interface Config {
14
14
  logPath: string;
15
15
  llmLocationEnabled: boolean;
16
16
  llmLocationModel: string;
17
+ llmLocationCustomContext: string;
18
+ imageSearchPrompt: string;
17
19
  unsplashAccessKey: string;
20
+ pexelsApiKey: string;
21
+ backgroundFetchMode: 'auto' | 'always' | 'never';
22
+ backgroundFetchTimeoutMs: number;
18
23
  logRetentionDays: number;
24
+ monthlySummaryEnabled: boolean;
19
25
  experimentalAutoDetect: boolean;
20
26
  debug: boolean;
21
- emojiFont: 'Noto Color Emoji' | 'Twemoji' | 'System';
22
27
  }
23
28
  export declare const Config: Schema<Config>;
package/lib/database.d.ts CHANGED
@@ -20,7 +20,10 @@ export interface PigTravelLog {
20
20
  platform: string;
21
21
  timestamp: Date;
22
22
  country: string;
23
+ countryZh: string;
23
24
  location: string;
25
+ locationZh: string;
26
+ timezone: string;
24
27
  imagePath: string;
25
28
  isAIGC: boolean;
26
29
  }