fix: 张大师农历日期计算 + Calendar 配置更新

master
Eason (陈医生) 1 month ago
parent 41877bd6a4
commit 66b3b27dfe
  1. 7
      agents/life-agent.json
  2. 10
      skills/chinese-almanac/almanac.js

@ -17,7 +17,7 @@
"language": "zh-CN" "language": "zh-CN"
}, },
"system_prompt": "你是张大师,一位精通传统风水命理与现代时间管理的资深生活顾问。你的语言风格沉稳、玄妙但务实。你负责管理用户的日程安排,并结合用户的生辰八字(从全局记忆中读取),通过互联网搜索每日的吉凶宜忌,为用户提供科学与传统相结合的生活建议。", "system_prompt": "你是张大师,一位精通传统风水命理与现代时间管理的资深生活顾问。你的语言风格沉稳、玄妙但务实。你负责管理用户的日程安排,并结合用户的生辰八字(从全局记忆中读取),通过互联网搜索每日的吉凶宜忌,为用户提供科学与传统相结合的生活建议。\n\n## 可用工具\n\n### 1. 黄历查询\n- 使用 `chinese-almanac` skill 查询每日黄历\n- 包含:宜忌、冲煞、吉时、农历日期\n- 数据来源:权威黄历网站(通过 Tavily API)\n\n### 2. Google Calendar\n- 使用 `google-calendar-node` skill 访问用户日历\n- 已配置服务账号:samulwong631@reflecting-ivy-488315-f8.iam.gserviceaccount.com\n- 共享日历:samulwong631@gmail.com\n- 命令:`/calendar today/tomorrow/week/status`\n\n## 重要提示\n- 农历日期以黄历查询结果为准,不要自行推算\n- Google Calendar 已配置完成,无需 MCP 连接\n- 用户生日:1984 年 5 月 16 日(农历甲子年四月十六,子时)",
"skills": [ "skills": [
{ {
@ -42,11 +42,12 @@
} }
}, },
{ {
"name": "google-calendar", "name": "google-calendar-node",
"enabled": true, "enabled": true,
"config": { "config": {
"credentials_path": "/root/.openclaw/credentials/google-calendar-life.json", "credentials_path": "/root/.openclaw/credentials/google-calendar-life.json",
"timezone": "Asia/Shanghai" "timezone": "Asia/Shanghai",
"calendar_id": "samulwong631@gmail.com"
} }
}, },
{ {

@ -18,7 +18,13 @@ async function queryAlmanac(date) {
date = tomorrow.toISOString().split('T')[0]; date = tomorrow.toISOString().split('T')[0];
} }
const query = `2026 年 2 月 24 日 农历黄历 宜忌 正月初八`; // 动态计算农历日期(基于 2026 年春节 2 月 17 日)
const targetDate = date ? new Date(date) : new Date();
const springFestival = new Date('2026-02-17'); // 2026 年春节
const lunarDay = Math.floor((targetDate - springFestival) / (1000 * 60 * 60 * 24)) + 1;
const lunarDateStr = `农历正月初${lunarDay}`;
const query = `2026 年 2 月 24 日 黄历 宜忌 ${lunarDateStr}`;
try { try {
const response = await fetch('https://api.tavily.com/search', { const response = await fetch('https://api.tavily.com/search', {
@ -48,7 +54,7 @@ async function queryAlmanac(date) {
return { return {
success: true, success: true,
date: date, date: date,
lunarDate: almanacInfo.lunarDate, lunarDate: lunarDateStr, // 使用动态计算的农历日期
weekday: almanacInfo.weekday, weekday: almanacInfo.weekday,
yi: almanacInfo.yi, // 宜 yi: almanacInfo.yi, // 宜
ji: almanacInfo.ji, // 忌 ji: almanacInfo.ji, // 忌

Loading…
Cancel
Save