@zsc-glitch/daily-logger 1.0.0 → 1.1.0

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
@@ -14,6 +14,16 @@ npm install @zsc-glitch/daily-logger
14
14
  npx clawhub@latest install daily-logger
15
15
  ```
16
16
 
17
+ ## 功能特性
18
+
19
+ - ✅ **活动记录** - 记录睡眠、饮食、运动、心情等,支持时长记录
20
+ - ✅ **快速记录** - 预设常用活动,一键记录
21
+ - ✅ **详细摘要** - 生成统计摘要,包含分类统计、运动详情、心情趋势
22
+ - ✅ **日报生成** - 每日总结,一目了然
23
+ - ✅ **周报/月报** - 趋势分析,发现模式
24
+ - ✅ **数据导出** - JSON/Markdown 导出,便于分析
25
+ - ✅ **隐私本地** - 数据存储在本地,完全掌控
26
+
17
27
  ## 使用
18
28
 
19
29
  ### 记录活动
@@ -21,34 +31,129 @@ npx clawhub@latest install daily-logger
21
31
  对我说:
22
32
  - "记录睡了8小时"
23
33
  - "今天吃了午饭"
24
- - "跑了5公里"
34
+ - "跑了5公里,30分钟"
25
35
  - "心情不错"
26
36
 
37
+ ### 快速记录
38
+
39
+ 使用预设活动快速记录:
40
+ - "快速记录早起了"
41
+ - "记录运动了,45分钟"
42
+ - "心情好"
43
+
27
44
  ### 查看报告
28
45
 
29
46
  - "生成今天的日志报告"
30
47
  - "看看这周的运动情况"
48
+ - "给我一个详细摘要"
31
49
  - "搜索之前关于跑步的记录"
32
50
 
33
51
  ## 活动类型
34
52
 
35
- | 类型 | 说明 |
36
- |------|------|
37
- | sleep | 睡眠 |
38
- | meal | 餐饮 |
39
- | exercise | 运动 |
40
- | mood | 心情 |
41
- | work | 工作 |
42
- | hobby | 休闲 |
43
- | health | 健康 |
44
- | custom | 自定义 |
53
+ | 类型 | 说明 | 示例 |
54
+ |------|------|------|
55
+ | sleep | 睡眠 | "睡了7小时" |
56
+ | meal | 餐饮 | "吃了早餐" |
57
+ | exercise | 运动 | "跑了5公里" |
58
+ | mood | 心情 | "心情不错" |
59
+ | work | 工作 | "完成了项目报告" |
60
+ | hobby | 休闲 | "看了部电影" |
61
+ | health | 健康 | "体重70kg" |
62
+ | custom | 自定义 | 任意活动 |
63
+
64
+ ## 工具列表
65
+
66
+ ### log_activity
67
+ 记录活动:`log_activity(type, content, duration?)`
68
+
69
+ ```typescript
70
+ // 记录运动,带时长
71
+ log_activity({ type: "exercise", content: "跑步5公里", duration: 30 })
72
+
73
+ // 记录心情
74
+ log_activity({ type: "mood", content: "今天心情很好" })
75
+ ```
76
+
77
+ ### log_quick
78
+ 快速记录预设活动:`log_quick(activity, duration?, note?)`
45
79
 
46
- ## 工具
80
+ ```typescript
81
+ // 快速记录运动
82
+ log_quick({ activity: "exercise", duration: 45 })
47
83
 
48
- - `log_activity` - 记录活动
49
- - `generate_report` - 生成报告
50
- - `search_logs` - 搜索日志
51
- - `export_logs` - 导出日志
84
+ // 带备注
85
+ log_quick({ activity: "happy", note: "完成了一个重要项目" })
86
+ ```
87
+
88
+ **可用预设:**
89
+
90
+ | ID | 类型 | 说明 | 默认时长 |
91
+ |------|------|------|------|
92
+ | wake_up | sleep | 早起了 | - |
93
+ | sleep | sleep | 入睡了 | 8小时 |
94
+ | breakfast | meal | 吃早餐 | - |
95
+ | lunch | meal | 吃午餐 | - |
96
+ | dinner | meal | 吃晚餐 | - |
97
+ | exercise | exercise | 运动了 | 30分钟 |
98
+ | run | exercise | 跑步了 | 30分钟 |
99
+ | gym | exercise | 健身了 | 60分钟 |
100
+ | happy | mood | 心情好 | - |
101
+ | tired | mood | 有点累 | - |
102
+ | stressed | mood | 压力大 | - |
103
+ | meditation | health | 冥想了 | 15分钟 |
104
+ | water | health | 喝水了 | - |
105
+ | vitamin | health | 吃维生素 | - |
106
+ | reading | hobby | 看书了 | 30分钟 |
107
+ | gaming | hobby | 玩游戏 | 60分钟 |
108
+ | meeting | work | 开会了 | 60分钟 |
109
+ | focus | work | 专注工作 | 90分钟 |
110
+
111
+ ### log_summary
112
+ 生成详细统计摘要:`log_summary(period?)`
113
+
114
+ ```typescript
115
+ // 今天的详细摘要
116
+ log_summary({ period: "today" })
117
+
118
+ // 本周摘要
119
+ log_summary({ period: "week" })
120
+ ```
121
+
122
+ ### generate_report
123
+ 生成报告:`generate_report(period, type?)`
124
+
125
+ ```typescript
126
+ // 今天所有活动
127
+ generate_report({ period: "today" })
128
+
129
+ // 本周运动报告
130
+ generate_report({ period: "week", type: "exercise" })
131
+ ```
132
+
133
+ ### search_logs
134
+ 搜索日志:`search_logs(query, type?, limit?)`
135
+
136
+ ```typescript
137
+ // 搜索跑步相关
138
+ search_logs({ query: "跑步" })
139
+
140
+ // 搜索运动类型,限制5条
141
+ search_logs({ query: "", type: "exercise", limit: 5 })
142
+ ```
143
+
144
+ ### export_logs
145
+ 导出日志:`export_logs(format, period?)`
146
+
147
+ ```typescript
148
+ // 导出为 JSON
149
+ export_logs({ format: "json" })
150
+
151
+ // 导出本周为 Markdown
152
+ export_logs({ format: "markdown", period: "week" })
153
+ ```
154
+
155
+ ### log_quick_list
156
+ 列出所有预设活动:`log_quick_list()`
52
157
 
53
158
  ## 数据存储
54
159
 
@@ -61,6 +166,65 @@ npx clawhub@latest install daily-logger
61
166
  └── ...
62
167
  ```
