Files
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

446 lines
14 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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()