restore: 恢复误删的技能目录并修复导入方式
PR Test / lint (pull_request) Successful in 1s

- 恢复 kb-zhihu-metadata, kb-bilibili-metadata, kb-deep-analyzer
- 修改 zhihu.py 和 analyze.py 使用 sys.path 方式导入
- 删除符号链接 kb_zhihu_metadata

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 17:27:48 +08:00
parent ae8f6080c9
commit 84e9ada055
18 changed files with 4994 additions and 8 deletions
+12 -5
View File
@@ -11,6 +11,13 @@ from typing import Dict, Any, Optional
from datetime import datetime
import re
import asyncio
import sys
from pathlib import Path
# Add kb-zhihu-metadata to path for import
_kb_zhihu_path = Path(__file__).parent.parent.parent / "kb-zhihu-metadata"
if str(_kb_zhihu_path) not in sys.path:
sys.path.insert(0, str(_kb_zhihu_path))
from kb_pipeline.platforms.base import PlatformAdapter
from kb_pipeline.errors import AuthError
@@ -20,7 +27,7 @@ from kb_pipeline.config import get_settings
class ZhihuAdapter(PlatformAdapter):
"""Zhihu platform adapter for answer and zhuanlan content extraction.
Uses ZhihuPlaywrightExtractor (from kb_zhihu_metadata) for content extraction.
Uses ZhihuPlaywrightExtractor (from kb-zhihu-metadata) for content extraction.
Requires KB_ZHIHU_COOKIE environment variable for authentication.
Example:
@@ -82,14 +89,14 @@ class ZhihuAdapter(PlatformAdapter):
def _get_extractor(self):
"""Get or create ZhihuPlaywrightExtractor instance.
Lazy import to avoid dependency issues when kb_zhihu_metadata is not installed.
Lazy import to avoid dependency issues when kb-zhihu-metadata is not installed.
Returns:
ZhihuPlaywrightExtractor instance
"""
if self._extractor is None:
try:
from kb_zhihu_metadata.zhihu_extractor import ZhihuPlaywrightExtractor
from zhihu_extractor import ZhihuPlaywrightExtractor
self._extractor = ZhihuPlaywrightExtractor(
headless=self.headless,
timeout=self.timeout,
@@ -97,8 +104,8 @@ class ZhihuAdapter(PlatformAdapter):
)
except ImportError as e:
raise ImportError(
"kb_zhihu_metadata package not found. "
"Please install it to use ZhihuAdapter."
"kb-zhihu-metadata module not found. "
"Please ensure kb-zhihu-metadata directory exists."
) from e
return self._extractor
+9 -3
View File
@@ -9,9 +9,15 @@ from __future__ import annotations
import json
import logging
import os
import sys
from pathlib import Path
from typing import Optional, Dict, Any
# Add kb-deep-analyzer to path for import
_kb_deep_analyzer_path = Path(__file__).parent.parent.parent / "kb-deep-analyzer"
if str(_kb_deep_analyzer_path) not in sys.path:
sys.path.insert(0, str(_kb_deep_analyzer_path))
from ..config import get_settings
from ..schemas import AnalyzeInput, AnalyzeOutput
from ..state import WorkflowStateManager
@@ -194,7 +200,7 @@ class AnalyzeProcessor(BaseProcessor):
AnalysisResult 对象
"""
# Lazy import to avoid dependency issues
from kb_deep_analyzer.deep_analyzer import DeepAnalyzer, SimpleAIClient
from deep_analyzer import DeepAnalyzer, SimpleAIClient
# 初始化 AI 客户端
ai_client = self._create_ai_client()
@@ -211,7 +217,7 @@ class AnalyzeProcessor(BaseProcessor):
Returns:
SimpleAIClient 实例
"""
from kb_deep_analyzer.deep_analyzer import SimpleAIClient
from deep_analyzer import SimpleAIClient
# 从环境变量获取配置
api_key = os.environ.get("AI_API_KEY", "")
@@ -263,7 +269,7 @@ class AnalyzeProcessor(BaseProcessor):
result: AnalysisResult 对象
content_type: 内容类型
"""
from kb_deep_analyzer.deep_analyzer import generate_frontmatter
from deep_analyzer import generate_frontmatter
# 标准化元数据(扁平化嵌套结构)
normalized_metadata = self._normalize_metadata(metadata)