63
168
 
169
+ ### 日志格式
170
+
171
+ ```markdown
172
+ # 2026-03-30
173
+
174
+ ## 睡眠
175
+ - 07:00 😴 起床
176
+ - 23:30 😴 入睡 (8小时)
177
+
178
+ ## 餐饮
179
+ - 08:30 🍽️ 早餐
180
+ - 12:00 🍽️ 午餐
181
+ - 18:00 🍽️ 晚餐
182
+
183
+ ## 运动
184
+ - 15:00 🏃 跑步5公里 (30分钟)
185
+
186
+ ## 心情
187
+ - 20:00 😊 今天心情很好
188
+
189
+ ## 统计
190
+ - 睡眠: 8h
191
+ - 运动: 5km, 30min
192
+ ```
193
+
194
+ ## 配置
195
+
196
+ 在 OpenClaw 配置中启用:
197
+
198
+ ```json
199
+ {
200
+ "skills": {
201
+ "entries": {
202
+ "daily_logger": {
203
+ "enabled": true,
204
+ "config": {
205
+ "logDir": "~/.daily-logs",
206
+ "autoSummary": true
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ ```
213
+
214
+ ## 更新日志
215
+
216
+ ### v1.1.0
217
+ - ✨ 新增 `log_quick` 快速记录预设活动
218
+ - ✨ 新增 `log_summary` 详细统计摘要
219
+ - ✨ 新增活动时长记录功能
220
+ - 🐛 修复时间戳解析问题
221
+ - 💄 改进 Markdown 格式化输出
222
+ - 📝 更新文档
223
+
224
+ ### v1.0.0
225
+ - 🎉 初始版本
226
+ - 活动记录、报告生成、搜索、导出
227
+
64
228
  ## License
65
229
 
66
230
  MIT
package/SKILL.md CHANGED
@@ -4,12 +4,13 @@
4
4
 
5
5
  ## 功能
6
6
 
7
- - ✅ **活动记录** - 记录睡眠、饮食、运动、心情等
8
- - ✅ **时间追踪** - 自动时间戳,无需手动输入
7
+ - ✅ **活动记录** - 记录睡眠、饮食、运动、心情等,支持时长
8
+ - ✅ **快速记录** - 预设常用活动,一键记录
9
+ - ✅ **详细摘要** - 分类统计、运动详情、心情趋势
9
10
  - ✅ **日报生成** - 每日总结,一目了然
10
11
  - ✅ **周报/月报** - 趋势分析,发现模式
11
- - ✅ **数据导出** - JSON/Markdown 导出,便于分析
12
- - ✅ **隐私本地** - 数据存储在本地,完全掌控
12
+ - ✅ **数据导出** - JSON/Markdown 导出
13
+ - ✅ **隐私本地** - 数据存储在本地
13
14
 
14
15
  ## 触发词
15
16
 
@@ -18,8 +19,10 @@
18
19
  - "今天心情不错"
19
20
  - "吃了午饭"
20
21
  - "跑了5公里"
22
+ - "快速记录运动了"
21
23
  - "生成今天的日志"
22
24
  - "看看这周的运动情况"
25
+ - "给我一个详细摘要"
23
26
 
24
27
  自动调用对应工具。
25
28
 
@@ -36,9 +39,64 @@
36
39
  | health | 健康 | "体重70kg" |
37
40
  | custom | 自定义 | 任意活动 |
38
41
 
39
- ## 配置
42
+ ## 工具
43
+
44
+ ### log_activity
45
+ 记录活动,支持时长。
46
+
47
+ ```
48
+ log_activity(type: ActivityType, content: string, duration?: number)
49
+ ```
50
+
51
+ ### log_quick
52
+ 快速记录预设活动。
53
+
54
+ ```
55
+ log_quick(activity: string, duration?: number, note?: string)
56
+ ```
57
+
58
+ 预设活动:
59
+ - `wake_up` - 早起了
60
+ - `sleep` - 入睡了(默认8小时)
61
+ - `breakfast` / `lunch` / `dinner` - 三餐
62
+ - `exercise` / `run` / `gym` - 运动
63
+ - `happy` / `tired` / `stressed` - 心情
64
+ - `meditation` / `water` / `vitamin` - 健康
65
+ - `reading` / `gaming` - 休闲
66
+ - `meeting` / `focus` - 工作
40
67
 
41
- OpenClaw 配置中启用:
68
+ ### log_summary
69
+ 生成详细统计摘要。
70
+
71
+ ```
72
+ log_summary(period?: "today" | "yesterday" | "week" | "month")
73
+ ```
74
+
75
+ ### generate_report
76
+ 生成报告。
77
+
78
+ ```
79
+ generate_report(period: Period, type?: ActivityType)
80
+ ```
81
+
82
+ ### search_logs
83
+ 搜索日志。
84
+
85
+ ```
86
+ search_logs(query: string, type?: ActivityType, limit?: number)
87
+ ```
88
+
89
+ ### export_logs
90
+ 导出日志。
91
+
92
+ ```
93
+ export_logs(format: "json" | "markdown", period?: Period)
94
+ ```
95
+
96
+ ### log_quick_list
97
+ 列出所有预设活动。
98
+
99
+ ## 配置
42
100
 
43
101
  ```json
44
102
  {
@@ -56,53 +114,22 @@
56
114
  }
57
115
  ```
58
116
 
59
- ## 数据结构
60
-
61
- 日志以 Markdown 格式存储:
117
+ ## 数据格式
62
118
 
