#!/usr/bin/env python3 """ 完整集成测试 测试oh-my-writing-skill与IT资讯系统的集成效果 """ import os import sys import json import tempfile from pathlib import Path # 添加路径 sys.path.append('/home/ubuntu/.nanobot/workspace/skills/xiaohongshu_integration') def test_oh_my_writing_converter(): """测试oh-my-writing-skill转换器""" print("🧪 测试oh-my-writing-skill转换器...") try: from oh_my_writing_converter import OhMyWritingConverter # 测试文章 test_content = """# Elasticsearch 9.3.0 发布,增强AI工具和OTel支持 Elastic公司近日发布了Elasticsearch 9.3.0版本,这是其开源搜索和分析引擎的最新更新。 ## 主要新功能 ### 1. AI工具增强 - 新的向量搜索功能,支持更精确的语义搜索 - 改进的机器学习模型集成 - 增强的异常检测算法 ### 2. OpenTelemetry支持 - 原生OTel数据收集 - 改进的分布式追踪 - 更好的可观测性集成 ### 3. 性能优化 - 查询速度提升30% - 内存使用减少20% - 索引压缩率提高15% ## 技术细节 基于Lucene 9.10.0构建,支持JDK 21,兼容Kubernetes 1.28,新增多个REST API端点。 ## 应用场景 - 企业搜索 - 日志分析 - 安全监控 - 业务智能 Elastic 9.3.0现已提供下载,企业用户可以通过Elastic Cloud立即使用。""" converter = OhMyWritingConverter() result = converter.convert_to_xiaohongshu(test_content, "Elasticsearch 9.3.0 发布") print(f"✅ 转换成功") print(f" 优化标题: {result.title}") print(f" 内容长度: {len(result.content)} 字符") print(f" 生成标签: {result.tags}") print(f" 封面建议: {len(result.cover_suggestions)} 条") # 显示部分内容 print("\n📝 转换后的内容(前200字符):") print("-" * 60) print(result.content[:200] + "...") print("-" * 60) return True except Exception as e: print(f"❌ 转换器测试失败: {e}") return False def test_humanizer_cn(): """测试中文去AI化""" print("\n🧪 测试中文去AI化...") try: from humanizer_cn import HumanizerCN # AI痕迹明显的文本 ai_text = """该软件的发布标志着人工智能领域的一个重要里程碑,彰显了公司在技术创新方面的不懈追求。此外,值得一提的是,该产品具有高性能、低功耗、易扩展三大优势。业内专家普遍认为,这将对整个行业产生深远影响。尽管面临诸多挑战,但我们有理由相信,未来可期。""" humanizer = HumanizerCN() result = humanizer.analyze_and_humanize(ai_text) print(f"✅ 去AI化成功") print(f" 检测到AI模式: {result['detection']['total_patterns']} 处") print(f" 原文长度: {result['stats']['original_length']} 字符") print(f" 处理后长度: {result['stats']['humanized_length']} 字符") print(f" 长度变化: {result['stats']['length_change_percent']}%") # 显示处理后的文本 print("\n📝 处理后的文本:") print("-" * 60) print(result['humanized_text']) print("-" * 60) return True except Exception as e: print(f"❌ 去AI化测试失败: {e}") return False def test_content_converter_integration(): """测试内容转换器集成""" print("\n🧪 测试内容转换器集成...") try: from content_converter import ContentConverter, Article # 创建测试文章 article = Article( title="微软发布Windows 12预览版,全面集成AI助手", content="""微软近日向开发者发布了Windows 12的早期预览版本,这是其操作系统的重要更新。 核心特性: 1. AI助手深度集成 - Copilot成为系统级助手 - 智能文件管理 - 自动化工作流 2. 性能大幅提升 - 启动速度加快40% - 内存管理优化 - 电池续航延长 3. 安全增强 - 新的AI威胁检测 - 硬件级安全芯片支持 - 零信任架构 4. 开发者工具 - 新的AI开发框架 - 改进的WSL 3.0 - 云原生开发支持 技术亮点: - 基于AI的界面自适应 - 跨设备无缝同步 - 新的应用商店 - 改进的游戏模式 发布时间表: • 2026年Q2:开发者预览 • 2026年Q3:公开测试 • 2026年Q4:正式发布 Windows 12将免费提供给Windows 10/11用户升级。""", source="WIRED", url="https://www.wired.com/story/windows-12-preview", images=["windows12_ui.jpg", "ai_demo.png"], publish_date="2026-03-14", author="科技记者", category="操作系统" ) converter = ContentConverter() result = converter.to_xiaohongshu(article) print(f"✅ 集成转换成功") print(f" 内容长度: {len(result)} 字符") # 检查是否使用了oh-my-writing-skill if "姐妹们" in result or "家人们" in result or "朋友们" in result: print(f" ✅ 检测到oh-my-writing-skill风格") else: print(f" ⚠️ 未检测到oh-my-writing-skill风格,可能使用了基础转换") # 显示部分内容 print("\n📝 转换后的内容(前300字符):") print("-" * 60) print(result[:300] + "...") print("-" * 60) return True except Exception as e: print(f"❌ 内容转换器测试失败: {e}") return False def test_xiaohongshu_publisher_integration(): """测试小红书发布器集成""" print("\n🧪 测试小红书发布器集成...") try: from xiaohongshu_publisher import XiaohongshuPublisher # 测试文章数据 article_data = { 'title': 'AI写作工具对比评测', 'content': '本文对比了几款主流的AI写作工具,包括Claude、ChatGPT和Notion AI。', 'source': 'TechReview', 'tags': ['AI', '写作工具', '效率提升'] } publisher = XiaohongshuPublisher() # 测试格式转换 formatted = publisher._format_xiaohongshu_content( article_data['title'], article_data['content'], article_data['source'], article_data['tags'] ) print(f"✅ 发布器格式转换成功") print(f" 内容长度: {len(formatted)} 字符") # 检查是否使用了oh-my-writing-skill if "姐妹们" in formatted or "家人们" in formatted or "朋友们" in formatted: print(f" ✅ 检测到oh-my-writing-skill风格") else: print(f" ⚠️ 未检测到oh-my-writing-skill风格") # 显示部分内容 print("\n📝 格式化后的内容(前200字符):") print("-" * 60) print(formatted[:200] + "...") print("-" * 60) return True except Exception as e: print(f"❌ 发布器测试失败: {e}") return False def test_it_system_integration(): """测试IT系统集成""" print("\n🧪 测试IT系统集成...") # 检查配置文件 config_file = "/home/ubuntu/.nanobot/workspace/skills/xiaohongshu_integration/oh_my_writing_config.json" if os.path.exists(config_file): with open(config_file, 'r', encoding='utf-8') as f: config = json.load(f) print(f"✅ 集成配置文件存在") print(f" 启用状态: {config['oh_my_writing_integration']['enabled']}") print(f" 集成日期: {config['oh_my_writing_integration']['integration_date']}") integrated_skills = config['oh_my_writing_integration']['integrated_skills'] print(f" 已集成技能: {len(integrated_skills)} 个") for skill in integrated_skills: print(f" • {skill['name']} ({skill['id']})") return True else: print(f"❌ 集成配置文件不存在: {config_file}") return False def test_scheduler_integration(): """测试调度脚本集成""" print("\n🧪 测试调度脚本集成...") scheduler_file = "/home/ubuntu/.nanobot/workspace/InformationCrawler/main_scheduler_with_xhs.sh" if os.path.exists(scheduler_file): with open(scheduler_file, 'r', encoding='utf-8') as f: content = f.read() # 检查是否集成了oh-my-writing-skill if 'oh-my-writing-skill' in content or 'oh_my_writing' in content: print(f"✅ 调度脚本已集成oh-my-writing-skill") # 提取相关部分 lines = content.split('\n') for i, line in enumerate(lines): if 'oh-my-writing-skill' in line or 'oh_my_writing' in line: print(f" 第{i+1}行: {line.strip()}") return True else: print(f"❌ 调度脚本未集成oh-my-writing-skill") return False else: print(f"❌ 调度脚本不存在: {scheduler_file}") return False def create_integration_summary(): """创建集成总结""" print("\n" + "=" * 80) print("🎯 oh-my-writing-skill 集成总结") print("=" * 80) summary = { 'oh_my_writing_converter': test_oh_my_writing_converter(), 'humanizer_cn': test_humanizer_cn(), 'content_converter_integration': test_content_converter_integration(), 'xiaohongshu_publisher_integration': test_xiaohongshu_publisher_integration(), 'it_system_integration': test_it_system_integration(), 'scheduler_integration': test_scheduler_integration() } print("\n📊 集成测试结果:") print("-" * 40) success_count = 0 total_count = len(summary) for test_name, result in summary.items(): status = "✅" if result else "❌" if result: success_count += 1 print(f"{status} {test_name}") print(f"\n🎯 总体成功率: {success_count}/{total_count} ({success_count/total_count*100:.1f}%)") if success_count == total_count: print("\n🎉 所有测试通过!oh-my-writing-skill已完全集成!") elif success_count >= total_count * 0.7: print(f"\n⚠️ 大部分测试通过 ({success_count}/{total_count}),部分功能需要检查") else: print(f"\n❌ 集成存在问题,只有 {success_count}/{total_count} 个测试通过") # 建议 print("\n💡 建议:") if not summary['scheduler_integration']: print("1. 检查调度脚本集成,确保oh-my-writing-skill优化步骤已添加") if not summary['content_converter_integration']: print("2. 检查content_converter.py的集成代码") if not summary['humanizer_cn']: print("3. 检查humanizer_cn.py的实现") print("\n🚀 明天16:00,IT资讯系统将自动:") print(" 1. 抓取最新IT资讯") print(" 2. 使用oh-my-writing-skill优化内容") print(" 3. 去AI化处理,让文章更自然") print(" 4. 转换为小红书风格格式") print(" 5. 发布到小红书") print(" 6. 发送邮件到QQ邮箱") print("\n" + "=" * 80) def main(): """主函数""" print("🚀 oh-my-writing-skill 完整集成测试") print("=" * 80) # 检查技能目录 skill_dir = "/home/ubuntu/oh-my-writing-skill" if not os.path.exists(skill_dir): print(f"❌ oh-my-writing-skill目录不存在: {skill_dir}") print("请确保已下载技能到该目录") return print(f"✅ oh-my-writing-skill目录存在: {skill_dir}") # 执行测试 create_integration_summary() # 生成测试报告 report_file = "/home/ubuntu/.nanobot/workspace/skills/xiaohongshu_integration/integration_test_report.md" report = f"""# oh-my-writing-skill 集成测试报告 ## 测试时间 {os.popen('date').read().strip()} ## 测试环境 - 系统: {os.popen('uname -a').read().strip()} - Python: {os.popen('python3 --version').read().strip()} - 技能目录: {skill_dir} - 集成目录: /home/ubuntu/.nanobot/workspace/skills/xiaohongshu_integration ## 测试结果 ### 1. oh-my-writing-skill转换器 - 状态: {'✅ 通过' if test_oh_my_writing_converter() else '❌ 失败'} - 功能: 将通用文章转换为小红书格式 ### 2. 中文去AI化 - 状态: {'✅ 通过' if test_humanizer_cn() else '❌ 失败'} - 功能: 消除AI写作痕迹,让文章更自然 ### 3. 内容转换器集成 - 状态: {'✅ 通过' if test_content_converter_integration() else '❌ 失败'} - 功能: 自动选择最佳转换方式 ### 4. 小红书发布器集成 - 状态: {'✅ 通过' if test_xiaohongshu_publisher_integration() else '❌ 失败'} - 功能: 集成oh-my-writing-skill风格 ### 5. IT系统集成 - 状态: {'✅ 通过' if test_it_system_integration() else '❌ 失败'} - 功能: 配置文件集成 ### 6. 调度脚本集成 - 状态: {'✅ 通过' if test_scheduler_integration() else '❌ 失败'} - 功能: 自动化流程集成 ## 总体评估 集成完成度: {'高' if sum([test_oh_my_writing_converter(), test_humanizer_cn(), test_content_converter_integration(), test_xiaohongshu_publisher_integration(), test_it_system_integration(), test_scheduler_integration()]) >= 5 else '中'} ## 使用方式 ### 手动测试 ```bash # 测试转换器 cd /home/ubuntu/.nanobot/workspace/skills/xiaohongshu_integration python3 oh_my_writing_converter.py test # 测试去AI化 python3 humanizer_cn.py test # 测试集成 python3 test_full_integration.py ``` ### 自动运行 系统已配置为每天16:00自动运行,包含: 1. IT资讯抓取 2. oh-my-writing-skill优化 3. 小红书发布 4. 邮件发送 ## 注意事项 1. 确保Cookie有效,否则小红书发布会失败 2. 网络连接正常,确保能访问目标网站 3. 定期检查日志文件,监控系统运行状态 ## 后续优化建议 1. 集成更多oh-my-writing-skill技能(如深度研究、图片搜索) 2. 添加更多内容来源网站 3. 优化图片生成算法 4. 添加更多数据分析功能 """ with open(report_file, 'w', encoding='utf-8') as f: f.write(report) print(f"📋 测试报告已保存: {report_file}") if __name__ == "__main__": main()