cognitive_feeds.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import feedparser
  2. from obsidian_tools import ObsidianClient
  3. class CognitiveFeeder:
  4. def __init__(self):
  5. self.sources = {
  6. 'arxiv': 'http://export.arxiv.org/rss/cs.AI',
  7. 'nature': 'https://www.nature.com/nature.rss'
  8. }
  9. self.obsidian = ObsidianClient(vault_path="CognitiveOS")
  10. def process_feed(self):
  11. for name, url in self.sources.items():
  12. feed = feedparser.parse(url)
  13. for entry in feed.entries:
  14. content = f"""---
  15. tags: [feed/{name}]
  16. confidence: {self.calculate_confidence(entry)}
  17. ---
  18. # {entry.title}
  19. **核心论点提取**
  20. {self.extract_thesis(entry.summary)}
  21. [[认知验证模板]]"""
  22. self.obsidian.create_note(
  23. path=f"01_DataFeeds/{name}/{entry.id}.md",
  24. content=content
  25. )
  26. def calculate_confidence(self, entry):
  27. # 暂时返回固定值,后续实现完整逻辑
  28. return 0.85
  29. @staticmethod
  30. def extract_thesis(text):
  31. # 占位函数,后续集成NLP处理
  32. return text[:200] + "..."
  33. if __name__ == "__main__":
  34. feeder = CognitiveFeeder()
  35. feeder.process_feed()