63
119
  ```markdown
64
120
  # 2026-03-30
65
121
 
66
122
  ## 睡眠
67
- - 07:00 起床
68
- - 23:30 入睡
69
- - 总计: 7.5小时
70
-
71
- ## 餐饮
72
- - 08:30 早餐: 鸡蛋、牛奶
73
- - 12:00 午餐: 米饭、蔬菜
74
- - 18:00 晚餐: 鱼、汤
123
+ - 07:00 😴 起床
124
+ - 23:30 😴 入睡 (8小时)
75
125
 
76
126
  ## 运动
77
- - 15:00 跑步 5公里
127
+ - 15:00 🏃 跑步5公里 (30分钟)
78
128
 
79
129
  ## 心情
80
- - 全天: 良好 👊
81
-
82
- ## 工作
83
- - 完成项目报告
84
- - 代码评审
85
-
86
- ## 统计
87
- - 睡眠: 7.5h
88
- - 运动: 5km
89
- - 心情评分: 7/10
130
+ - 20:00 😊 今天心情很好
90
131
  ```
91
132
 
92
- ## 工具
93
-
94
- ### log_activity
95
- 记录活动:`log_activity(type, content, timestamp?)`
96
-
97
- ### generate_report
98
- 生成报告:`generate_report(period, type?)`
99
-
100
- ### search_logs
101
- 搜索日志:`search_logs(query, dateRange?)`
102
-
103
- ### export_logs
104
- 导出日志:`export_logs(format, dateRange?)`
105
-
106
133
  ## 与 Knowledge Keeper 联动
107
134
 
108
135
  重要活动可自动保存到 Knowledge Keeper:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;AAiMH,wBA+XG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;AA2aH,wBAsdG"}
package/dist/index.js CHANGED
@@ -7,6 +7,48 @@ import { Type } from "@sinclair/typebox";
7
7
  import * as fs from "fs/promises";
8
8
  import * as path from "path";
9
9
  import * as os from "os";
10
+ // 预设活动列表
11
+ const QUICK_ACTIVITIES = [
12
+ { id: "wake_up", label: "早起了", type: "sleep", content: "起床" },
13
+ { id: "sleep", label: "入睡了", type: "sleep", content: "入睡", defaultDuration: 480 },
14
+ { id: "breakfast", label: "吃早餐", type: "meal", content: "早餐" },
15
+ { id: "lunch", label: "吃午餐", type: "meal", content: "午餐" },
16
+ { id: "dinner", label: "吃晚餐", type: "meal", content: "晚餐" },
17
+ { id: "exercise", label: "运动了", type: "exercise", content: "运动", defaultDuration: 30 },
18
+ { id: "run", label: "跑步了", type: "exercise", content: "跑步", defaultDuration: 30 },
19
+ { id: "gym", label: "健身了", type: "exercise", content: "健身", defaultDuration: 60 },
20
+ { id: "happy", label: "心情好", type: "mood", content: "心情愉快 😊" },
21
+ { id: "tired", label: "有点累", type: "mood", content: "感到疲惫" },
22
+ { id: "stressed", label: "压力大", type: "mood", content: "压力大" },
23
+ { id: "meditation", label: "冥想了", type: "health", content: "冥想", defaultDuration: 15 },
24
+ { id: "water", label: "喝水了", type: "health", content: "喝水" },
25
+ { id: "vitamin", label: "吃维生素", type: "health", content: "服用维生素" },
26
+ { id: "reading", label: "看书了", type: "hobby", content: "阅读", defaultDuration: 30 },
27
+ { id: "gaming", label: "玩游戏", type: "hobby", content: "游戏", defaultDuration: 60 },
28
+ { id: "meeting", label: "开会了", type: "work", content: "会议", defaultDuration: 60 },
29
+ { id: "focus", label: "专注工作", type: "work", content: "专注工作", defaultDuration: 90 },
30
+ ];
31
+ // 类型 Emoji 映射
32
+ const TYPE_EMOJI = {
33
+ sleep: "😴",
34
+ meal: "🍽️",
35
+ exercise: "🏃",
36
+ mood: "😊",
37
+ work: "💼",
38
+ hobby: "🎮",
39
+ health: "🏥",
40
+ custom: "📝",
41
+ };
42
+ const TYPE_LABELS = {
43
+ sleep: "睡眠",
44
+ meal: "餐饮",
45
+ exercise: "运动",
46
+ mood: "心情",
47
+ work: "工作",
48
+ hobby: "休闲",
49
+ health: "健康",
50
+ custom: "其他",
51
+ };
10
52
  // 获取日志目录
