diff --git a/scripts/bot-activity.mjs b/scripts/bot-activity.mjs index 1c6144d..eda80d8 100644 --- a/scripts/bot-activity.mjs +++ b/scripts/bot-activity.mjs @@ -197,7 +197,7 @@ function buildPasserbyTopicPrompt(bot, forumName, forumDescription, newsItems) { const p = bot.personality; const newsText = newsItems.length > 0 ? newsItems.map((n, i) => `${i + 1}. [${n.pubDate || "近期"}] ${n.title}`).join("\n") - : "(当前无实时新闻,请根据你的角色知识和行业常识,提出一个结合当前季节/月份/年份背景的时效性强的话题。注意话题中必须体现当前时间背景,不能看起来像旧帖子)"; + : `(搜索不到实时新闻,请充分利用DeepSeek知识库中截至2025年6月的最新行业信息。今天是${today},你必须让话题看起来像是今天或最近几天发生的。可以提及:今年发生的重大事件、近几个月出台的新政策、当前季节性的行业趋势、最近热门的讨论。在你的发言中自然地加入时间锚点,比如"上个月刚出来的…"、"最近大家都在说…"、"这个月的数据显示…"等,让读者第一眼就感受到这是当前的话题而不是老帖)`; const today = new Date().toLocaleDateString("zh-CN", { year: "numeric", month: "long", day: "numeric" }); const passerbyType = p.passerbyType || "observer"; diff --git a/scripts/install-cron.sh b/scripts/install-cron.sh index c857a81..e132086 100644 --- a/scripts/install-cron.sh +++ b/scripts/install-cron.sh @@ -14,10 +14,8 @@ echo "✅ 日志目录已创建: $PROJECT_DIR/logs/" chmod +x "$PROJECT_DIR/scripts/cron-wrapper.sh" echo "✅ cron-wrapper.sh 已加执行权限" -# 写入 crontab -crontab -l 2>/dev/null | grep -v "zhuiguang" > /tmp/cron-temp 2>/dev/null || true - -cat >> /tmp/cron-temp << 'CRONEOF' +# 直接写入crontab(覆盖模式) +cat > /tmp/cron-temp << 'CRONEOF' # ========== 追光AI 定时任务 ========== # 使用 cron-wrapper.sh 统一入口(自动加载 .env) @@ -44,6 +42,9 @@ PROJECT="/home/ubuntu/zhuiguang-ai" # 每天早上8:00 新闻推送到社区版块 0 8 * * * bash $WRAPPER task7 $PROJECT/scripts/task7-news-to-community.mjs + +# 数字人bot活动引擎(每整点运行,9:00-23:00共15轮/天,每轮3帖) +0 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * bash $WRAPPER bot-activity $PROJECT/scripts/bot-activity.mjs CRONEOF crontab /tmp/cron-temp @@ -64,4 +65,5 @@ echo " 05:00 - Task4 发现AI技能" echo " 06:00 - Task1 发现AI工具" echo " 07:30 - 生成AI日报" echo " 08:00 - Task7 新闻→社区" +echo " 09-23 - 数字人bot活动引擎(每小时1轮)" echo "========================================" \ No newline at end of file diff --git a/scripts/task7-news-to-community.mjs b/scripts/task7-news-to-community.mjs index 3226d4c..48489c4 100644 --- a/scripts/task7-news-to-community.mjs +++ b/scripts/task7-news-to-community.mjs @@ -27,18 +27,18 @@ function ensureUniqueSlug(title) { } const CATEGORY_MAP = { - "产品发布": "ai-tools", - "product": "ai-tools", - "融资投资": "ai-news", - "business": "ai-news", - "技术突破": "tech", - "model": "tech", - "政策法规": "ai-news", - "policy": "ai-news", - "开源项目": "tech", - "opensource": "tech", - "行业事件": "ai-news", - "insight": "discuss", + "产品发布": "ai-tools-app", + "product": "ai-tools-app", + "融资投资": "ai-startup-forum", + "business": "ai-startup-forum", + "技术突破": "ai-llm", + "model": "ai-llm", + "政策法规": "ai-startup-forum", + "policy": "ai-startup-forum", + "开源项目": "ai-llm", + "opensource": "ai-llm", + "行业事件": "ai-startup-forum", + "insight": "ai-startup-forum", }; async function main() { @@ -89,7 +89,7 @@ async function main() { const forumCategories = await prisma.forumCategory.findMany({ where: { - slug: { in: ["ai-tools", "ai-news", "tech", "discuss"] }, + slug: { in: ["ai-tools-app", "ai-startup-forum", "ai-llm"] }, }, }); const categoryBySlug = {}; @@ -98,7 +98,7 @@ async function main() { } console.log(`${ts()} 📂 已加载${forumCategories.length}个社区板块: ${Object.keys(categoryBySlug).join(", ")}`); - const requiredSlugs = ["ai-tools", "ai-news", "tech", "discuss"]; + const requiredSlugs = ["ai-tools-app", "ai-startup-forum", "ai-llm"]; for (const slug of requiredSlugs) { if (!categoryBySlug[slug]) { throw new Error(`社区板块不存在: ${slug},请先在管理后台创建社区分类`);