Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Jennyee1/AcademicAgent
/ types & classes
Types & classes
133 in github.com/Jennyee1/AcademicAgent
⨍
Functions
1,438
◇
Types & classes
133
↳
Endpoints
6
↓ 60 callers
Class
MetricResult
单个指标的计算结果。 保留 numerator/denominator/notes 三件套 —— 任何指标都能被人工复核, 这是「可解释」的最小保证。
src/evaluation/schema.py:258
↓ 45 callers
Class
KGNode
知识图谱节点(双时态设计) Attributes: node_id: 唯一标识符(自动从 label + node_type 生成) label: 节点显示名称(如 "ReAct", "Memory Module") node_ty
src/knowledge/schema.py:243
↓ 23 callers
Class
ToolCallResult
一次工具调用的统一结果。 ok : 调用是否成功 tool : 工具名 raw : 结构化负载(供 metrics 计算,如 {"nodes": [...], "edges": [...]}) tex
src/evaluation/adapters/base.py:17
↓ 21 callers
Class
KnowledgeGraphStore
知识图谱存储引擎 Usage: store = KnowledgeGraphStore() store.add_node(KGNode(label="ReAct", node_type=NodeType.CONCEPT)) stor
src/knowledge/graph_store.py:53
↓ 21 callers
Class
PDFParser
PDF 论文解析器 使用方式: parser = PDFParser("path/to/paper.pdf") text = parser.extract_full_text() images = parser.extract_al
src/core/pdf_parser.py:86
↓ 19 callers
Class
WorkflowStep
工作流中的一步。 name : 步骤标识(log / capture 用) tool : 工具名,需在 register_tool 注册 args_fn : (ctx_state) -> dict,本步工具调用参数 capture
src/runtime/workflow.py:79
↓ 15 callers
Class
PaperJob
scripts/ingest_llm_agent_v1.py:45
↓ 15 callers
Class
PaperJob
scripts/ingest_comms_v1.py:38
↓ 14 callers
Class
KGEdge
知识图谱边(关系)— 双时态设计 Attributes: source_id: 源节点 ID target_id: 目标节点 ID relation_type: 关系类型 properties: 附加属性(如关系的描
src/knowledge/schema.py:368
↓ 12 callers
Class
RefactorRecorder
改进步骤 + 验证结果的双写记录器。 一个进程内可以持有多个 RefactorRecorder(每个 area 一个)。 每次 log_* 调用都同步写本地 md + 追加到 Notion 子页。
src/recorder/refactor_recorder.py:107
↓ 12 callers
Class
TaskResult
单个任务执行后的结构化结果。
src/evaluation/schema.py:363
↓ 11 callers
Class
PaperRecord
单篇论文的注册记录 Attributes: arxiv_id: arXiv 标识符(如 "2210.03629"),无则 None doi: DOI 标识符,无则 None title:
src/core/paper_registry.py:45
↓ 11 callers
Class
PaperRef
scripts/fetch_llm_agent_papers.py:36
↓ 10 callers
Class
KnowledgeExtractor
LLM 驱动的知识抽取器(MiniMax API,OpenAI 兼容) Usage: extractor = KnowledgeExtractor() result = await extractor.extract_from_text(
src/knowledge/extractor.py:192
↓ 9 callers
Class
CodeSandbox
Lite 代码执行沙箱(Phase 7 加固版)。 每次 execute() 在独立 tempdir 中运行; env 走白名单(不再透传 *_API_KEY 等敏感变量); POSIX 上加 setrlimit CPU/内存/磁盘上限; import 与
src/execution/sandbox.py:297
↓ 9 callers
Class
Workflow
src/runtime/workflow.py:136
↓ 7 callers
Class
WorkflowStep
工作流中的一步。 tool : adapter 工具名(须在 dataset.KNOWN_TOOLS 中) args_fn : (prev_outputs: dict) -> dict,生成本步的工具参数 capture : (tool_result_ra
src/evaluation/workflows/registry.py:18
↓ 6 callers
Class
AliasMap
加载并查询 data/aliases.yaml 的同义词典。
src/knowledge/entity_linker.py:66
↓ 6 callers
Class
ExtractionResult
LLM 实体/关系抽取结果 由 extractor.py 的 extract_from_text() 返回。 包含抽取出的节点、边,以及 LLM 原始输出(用于调试)。
src/knowledge/schema.py:433
↓ 6 callers
Class
FigureAnalyzer
论文图表多模态分析器 使用 MiniMax Vision API (OpenAI 兼容) 分析论文中的图表, 自动识别图表类型并选择对应分析策略。 Usage: analyzer = FigureAnalyzer() result
src/core/multimodal.py:153
↓ 6 callers
Class
KnowledgeGap
知识盲区 【工程思考】盲区有四种类型: 1. foundation_gap: 基础概念掌握不够(PageRank 高但属性稀疏) 2. isolated_concept: 孤立概念(与其他知识缺乏连接) 3. single_source: 单一来源依赖(一
src/knowledge/graph_analyzer.py:63
↓ 6 callers
Class
Reflector
Lite 反思器。可被 Workflow.run 引用。
src/runtime/reflector.py:55
↓ 6 callers
Class
t
lib/tom-select/tom-select.complete.min.js:6
↓ 5 callers
Class
CodeTemplate
代码模板
src/execution/templates.py:32
↓ 5 callers
Class
PaperStructureParser
论文结构化解析器 将论文 PDF 的内容解析为标准化章节结构: Title → Abstract → Introduction → Method → Experiments → Conclusion 【工程思考】为什么不直接让 LLM 分析全文? 1.
src/core/multimodal.py:384
↓ 5 callers
Class
StepResult
src/runtime/workflow.py:105
↓ 4 callers
Class
FigureAnalysisResult
图表分析结果
src/core/multimodal.py:65
↓ 4 callers
Class
JobResult
scripts/ingest_llm_agent_v1.py:89
↓ 4 callers
Class
JobResult
scripts/ingest_comms_v1.py:112
↓ 4 callers
Class
KnowledgeGraphAnalyzer
知识图谱分析引擎 Usage: store = KnowledgeGraphStore("data/knowledge_graph.json") analyzer = KnowledgeGraphAnalyzer(store) re
src/knowledge/graph_analyzer.py:177
↓ 4 callers
Class
Memory
对 memory/ 目录的薄封装。
src/runtime/memory.py:34
↓ 4 callers
Class
NodeClassification
scripts/migrate_kg_to_dual.py:108
↓ 4 callers
Class
PaperRegistry
本地论文注册表 Usage: registry = PaperRegistry() # 检查是否重复 dup = registry.check_duplicate(arxiv_id="2210.03629")
src/core/paper_registry.py:183
↓ 3 callers
Class
DatasetError
数据集校验失败。
src/evaluation/dataset.py:88
↓ 3 callers
Class
ExecutionResult
src/execution/sandbox.py:127
↓ 3 callers
Class
FailureCard
src/evaluation/failure_cards.py:27
↓ 3 callers
Class
FigureType
论文中常见的图表类型
src/core/multimodal.py:52
↓ 3 callers
Class
LearningPathResult
完整的学习路径推荐结果
src/knowledge/graph_analyzer.py:114
↓ 3 callers
Class
SemanticIndex
节点级语义索引(内存 numpy 矩阵)。 Usage: idx = SemanticIndex(domain="llm_agent") idx.build_from_store(store) # 全量构建 res
src/knowledge/semantic_index.py:120
↓ 3 callers
Class
Tier
数据集档位
src/evaluation/schema.py:53
↓ 3 callers
Class
TraceEvent
一次工具/任务/LLM 事件的 trace 记录。JSONL 每行一条。
src/evaluation/schema.py:198
↓ 3 callers
Class
_SentenceTransformerEncoder
sentence-transformers 后端。
src/knowledge/semantic_index.py:50
↓ 2 callers
Class
AdapterContext
传给 adapter 的上下文。 sandbox : 当前任务的 SandboxPaths(隔离图谱/记忆/沙箱路径) gold : 该任务的 gold 行(dict),部分 adapter 需要它取 fixture 路径 offline : 是否离线模式(ad
src/evaluation/adapters/base.py:52
↓ 2 callers
Class
CostEstimate
src/evaluation/cost.py:26
↓ 2 callers
Class
DatasetVersion
dataset_version.json 的内容。
src/evaluation/dataset.py:59
↓ 2 callers
Class
EntityLinker
实体规范化器。 使用: linker = EntityLinker(store) # store 可选;不传时只做 normalize canonical_label = linker.normalize_label("Reasonin
src/knowledge/entity_linker.py:134
↓ 2 callers
Class
Evidence
单条证据:某一篇论文里出现的一个关系实例。 Attributes: source_paper: 来源论文标题 source_section: 来源章节(method/experiment/...,未知时空字符串) confidence
src/knowledge/evidence.py:38
↓ 2 callers
Class
ExtractionError
LLM 抽取严重失败(双层 fallback 也无法解析)。 上层(add_paper_to_graph 等)应捕获并向用户报错,而不是当成"成功但没抽到"。
src/knowledge/extractor.py:50
↓ 2 callers
Class
NodeType
知识图谱中的节点类型 扩展原则(2026-05-20): - 原 7 类(paper/author/concept/method/dataset/metric/tool)保持 - 新增 4 类(framework/benchmark/hardware_platfor
src/knowledge/schema.py:36
↓ 2 callers
Class
NotionClient
通用 Notion REST 客户端。 使用示例: client = NotionClient(load_notion_config()) if client.ready: parent_id = client.resolve_par
src/recorder/notion_client.py:108
↓ 2 callers
Class
RunConfig
一次评测 run 的可复现元数据。
src/evaluation/schema.py:304
↓ 2 callers
Class
Tracer
把 TraceEvent 记录写入 JSONL 文件。
src/evaluation/tracer.py:64
↓ 2 callers
Class
WorkflowSpec
一条完整的脚本化工作流。
src/evaluation/workflows/registry.py:32
↓ 2 callers
Class
b
lib/tom-select/tom-select.complete.min.js:36
↓ 1 callers
Class
CallResult
scripts/spot_check_kg.py:76
↓ 1 callers
Class
Capability
被测能力
src/evaluation/schema.py:41
↓ 1 callers
Class
Classifier
scripts/migrate_kg_to_dual.py:120
↓ 1 callers
Class
ConceptImportance
概念重要性评分
src/knowledge/graph_analyzer.py:48
↓ 1 callers
Class
Conflict
两条 edge 之间的冲突描述。
src/knowledge/evidence.py:144
↓ 1 callers
Class
ContaminationReport
污染检测报告(写入 run_summary.json 的 totals.contaminated)。
src/evaluation/isolation.py:136
↓ 1 callers
Class
Dataset
已加载的评测数据集。
src/evaluation/dataset.py:93
↓ 1 callers
Class
Diag
scripts/spot_check_v2.py:151
↓ 1 callers
Class
EvalLayer
评测分层
src/evaluation/schema.py:34
↓ 1 callers
Class
EvalRunner
编排一次完整的评测 run。
src/evaluation/runner.py:77
↓ 1 callers
Class
ExtractedImage
从 PDF 提取的图片
src/core/pdf_parser.py:62
↓ 1 callers
Class
LearningPathItem
学习路径中的一个条目
src/knowledge/graph_analyzer.py:101
↓ 1 callers
Class
NotionConfig
Notion 同步配置。
src/recorder/notion_client.py:48
↓ 1 callers
Class
PDFMetadata
PDF 文档元数据
src/core/pdf_parser.py:44
↓ 1 callers
Class
PaperReport
论文研究报告完整 Schema 这是 LLM Structured Output 的目标格式。 LLM 接收论文全文 → 输出此格式的 JSON → 持久化为 .json + .html 【与知识图谱的区别】 - 知识图谱 (extractor.py):
src/report/schema.py:57
↓ 1 callers
Class
ParsedPage
解析后的单页内容
src/core/pdf_parser.py:78
↓ 1 callers
Class
ProgressMonitor
轻量进度跟踪。 每 tick(name, status) 一次更新内部计数,打印形如: [eval] 5/12 ok=4 failed=1 skipped=0 | last: smoke_l1_extract (ok, 832ms)
src/evaluation/monitor.py:33
↓ 1 callers
Class
RelationType
知识图谱中的关系类型
src/knowledge/schema.py:103
↓ 1 callers
Class
ReportGenerator
LLM 驱动的研究报告生成器 复用 extractor.py 验证过的 MiniMax API 调用模式: - OpenAI 兼容客户端 - response_format=json_schema 强制输出约束 - Pydantic model_valid
src/report/generator.py:87
↓ 1 callers
Class
ReportMeta
报告元数据
src/report/schema.py:24
↓ 1 callers
Class
ReportSummary
论文核心解读
src/report/schema.py:38
↓ 1 callers
Class
ResponseTruncatedError
模型在思考阶段就用完了 max_tokens —— <think> 已开但未关闭。 抛出此异常表示:本次调用不应被当作"解析失败"而被静默吞掉,调用方应该 重试或增大 max_tokens。
src/core/llm_response.py:16
↓ 1 callers
Class
SandboxPaths
单个任务的隔离路径集合。
src/evaluation/isolation.py:47
↓ 1 callers
Class
TemporalAnalysis
双时态分析结果 利用 first_seen_year(有效时间)和 created_at(事务时间) 分析用户的知识时代覆盖度、学习进度和知识新鲜度。
src/knowledge/graph_analyzer.py:83
↓ 1 callers
Class
WorkflowContext
跨步骤的可变状态:初始 args + 每步 capture 产物。 用 dict 接口而不是 __getattr__ 是因为 workflow 的产物字段不固定, 把所有读写都聚到 `state` dict 上避免 dataclass 字段爆炸。
src/runtime/workflow.py:60
↓ 1 callers
Class
_AreaState
每个 area 的状态文件结构。
src/recorder/refactor_recorder.py:64
↓ 1 callers
Class
_FastMCPStub
轻量替身。装饰器透明,跑 server 时显式报错。
src/mcp_servers/_mcp_compat.py:36
↓ 1 callers
Class
_Span
调用方在 tracer.span() 代码块内填充的可变结果容器。
src/evaluation/tracer.py:30
↓ 1 callers
Class
_TfidfEncoder
fallback: sklearn TF-IDF。提供与 SentenceTransformer 相同的接口。
src/knowledge/semantic_index.py:69
Class
lib/tom-select/tom-select.complete.min.js:6
Class
lib/tom-select/tom-select.complete.min.js:36
Class
lib/tom-select/tom-select.complete.min.js:116
Class
lib/tom-select/tom-select.complete.min.js:116
Class
EventType
Trace 事件类型
src/evaluation/schema.py:59
Class
ExtractedEdge
LLM 抽取的单条知识关系(Pydantic 模型)
src/knowledge/schema.py:531
Class
ExtractedNode
LLM 抽取的单个知识节点(Pydantic 模型) 该模型定义了 LLM 应该输出的节点格式。 与内部存储用的 KGNode dataclass 分离,各自演进互不影响。
src/knowledge/schema.py:504
Class
ExtractionOutput
LLM 知识抽取的完整输出格式(Pydantic 模型) 用法: 1. 生成 JSON Schema 传入 API:ExtractionOutput.model_json_schema() 2. 解析 LLM 输出:ExtractionOutput.mod
src/knowledge/schema.py:548
Class
FigureAnalysis
图表分析结果
src/report/schema.py:50
Class
GoldRef
指向 gold 文件的引用。 gold_file : dataset 目录下的 gold JSONL 文件名(如 "kg_gold.jsonl") gold_key : 该文件中对应行的键(通常等于 task_id) metrics : 该任务要计算的指标名列表(须在
src/evaluation/schema.py:117
Class
J
lib/tom-select/tom-select.complete.min.js:116
Class
TargetSpec
任务的执行目标。 - L1: tool + args(单工具调用) - L2: workflow(workflows/registry.py 的键) - L3: e2e_prompt(自由形式 prompt)
src/evaluation/schema.py:81
Class
TaskSpec
一条评测任务(tasks.jsonl 每行一条)。
src/evaluation/schema.py:146
Class
TaskStatus
任务执行状态
src/evaluation/schema.py:69
Class
TestArxivSearchIntegration
arXiv 搜索集成测试
tests/test_paper_search.py:161
Class
TestEmptyGraph
tests/test_graph_analyzer.py:117
Class
TestExtractJSON
JSON 提取鲁棒性测试 - 核心防 Silent Regression
tests/test_multimodal.py:74
next →
1–100 of 133, ranked by callers