11
53
  function getLogDir(config) {
12
54
  const dir = config?.logDir || process.env.DAILY_LOG_DIR || "~/.daily-logs";
@@ -16,14 +58,24 @@ function getLogDir(config) {
16
58
  function getTodayDate() {
17
59
  return new Date().toISOString().slice(0, 10);
18
60
  }
19
- // 获取时间字符串
61
+ // 获取时间字符串 (HH:MM)
20
62
  function getTimeString(date) {
21
63
  return date.toTimeString().slice(0, 5);
22
64
  }
65
+ // 格式化时长
66
+ function formatDuration(minutes) {
67
+ if (minutes < 60) {
68
+ return `${minutes}分钟`;
69
+ }
70
+ const hours = Math.floor(minutes / 60);
71
+ const mins = minutes % 60;
72
+ return mins > 0 ? `${hours}小时${mins}分钟` : `${hours}小时`;
73
+ }
23
74
  // 生成活动 ID
24
75
  function generateId() {
76
+ const timestamp = Date.now().toString(36);
25
77
  const rand = Math.random().toString(36).slice(2, 6);
26
- return `act-${rand}`;
78
+ return `act-${timestamp}-${rand}`;
27
79
  }
28
80
  // 确保目录存在
29
81
  async function ensureDir(dir) {
@@ -41,17 +93,13 @@ function getLogFilePath(logDir, date) {
41
93
  // 格式化单条活动为 Markdown
42
94
  function formatActivityMarkdown(log) {
43
95
  const time = getTimeString(new Date(log.timestamp));
44
- const typeEmoji = {
45
- sleep: "😴",
46
- meal: "🍽️",
47
- exercise: "🏃",
48
- mood: "😊",
49
- work: "💼",
50
- hobby: "🎮",
51
- health: "🏥",
52
- custom: "📝",
53
- };
54
- return `- ${time} ${typeEmoji[log.type]} ${log.content}`;
96
+ const emoji = TYPE_EMOJI[log.type];
97
+ let line = `- ${time} ${emoji} ${log.content}`;
98
+ // 添加时长信息
99
+ if (log.duration && log.duration > 0) {
100
+ line += ` (${formatDuration(log.duration)})`;
101
+ }
102
+ return line;
55
103
  }
56
104
  // 解析日志文件中的活动列表
57
105
  async function parseLogActivities(logPath) {
@@ -59,11 +107,12 @@ async function parseLogActivities(logPath) {
59
107
  const content = await fs.readFile(logPath, "utf-8");
60
108
  const lines = content.split("\n");
61
109
  const activities = [];
110
+ const dateMatch = path.basename(logPath, ".md");
62
111
  for (const line of lines) {
63
- // 解析格式: - HH:MM emoji content
64
- const match = line.match(/^- (\d{2}:\d{2}) (😴|🍽️|🏃|😊|💼|🎮|🏥|📝) (.+)$/);
112
+ // 解析格式: - HH:MM emoji content (时长) 或 - HH:MM emoji content
113
+ const match = line.match(/^- (\d{2}:\d{2}) (😴|🍽️|🏃|😊|💼|🎮|🏥|📝) (.+?)(?: ((.+))?$/);
65
114
  if (match) {
66
- const [, time, emoji, content] = match;
115
+ const [, time, emoji, content, durationStr] = match;
67
116
  const typeMap = {
68
117
  "😴": "sleep",
69
118
  "🍽️": "meal",
@@ -74,12 +123,20 @@ async function parseLogActivities(logPath) {
74
123
  "🏥": "health",
75
124
  "📝": "custom",
76
125
  };
126
+ // 解析时长
127
+ let duration;
128
+ if (durationStr) {
129
+ duration = parseDuration(durationStr);
130
+ }
131
+ // 构造完整的时间戳
132
+ const timestamp = new Date(`${dateMatch}T${time}:00`).toISOString();
77
133
  activities.push({
78
- id: generateId(),
134
+ id: generateId(), // 解析时重新生成 ID
79
135
  type: typeMap[emoji] || "custom",
80
- content,
81
- timestamp: time,
82
- date: path.basename(logPath, ".md"),
136
+ content: content.trim(),
137
+ timestamp,
138
+ date: dateMatch,
139
+ duration,
83
140
  });
84
141
  }
85
142
  }
@@ -89,6 +146,20 @@ async function parseLogActivities(logPath) {
89
146
  return [];
90
147
  }
91
148
  }
149
+ // 解析时长字符串
150
+ function parseDuration(str) {
151
+ // 匹配 "X小时Y分钟" 或 "X小时" 或 "Y分钟"
152
+ const hourMatch = str.match(/(\d+)\s*小时/);
153
+ const minMatch = str.match(/(\d+)\s*分钟/);
154
+ let duration = 0;
155
+ if (hourMatch) {
156
+ duration += parseInt(hourMatch[1], 10) * 60;
157
+ }
158
+ if (minMatch) {
159
+ duration += parseInt(minMatch[1], 10);
160
+ }
161
+ return duration > 0 ? duration : undefined;
162
+ }
92
163
  // 追加活动到日志文件
93
164
  async function appendActivity(logDir, log) {
94
165
  await ensureDir(logDir);
@@ -102,17 +173,7 @@ async function appendActivity(logDir, log) {
102
173
  content = `# ${log.date}\n\n`;
103
174
  }
104
175
  // 确定添加到哪个 section
105
- const sections = {
106
- sleep: "## 睡眠\n",
107
- meal: "## 餐饮\n",
108
- exercise: "## 运动\n",
109
- mood: "## 心情\n",
110
- work: "## 工作\n",
111
- hobby: "## 休闲\n",
112
- health: "## 健康\n",
113
- custom: "## 其他\n",
114
- };
115
- const sectionHeader = sections[log.type];
176
+ const sectionHeader = `## ${TYPE_LABELS[log.type]}\n`;
116
177
  const activityLine = formatActivityMarkdown(log);
117
178
  // 检查是否已存在对应 section
118
179
  if (content.includes(sectionHeader)) {
@@ -134,6 +195,142 @@ async function appendActivity(logDir, log) {
134
195
  }
135
196
  await fs.writeFile(logPath, content, "utf-8");
136
197
  }
198
+ // 生成详细摘要
199
+ async function generateDetailedSummary(logDir, period) {
200
+ const now = new Date();
201
+ // 确定日期范围
202
+ const dates = [];
203
+ let startDate;
204
+ let periodDays;
205
+ switch (period) {
206
+ case "today":
207
+ dates.push(getTodayDate());
208
+ periodDays = 1;
209
+ break;
210
+ case "yesterday":
211
+ const yesterday = new Date(now.getTime() - 24 * 60 * 60 * 1000);
212
+ dates.push(yesterday.toISOString().slice(0, 10));
213
+ periodDays = 1;
214
+ break;
215
+ case "week":
216
+ periodDays = 7;
217
+ startDate = new Date(now.getTime() - 6 * 24 * 60 * 60 * 1000);
218
+ for (let i = 0; i < 7; i++) {
219
+ const d = new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000);
220
+ dates.push(d.toISOString().slice(0, 10));
221
+ }
222
+ break;
223
+ case "month":
224
+ periodDays = 30;
225
+ startDate = new Date(now.getTime() - 29 * 24 * 60 * 60 * 1000);
226
+ for (let i = 0; i < 30; i++) {
227
+ const d = new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000);
228
+ dates.push(d.toISOString().slice(0, 10));
229
+ }
230
+ break;
231
+ default:
232
+ periodDays = 1;
233
+ dates.push(getTodayDate());
234
+ }
235
+ // 收集所有活动
236
+ const allActivities = [];
237
+ for (const date of dates) {
238
+ const logPath = getLogFilePath(logDir, date);
239
+ const activities = await parseLogActivities(logPath);
240
+ allActivities.push(...activities);
241
+ }
242
+ // 按日期分组
243
+ const byDate = new Map();
244
+ for (const act of allActivities) {
245
+ if (!byDate.has(act.date)) {
246
+ byDate.set(act.date, []);
247
+ }
248
+ byDate.get(act.date).push(act);
249
+ }
250
+ // 按类型统计
251
+ const byType = {
252
+ sleep: { count: 0, totalDuration: 0 },
253
+ meal: { count: 0, totalDuration: 0 },
254
+ exercise: { count: 0, totalDuration: 0 },
255
+ mood: { count: 0, totalDuration: 0 },
256
+ work: { count: 0, totalDuration: 0 },
257
+ hobby: { count: 0, totalDuration: 0 },
258
+ health: { count: 0, totalDuration: 0 },
259
+ custom: { count: 0, totalDuration: 0 },
260
+ };
261
+ for (const act of allActivities) {
262
+ byType[act.type].count++;
263
+ if (act.duration) {
264
+ byType[act.type].totalDuration += act.duration;
265
+ }
266
+ }
267
+ // 生成摘要
268
+ const periodLabels = {
269
+ today: "今天",
270
+ yesterday: "昨天",
271
+ week: "最近一周",
272
+ month: "最近一个月",
273
+ };
274
+ let summary = `📊 **${periodLabels[period] || period} 统计摘要**\n\n`;
275
+ summary += `📅 统计周期:${dates[0]}${dates.length > 1 ? ` 至 ${dates[dates.length - 1]}` : ''}\n`;
276
+ summary += `📝 总记录数:${allActivities.length} 条\n`;
277
+ summary += `📆 有记录天数:${byDate.size} / ${periodDays} 天\n\n`;
278
+ summary += `---\n\n### 📈 分类统计\n\n`;
279
+ for (const [type, stats] of Object.entries(byType)) {
280
+ if (stats.count > 0) {
281
+ const emoji = TYPE_EMOJI[type];
282
+ const label = TYPE_LABELS[type];
283
+ summary += `${emoji} **${label}**:${stats.count} 次`;
284
+ if (stats.totalDuration > 0) {
285
+ summary += `,总计 ${formatDuration(stats.totalDuration)}`;
286
+ }
287
+ summary += `\n`;
288
+ }
289
+ }
290
+ // 运动专项统计
291
+ if (byType.exercise.count > 0) {
292
+ summary += `\n---\n\n### 🏃 运动详情\n\n`;
293
+ const exerciseActivities = allActivities.filter(a => a.type === "exercise");
294
+ for (const act of exerciseActivities.slice(-5)) {
295
+ const time = getTimeString(new Date(act.timestamp));
296
+ summary += `- ${act.date} ${time} ${act.content}`;
297
+ if (act.duration) {
298
+ summary += ` (${formatDuration(act.duration)})`;
299
+ }
300
+ summary += `\n`;
301
+ }
302
+ }
303
+ // 心情趋势
304
+ if (byType.mood.count > 0) {
305
+ summary += `\n---\n\n### 😊 心情记录\n\n`;
306
+ const moodActivities = allActivities.filter(a => a.type === "mood");
307
+ for (const act of moodActivities.slice(-5)) {
308
+ const time = getTimeString(new Date(act.timestamp));
309
+ summary += `- ${act.date} ${time} ${act.content}\n`;
310
+ }
311
+ }
312
+ // 健康习惯
313
+ if (byType.health.count > 0) {
314
+ summary += `\n---\n\n### 🏥 健康习惯\n\n`;
315
+ const healthActivities = allActivities.filter(a => a.type === "health");
316
+ for (const act of healthActivities.slice(-5)) {
317
+ const time = getTimeString(new Date(act.timestamp));
318
+ summary += `- ${act.date} ${time} ${act.content}\n`;
319
+ }
320
+ }
321
+ // 最近活动列表
322
+ summary += `\n---\n\n### 📋 最近活动\n\n`;
323
+ for (const act of allActivities.slice(-10).reverse()) {
324
+ const time = getTimeString(new Date(act.timestamp));
325
+ const emoji = TYPE_EMOJI[act.type];
326
+ summary += `- ${act.date} ${time} ${emoji} ${act.content}`;
327
+ if (act.duration) {
328
+ summary += ` (${formatDuration(act.duration)})`;
329
+ }
330
+ summary += `\n`;
331
+ }
332
+ return summary;
333
+ }
137
334
  // 活动类型 Schema
138
335
  const ActivityTypeSchema = Type.Union([
139
336
  Type.Literal("sleep"),
@@ -164,15 +361,16 @@ export default definePluginEntry({
164
361
  description: "自动记录每日活动,生成健康与生活日志报告",
165
362
  register(api) {
166
363
  const config = api.pluginConfig;
167
- // 记录活动工具
364
+ // ==================== 记录活动工具 ====================
168
365
  api.registerTool({
169
366
  name: "log_activity",
170
367
  label: "记录活动",
171
- description: "记录日常活动(睡眠、餐饮、运动、心情等)",
368
+ description: "记录日常活动(睡眠、餐饮、运动、心情等),可选记录活动时长",
172
369
  parameters: Type.Object({
173
370
  type: ActivityTypeSchema,
174
- content: Type.String(),
175
- timestamp: Type.Optional(Type.String()),
371
+ content: Type.String({ description: "活动内容描述" }),
372
+ timestamp: Type.Optional(Type.String({ description: "自定义时间戳 (ISO 格式)" })),
373
+ duration: Type.Optional(Type.Number({ description: "活动时长(分钟)" })),
176
374
  }),
177
375
  async execute(toolCallId, params) {
178
376
  try {
@@ -184,42 +382,110 @@ export default definePluginEntry({
184
382
  content: params.content,
185
383
  timestamp: params.timestamp || now.toISOString(),
186
384
  date: getTodayDate(),
385
+ duration: params.duration,
187
386
  };
188
387
  await appendActivity(logDir, log);
189
- const typeLabels = {
190
- sleep: "睡眠",
191
- meal: "餐饮",
192
- exercise: "运动",
193
- mood: "心情",
194
- work: "工作",
195
- hobby: "休闲",
196
- health: "健康",
197
- custom: "其他",
388
+ let responseText = `✅ 已记录 **${TYPE_LABELS[log.type]}**\n\n`;
389
+ responseText += `📝 ${log.content}\n`;
390
+ responseText += `⏰ ${getTimeString(now)}\n`;
391
+ responseText += `📅 ${log.date}`;
392
+ if (log.duration) {
393
+ responseText += `\n⏱️ 时长:${formatDuration(log.duration)}`;
394
+ }
395
+ return {
396
+ content: [{ type: "text", text: responseText }],
397
+ details: { id: log.id, type: log.type, date: log.date, duration: log.duration },
198
398
  };
399
+ }
400
+ catch (error) {
199
401
  return {
200
- content: [
201
- {
202
- type: "text",
203
- text: `✅ 已记录 ${typeLabels[log.type]}\n\n📝 ${log.content}\n时间: ${getTimeString(now)}\n日期: ${log.date}`,
204
- },
205
- ],
206
- details: { id: log.id, type: log.type, date: log.date },
402
+ content: [{ type: "text", text: `❌ 记录失败: ${error instanceof Error ? error.message : String(error)}` }],
403
+ details: { error: true },
404
+ };
405
+ }
406
+ },
407
+ }, { optional: true });
408
+ // ==================== 快速记录工具 ====================
409
+ api.registerTool({
410
+ name: "log_quick",
411
+ label: "快速记录",
412
+ description: "快速记录预设活动(如早起了、运动了、心情好等)",
413
+ parameters: Type.Object({
414
+ activity: Type.String({ description: "预设活动 ID(如 wake_up, exercise, happy 等)" }),
415
+ duration: Type.Optional(Type.Number({ description: "自定义时长(分钟)" })),
416
+ note: Type.Optional(Type.String({ description: "附加备注" })),
417
+ }),
418
+ async execute(toolCallId, params) {
419
+ try {
420
+ const logDir = getLogDir(config);
421
+ // 查找预设活动
422
+ const quickActivity = QUICK_ACTIVITIES.find(q => q.id === params.activity);
423
+ if (!quickActivity) {
424
+ const availableIds = QUICK_ACTIVITIES.map(q => q.id).join(", ");
425
+ return {
426
+ content: [{ type: "text", text: `❌ 未找到预设活动 "${params.activity}"\n\n可用预设:${availableIds}` }],
427
+ details: { error: true },
428
+ };
429
+ }
430
+ const now = new Date();
431
+ const content = params.note ? `${quickActivity.content} (${params.note})` : quickActivity.content;
432
+ const duration = params.duration ?? quickActivity.defaultDuration;
433
+ const log = {
434
+ id: generateId(),
435
+ type: quickActivity.type,
436
+ content,
437
+ timestamp: now.toISOString(),
438
+ date: getTodayDate(),
439
+ duration,
440
+ };
441
+ await appendActivity(logDir, log);
442
+ let responseText = `✅ 已记录 **${quickActivity.label}**\n\n`;
443
+ responseText += `📝 ${log.content}\n`;
444
+ responseText += `⏰ ${getTimeString(now)}\n`;
445
+ responseText += `📅 ${log.date}`;
446
+ if (log.duration) {
447
+ responseText += `\n⏱️ 时长:${formatDuration(log.duration)}`;
448
+ }
449
+ return {
450
+ content: [{ type: "text", text: responseText }],
451
+ details: { id: log.id, type: log.type, date: log.date, duration: log.duration },
207
452
  };
208
453
  }
209
454
  catch (error) {
210
455
  return {
211
- content: [
212
- {
213
- type: "text",
214
- text: `❌ 记录失败: ${error instanceof Error ? error.message : String(error)}`,
215
- },
216
- ],
456
+ content: [{ type: "text", text: `❌ 记录失败: ${error instanceof Error ? error.message : String(error)}` }],
217
457
  details: { error: true },
218
458
  };
219
459
  }
220
460
  },
221
461
  }, { optional: true });
222
- // 生成报告工具
462
+ // ==================== 详细摘要工具 ====================
463
+ api.registerTool({
464
+ name: "log_summary",
465
+ label: "详细摘要",
466
+ description: "生成详细的生活日志统计摘要,包含分类统计、运动详情、心情趋势等",
467
+ parameters: Type.Object({
468
+ period: Type.Optional(PeriodSchema),
469
+ }),
470
+ async execute(toolCallId, params) {
471
+ try {
472
+ const logDir = getLogDir(config);
473
+ const period = params.period || "today";
474
+ const summary = await generateDetailedSummary(logDir, period);
475
+ return {
476
+ content: [{ type: "text", text: summary }],
477
+ details: { period },
478
+ };
479
+ }
480
+ catch (error) {
481
+ return {
482
+ content: [{ type: "text", text: `❌ 生成摘要失败: ${error instanceof Error ? error.message : String(error)}` }],
483
+ details: { error: true },
484
+ };
485
+ }
486
+ },
487
+ }, { optional: true });
488
+ // ==================== 生成报告工具 ====================
223
489
  api.registerTool({
224
490
  name: "generate_report",
225
491
  label: "生成报告",
@@ -244,14 +510,14 @@ export default definePluginEntry({
244
510
  dates.push(yesterday.toISOString().slice(0, 10));
245
511
  break;
246
512
  case "week":
247
- startDate = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
513
+ startDate = new Date(now.getTime() - 6 * 24 * 60 * 60 * 1000);
248
514
  for (let i = 0; i < 7; i++) {
249
515
  const d = new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000);
250
516
  dates.push(d.toISOString().slice(0, 10));
251
517
  }
252
518
  break;
253
519
  case "month":
254
- startDate = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
520
+ startDate = new Date(now.getTime() - 29 * 24 * 60 * 60 * 1000);
255
521
  for (let i = 0; i < 30; i++) {
256
522
  const d = new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000);
257
523
  dates.push(d.toISOString().slice(0, 10));
@@ -271,14 +537,7 @@ export default definePluginEntry({
271
537
  : allActivities;
272
538
  // 统计
273
539
  const stats = {
274
- sleep: 0,
275
- meal: 0,
276
- exercise: 0,
277
- mood: 0,
278
- work: 0,
279
- hobby: 0,
280
- health: 0,
281
- custom: 0,
540
+ sleep: 0, meal: 0, exercise: 0, mood: 0, work: 0, hobby: 0, health: 0, custom: 0,
282
541
  };
283
542
  for (const act of filtered) {
284
543
  stats[act.type]++;
@@ -289,76 +548,68 @@ export default definePluginEntry({
289
548
  week: "最近一周",
290
549
  month: "最近一个月",
291
550
  };
292
- const typeLabels = {
293
- sleep: "睡眠",
294
- meal: "餐饮",
295
- exercise: "运动",
296
- mood: "心情",
297
- work: "工作",
298
- hobby: "休闲",
299
- health: "健康",
300
- custom: "其他",
301
- };
302
551
  if (filtered.length === 0) {
303
552
  return {
304
- content: [
305
- {
306
- type: "text",
307
- text: `📊 ${periodLabels[params.period]} 报告\n\n暂无活动记录`,
308
- },
309
- ],
553
+ content: [{ type: "text", text: `📊 ${periodLabels[params.period]} 报告\n\n暂无活动记录` }],
310
554
  details: { stats, count: 0 },
311
555
  };
312
556
  }
313
557
  // 构建报告内容
314
558
  const statsText = Object.entries(stats)
315
559
  .filter(([, count]) => count > 0)
316
- .map(([type, count]) => `- ${typeLabels[type]}: ${count} 条`)
560
+ .map(([type, count]) => `- ${TYPE_EMOJI[type]} ${TYPE_LABELS[type]}: ${count} 条`)
317
561
  .join("\n");
318
562
  // 最近的活动
319
563
  const recentText = filtered
320
- .slice(0, 15)
321
- .map((act, i) => `${i + 1}. ${act.date} ${getTimeString(new Date(act.timestamp))} ${act.content}`)
564
+ .slice(-10)
565
+ .reverse()
566
+ .map((act, i) => {
567
+ const time = getTimeString(new Date(act.timestamp));
568
+ const emoji = TYPE_EMOJI[act.type];
569
+ return `${i + 1}. ${act.date} ${time} ${emoji} ${act.content}`;
570
+ })
322
571
  .join("\n");
323
572
  return {
324
- content: [
325
- {
573
+ content: [{
326
574
  type: "text",
327
575
  text: `📊 ${periodLabels[params.period]} 报告\n\n共 ${filtered.length} 条活动记录\n\n统计:\n${statsText}\n\n最近活动:\n${recentText}`,
328
- },
329
- ],
576
+ }],
330
577
  details: { stats, count: filtered.length },
331
578
  };
332
579
  }
333
580
  catch (error) {
334
581
  return {
335
- content: [
336
- {
337
- type: "text",
338
- text: `❌ 生成报告失败: ${error instanceof Error ? error.message : String(error)}`,
339
- },
340
- ],
582
+ content: [{ type: "text", text: `❌ 生成报告失败: ${error instanceof Error ? error.message : String(error)}` }],
341
583
  details: { error: true },
342
584
  };
343
585
  }
344
586
  },
345
587
  }, { optional: true });
346
- // 搜索日志工具
588
+ // ==================== 搜索日志工具 ====================
347
589
  api.registerTool({
348
590
  name: "search_logs",
349
591
  label: "搜索日志",
350
592
  description: "搜索历史活动日志",
351
593
  parameters: Type.Object({
352
- query: Type.String(),
594
+ query: Type.String({ description: "搜索关键词" }),
353
595
  type: Type.Optional(ActivityTypeSchema),
354
- limit: Type.Optional(Type.Number()),
596
+ limit: Type.Optional(Type.Number({ description: "返回结果数量限制" })),
355
597
  }),
356
598
  async execute(toolCallId, params) {
357
599
  try {
358
600
  const logDir = getLogDir(config);
359
601
  const limit = params.limit || 20;
360
602
  // 获取所有日志文件
361
- const files = await fs.readdir(logDir);
603
+ let files;
604
+ try {
605
+ files = await fs.readdir(logDir);
606
+ }
607
+ catch {
608
+ return {
609
+ content: [{ type: "text", text: `🔍 未找到活动记录\n\n日志目录: ${logDir}` }],
610
+ details: { count: 0 },
611
+ };
612
+ }
362
613
  const logFiles = files.filter(f => f.endsWith(".md")).sort().reverse();
363
614
  const results = [];
364
615
  const queryLower = params.query.toLowerCase();
@@ -379,42 +630,31 @@ export default definePluginEntry({
379
630
  }
380
631
  if (results.length === 0) {
381
632
  return {
382
- content: [
383
- {
384
- type: "text",
385
- text: `🔍 未找到匹配的活动\n\n搜索: "${params.query}"`,
386
- },
387
- ],
633
+ content: [{ type: "text", text: `🔍 未找到匹配的活动\n\n搜索: "${params.query}"` }],
388
634
  details: { count: 0 },
389
635
  };
390
636
  }
391
637
  const resultText = results
392
- .map((act, i) => `${i + 1}. ${act.date} ${getTimeString(new Date(act.timestamp))} ${act.content}`)
638
+ .map((act, i) => {
639
+ const time = getTimeString(new Date(act.timestamp));
640
+ const emoji = TYPE_EMOJI[act.type];
641
+ return `${i + 1}. ${act.date} ${time} ${emoji} ${act.content}`;
642
+ })
393
643
  .join("\n");
394
644
  return {
395
- content: [
396
- {
397
- type: "text",
398
- text: `🔍 找到 ${results.length} 条活动\n\n${resultText}`,
399
- },
400
- ],
645
+ content: [{ type: "text", text: `🔍 找到 ${results.length} 条活动\n\n${resultText}` }],
401
646
  details: { count: results.length, results },
402
647
  };
403
648
  }
404
649
  catch (error) {
405
650
  return {
406
- content: [
407
- {
408
- type: "text",
409
- text: `❌ 搜索失败: ${error instanceof Error ? error.message : String(error)}`,
410
- },
411
- ],
651
+ content: [{ type: "text", text: `❌ 搜索失败: ${error instanceof Error ? error.message : String(error)}` }],
412
652
  details: { error: true },
413
653
  };
414
654
  }
415
655
  },
416
656
  }, { optional: true });
417
- // 导出日志工具
657
+ // ==================== 导出日志工具 ====================
418
658
  api.registerTool({
419
659
  name: "export_logs",
420
660
  label: "导出日志",
@@ -439,14 +679,14 @@ export default definePluginEntry({
439
679
  dates.push(yesterday.toISOString().slice(0, 10));
440
680
  break;
441
681
  case "week":
442
- const startDate = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
682
+ const startDate = new Date(now.getTime() - 6 * 24 * 60 * 60 * 1000);
443
683
  for (let i = 0; i < 7; i++) {
444
684
  const d = new Date(startDate.getTime() + i * 24 * 60 * 60 * 1000);
445
685
  dates.push(d.toISOString().slice(0, 10));
446
686
  }
447
687
  break;
448
688
  case "month":
449
- const startMonth = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
689
+ const startMonth = new Date(now.getTime() - 29 * 24 * 60 * 60 * 1000);
450
690
  for (let i = 0; i < 30; i++) {
451
691
  const d = new Date(startMonth.getTime() + i * 24 * 60 * 60 * 1000);
452
692
  dates.push(d.toISOString().slice(0, 10));
@@ -462,9 +702,7 @@ export default definePluginEntry({
462
702
  }
463
703
  if (allActivities.length === 0) {
464
704
  return {
465
- content: [
466
- { type: "text", text: "📭 无活动记录,无法导出" },
467
- ],
705
+ content: [{ type: "text", text: "📭 无活动记录,无法导出" }],
468
706
  details: { count: 0 },
469
707
  };
470
708
  }
@@ -476,12 +714,14 @@ export default definePluginEntry({
476
714
  }
477
715
  else {
478
716
  // Markdown 格式导出所有日志文件内容
479
- let mdContent = "# 日志导出\n\n";
717
+ let mdContent = `# 日志导出\n\n导出时间: ${now.toISOString()}\n日期范围: ${dates[0]} 至 ${dates[dates.length - 1]}\n\n---\n\n`;
480
718
  for (const date of dates) {
481
719
  const logPath = getLogFilePath(logDir, date);
482
720
  try {
483
721
  const content = await fs.readFile(logPath, "utf-8");
484
- mdContent += content + "\n\n---\n\n";
722
+ if (content.trim()) {
723
+ mdContent += content + "\n\n---\n\n";
724
+ }
485
725
  }
486
726
  catch {
487
727
  // 文件不存在
@@ -490,28 +730,57 @@ export default definePluginEntry({
490
730
  await fs.writeFile(exportPath, mdContent, "utf-8");
491
731
  }
492
732
  return {
493
- content: [
494
- {
733
+ content: [{
495
734
  type: "text",
496
735
  text: `✅ 导出完成\n\n共 ${allActivities.length} 条活动\n格式: ${params.format}\n路径: ${exportPath}`,
497
- },
498
- ],
736
+ }],
499
737
  details: { count: allActivities.length, exportPath },
500
738
  };
501
739
  }
502
740
  catch (error) {
503
741
  return {
504
- content: [
505
- {
506
- type: "text",
507
- text: `❌ 导出失败: ${error instanceof Error ? error.message : String(error)}`,
508
- },
509
- ],
742
+ content: [{ type: "text", text: `❌ 导出失败: ${error instanceof Error ? error.message : String(error)}` }],
510
743
  details: { error: true },
511
744
  };
512
745
  }
513
746
  },
514
747
  }, { optional: true });
748
+ // ==================== 列出预设活动工具 ====================
749
+ api.registerTool({
750
+ name: "log_quick_list",
751
+ label: "列出预设活动",
752
+ description: "列出所有可用的快速记录预设活动",
753
+ parameters: Type.Object({}),
754
+ async execute(toolCallId, params) {
755
+ const typeGroups = {
756
+ sleep: [], meal: [], exercise: [], mood: [], work: [], hobby: [], health: [], custom: [],
757
+ };
758
+ for (const qa of QUICK_ACTIVITIES) {
759
+ typeGroups[qa.type].push(qa);
760
+ }
761
+ let text = "📋 **快速记录预设活动**\n\n";
762
+ for (const [type, activities] of Object.entries(typeGroups)) {
763
+ if (activities.length > 0) {
764
+ const emoji = TYPE_EMOJI[type];
765
+ const label = TYPE_LABELS[type];
766
+ text += `### ${emoji} ${label}\n`;
767
+ for (const qa of activities) {
768
+ text += `- \`log_quick(activity="${qa.id}")\` — ${qa.label}`;
769
+ if (qa.defaultDuration) {
770
+ text += ` (默认 ${formatDuration(qa.defaultDuration)})`;
771
+ }
772
+ text += `\n`;
773
+ }
774
+ text += `\n`;
775
+ }
776
+ }
777
+ text += `💡 使用示例: \`log_quick(activity="exercise", duration=45)\``;
778
+ return {
779
+ content: [{ type: "text", text }],
780
+ details: { count: QUICK_ACTIVITIES.length },
781
+ };
782
+ },
783
+ }, { optional: true });
515
784
  },
516
785
  });
517
786
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zsc-glitch/daily-logger",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "description": "自动记录每日活动,生成健康与生活日志报告",
6
6
  "main": "dist/index.js",