fix: 复制 obsidian-kb 的 src 目录以解决依赖缺失

This commit is contained in:
OpenClaw Agent
2026-02-10 17:34:54 +08:00
parent 11f6c21740
commit f66a50cd3f
38 changed files with 9202 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
"""
Source Adapter 抽象基类
"""
from abc import ABC, abstractmethod
from datetime import datetime
from typing import List, Optional
from models import Content
class SourceAdapter(ABC):
"""内容源适配器基类"""
@abstractmethod
def fetch_new(self, since: datetime, **kwargs) -> List[Content]:
"""
获取新内容
Args:
since: 起始时间,只获取该时间之后的内容
**kwargs: 额外的参数
Returns:
List[Content]: 新内容列表
"""
pass
@abstractmethod
def extract_content(self, url: str, **kwargs) -> Optional[Content]:
"""
从URL提取内容
Args:
url: 内容URL
**kwargs: 额外的参数
Returns:
Optional[Content]: 内容对象,如果提取失败返回None
"""
pass
@abstractmethod
def get_transcript(self, content: Content, **kwargs) -> Optional[str]:
"""
获取字幕/文本
Args:
content: 内容对象
**kwargs: 额外的参数
Returns:
Optional[str]: 字幕文本(SRT格式),如果没有字幕返回None
"""
pass
# 为向后兼容,提供 BaseSource 别名
BaseSource = SourceAdapter