MCPcopy Create free account

hub / github.com/Jennyee1/AcademicAgent / functions

Functions1,438 in github.com/Jennyee1/AcademicAgent

↓ 8 callersFunctionlb
(t,e)
lib/vis-9.1.2/vis-network.min.js:26
↓ 8 callersFunctionpg
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 8 callersMethodrefreshOptions
(e=!0)
lib/tom-select/tom-select.complete.min.js:208
↓ 8 callersFunctiontask
(tid, layer, cap, target, gold_file, metrics, *, tier="full", req_api=False, req_llm=False, timeout=9
scripts/gen_full_dataset.py:149
↓ 8 callersFunctionwrite_jsonl
(name, rows)
scripts/gen_full_dataset.py:336
↓ 7 callersFunctionG
(e,t)
lib/tom-select/tom-select.complete.min.js:100
↓ 7 callersFunctionK
(e,t)
lib/tom-select/tom-select.complete.min.js:99
↓ 7 callersFunctionKy
(t)
lib/vis-9.1.2/vis-network.min.js:26
↓ 7 callersFunctionQy
(t,e,i,n)
lib/vis-9.1.2/vis-network.min.js:26
↓ 7 callersFunction_
(e,t)
lib/tom-select/tom-select.complete.min.js:77
↓ 7 callersMethod_extract_json
从 LLM 输出中提取 JSON(抗 Silent Regression) 【工程思考】这是从 05_Agent工程落地深度思考.md 中的 RobustJSONExtractor 精简版。在真实项目中, LLM 输出格式不可 10
src/core/multimodal.py:318
↓ 7 callersFunction_format_authors
格式化作者列表,超过 max_display 人时显示 et al.
src/mcp_servers/paper_search.py:180
↓ 7 callersFunction_is_rate_limited
判断返回结果是否是 429 限流响应
tests/test_paper_search.py:51
↓ 7 callersFunction_load_prompt
从 prompts/domain_prompts/ 加载 Prompt 文件 优先级: 文件 > 内联 fallback
src/core/multimodal.py:118
↓ 7 callersFunction_normalize
(s: str)
src/evaluation/metrics/retrieval.py:14
↓ 7 callersMethodfocus
()
lib/tom-select/tom-select.complete.min.js:203
↓ 7 callersFunctionfx
(t)
lib/vis-9.1.2/vis-network.min.js:26
↓ 7 callersFunctionget_template
获取模板
src/execution/templates.py:619
↓ 7 callersFunctiongg
(t,e)
lib/vis-9.1.2/vis-network.min.js:26
↓ 7 callersMethodisFull
()
lib/tom-select/tom-select.complete.min.js:269
↓ 7 callersFunctionl
(t)
lib/tom-select/tom-select.complete.min.js:351
↓ 7 callersMethodsearch_nodes
关键词搜索节点 在节点的 label 和 properties 中搜索关键词(大小写不敏感)
src/knowledge/graph_store.py:337
↓ 7 callersMethodsetActiveOption
(e)
lib/tom-select/tom-select.complete.min.js:197
↓ 7 callersMethodsetCaret
(e)
lib/tom-select/tom-select.complete.min.js:292
↓ 7 callersMethodto_dict
序列化为字典(用于 JSON 持久化)
src/knowledge/schema.py:333
↓ 7 callersMethodto_markdown
(self)
src/execution/sandbox.py:137
↓ 6 callersFunctionAx
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 6 callersFunctionIg
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 6 callersFunctionQg
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 6 callersMethod_parse_extraction
解析 LLM 输出为 ExtractionResult。 【2026-05-20 重构】Phase 2.6 + 2.2: - 严格 Pydantic 解析失败:logger.warning(不是 debug)+ 标记 had_parse_fal
src/knowledge/extractor.py:399
↓ 6 callersMethod_render
(e,t)
lib/tom-select/tom-select.complete.min.js:295
↓ 6 callersMethod_save_json
(self, data: Any, filename: str)
src/evaluation/runner.py:263
↓ 6 callersFunction_trace
(tool="t", ok=True, latency=10.0, etype="tool_call")
tests/test_evaluation_metrics.py:27
↓ 6 callersFunctionab
()
lib/vis-9.1.2/vis-network.min.js:26
↓ 6 callersFunctioncall
(label: str, **extra)
scripts/probe_reasoning_options.py:39
↓ 6 callersFunctioncoerce_node_type
把字符串解析为 NodeType。返回 (类型, is_fallback)。 解析顺序: 1. 直接 NodeType(raw) 命中 2. NODE_TYPE_ALIASES 命中(领域专用→通用映射) 3. fallback 到 NodeType.O
src/knowledge/schema.py:189
↓ 6 callersMethodcreateItem
(e=null,t=!0,i=(()=>{}))
lib/tom-select/tom-select.complete.min.js:254
↓ 6 callersFunctiond
(e,t="|")
lib/tom-select/tom-select.complete.min.js:12
↓ 6 callersFunctionem
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 6 callersFunctioneval_sandbox
为单个任务建立隔离沙箱。 进入上下文:建目录树 + 覆盖 SCHOLARMIND_DATA_DIR。 退出上下文:还原 SCHOLARMIND_DATA_DIR(无论成功失败)。 注意:本上下文管理器只负责「隔离环境」,不做污染检测 —— 污染检测由 runner
src/evaluation/isolation.py:97
↓ 6 callersMethodgetOption
(e,t=!1)
lib/tom-select/tom-select.complete.min.js:237
↓ 6 callersMethodinputValue
()
lib/tom-select/tom-select.complete.min.js:203
↓ 6 callersFunctionl
(t,e,i,n)
lib/vis-9.1.2/vis-network.min.js:26
↓ 6 callersFunctionload_dataset
从一个 dataset 目录加载 Dataset(不做校验,调用方按需 .validate())。
src/evaluation/dataset.py:222
↓ 6 callersMethodlog_step
记录一次代码改动。
src/recorder/refactor_recorder.py:161
↓ 6 callersMethodpositionDropdown
()
lib/tom-select/tom-select.complete.min.js:276
↓ 6 callersFunctionupdate_preference
更新一个偏好键。若值不在 ALLOWED_VALUES 限定集内会抛 ValueError。
src/runtime/preferences.py:68
↓ 5 callersFunctionI
(e,t)
lib/tom-select/tom-select.complete.min.js:78
↓ 5 callersFunctionL
(e,t)
lib/tom-select/tom-select.complete.min.js:80
↓ 5 callersFunction_build_sandbox_env
从 os.environ 派生子进程 env:只保留白名单 + 系统必需 + 强制 strip 模式。 extra_overrides 在 strip 之后应用(用于 sandbox 自己设的 PYTHONDONTWRITEBYTECODE 等)。
src/execution/sandbox.py:222
↓ 5 callersFunction_compute_file_hash
计算文件 SHA-256 哈希(前 length 位)
src/core/paper_registry.py:121
↓ 5 callersFunction_register
(template: CodeTemplate)
src/execution/templates.py:50
↓ 5 callersFunction_retrieved
(tr: TaskResult)
src/evaluation/metrics/__init__.py:72
↓ 5 callersMethodappend_experience
追加一条带时间戳的经验记录到 experiences/<category>.md。 每条独占一个二级小节 `## [YYYY-MM-DD HH:MM]`。
src/runtime/memory.py:79
↓ 5 callersFunctionbb
()
lib/vis-9.1.2/vis-network.min.js:26
↓ 5 callersFunctionc
(t,e,i,n,o)
lib/vis-9.1.2/vis-network.min.js:26
↓ 5 callersFunctioncheck_import_whitelist
扫描 import 语句,超出 RECOMMENDED_IMPORTS 的模块发警告。 实现策略:只看根模块名("scipy.signal" → "scipy" 也算命中)。 返回的是"软警告",调用方决定是否阻塞(当前不阻塞)。
src/execution/sandbox.py:198
↓ 5 callersMethodclearActiveItems
()
lib/tom-select/tom-select.complete.min.js:197
↓ 5 callersMethodcontrolChildren
()
lib/tom-select/tom-select.complete.min.js:292
↓ 5 callersMethodextract_from_text
从文本中抽取实体和关系 如果文本过长,自动分段抽取后合并。 Args: text: 论文文本(全文或章节) paper_title: 论文标题 paper_year: 论文年
src/knowledge/extractor.py:268
↓ 5 callersMethodfilter
按档位 / 层过滤任务。
src/evaluation/dataset.py:123
↓ 5 callersMethodget_graph_health
评估知识图谱的整体健康度 【工程思考】"健康度"是一个复合指标,帮助用户理解: - 知识覆盖面够不够广?(节点数) - 知识之间的关联够不够密?(边密度) - 有没有孤立的知识岛?(连通分量数) -
src/knowledge/graph_analyzer.py:281
↓ 5 callersMethodget_metadata
提取 PDF 元数据
src/core/pdf_parser.py:141
↓ 5 callersFunctionget_template_code
获取模板代码,支持参数覆盖 【工程思考】为什么支持参数覆盖? Agent 可以根据论文中的具体参数修改模板: "这篇 Agent 论文用任务成功率和平均调用成本做评测,帮我改一下模板跑出结果" 目前用简单的字符串替换实现,后续可升级到 Jinja2
src/execution/templates.py:631
↓ 5 callersMethodinputState
()
lib/tom-select/tom-select.complete.min.js:202
↓ 5 callersFunctionm
(e,t)
lib/tom-select/tom-select.complete.min.js:32
↓ 5 callersMethodmerge_properties
合并另一个同 ID 节点的属性(去重合并) 【工程思考】为什么需要合并? 同一个概念可能从不同论文中被抽取,每次抽取的属性可能不同。 例如从 Paper A 抽取了 ReAct 的定义,从 Paper B 抽取了 ReAct 的应用
src/knowledge/schema.py:311
↓ 5 callersFunctionnormalize_domain
domain 标准化。未知 / None / 空 → DOMAIN_SHARED。
src/knowledge/schema.py:231
↓ 5 callersFunctionp
(t)
lib/vis-9.1.2/vis-network.min.js:26
↓ 5 callersMethodquery_neighbors
查询节点的邻居(支持多跳) Args: node_id: 起始节点 ID depth: 查询深度(1=直接邻居, 2=两跳邻居...) relation_type: 可选,过滤特定关系类型
src/knowledge/graph_store.py:252
↓ 5 callersFunctionrecord_run_log
根据 run_log 自动 append 到对应经验文件。 返回被写入的文件名列表(方便上层 RefactorRecorder 知道产物在哪)。
src/runtime/experience.py:23
↓ 5 callersMethodremoveItem
(e=null,t)
lib/tom-select/tom-select.complete.min.js:250
↓ 5 callersMethodrender
(e,t)
lib/tom-select/tom-select.complete.min.js:295
↓ 5 callersFunctionsearch_papers
通过 Semantic Scholar API 搜索学术论文。**备选搜索源**——首选 `search_arxiv`。 ⚠️ **优先级提示** (Phase 4.1):本工具无 API Key 时极易触发 429 限流(1 req/s); 建议默认走 `search_
src/mcp_servers/paper_search.py:209
↓ 5 callersMethodseed_graph_from
把一个 fixture seed graph 复制进隔离图谱路径,返回隔离路径。 gap_detection / kg_query 任务用:绝不读真实图谱,只读 fixture 的拷贝。
src/evaluation/isolation.py:56
↓ 5 callersMethodtick
(self, name: str, status: str, elapsed_ms: int = 0)
src/evaluation/monitor.py:50
↓ 5 callersMethodupdateOriginalInput
(e={})
lib/tom-select/tom-select.complete.min.js:269
↓ 5 callersFunctionym
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunctionA
lib/tom-select/tom-select.complete.min.js:78
↓ 4 callersFunctionCT
(t,e,i)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunctionCu
(t,e)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunctionD
lib/tom-select/tom-select.complete.min.js:94
↓ 4 callersFunctionHv
(t)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunctionIC
(t,e)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunctionN
lib/tom-select/tom-select.complete.min.js:94
↓ 4 callersFunctionQ
(t,e)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunctionSg
(t)
lib/vis-9.1.2/vis-network.min.js:26
↓ 4 callersFunction_build_gold_index
归一化 alias -> gold entity 映射。用于 alias 匹配档。
src/evaluation/metrics/kg_semantic.py:99
↓ 4 callersFunction_classify_http_error
返回 (error_category, error_text)。httpx 在函数内懒加载,故按类名判别。
src/evaluation/adapters/paper_search.py:19
↓ 4 callersFunction_endpoint_key
(label: str)
src/evaluation/metrics/kg_semantic.py:244
↓ 4 callersFunction_extract_arxiv_id_from_filename
从文件名中尝试提取 arXiv ID 支持格式: - "2210.03629.pdf" - "arxiv_2210_03629.pdf" - "ReAct_2210.03629.pdf" - "2210.03629v3.pdf"
src/core/paper_registry.py:130
↓ 4 callersFunction_gold_entity_list
从 gold 取指定 tier 的实体列表(must_have / should_have / may_have)。
src/evaluation/metrics/kg_semantic.py:80
↓ 4 callersFunction_gold_items
(gold: dict | None)
src/evaluation/metrics/__init__.py:80
↓ 4 callersFunction_key
归一化 alias 查找 key:小写 + 剥括号注释 + 折叠连字符/下划线/空格。 剥括号:"Chain-of-Thought (CoT)" / "ReAct (Reasoning and Acting)" 这种 注释式后缀很常见,括号里的内容跟前面是同义体,应当合并到同一 c
src/knowledge/entity_linker.py:50
↓ 4 callersFunction_label_from_node_id
node_id 形如 "{type}_{normalized_label}",取后半。
src/evaluation/metrics/kg.py:29
↓ 4 callersFunction_load
(run_dir: Path, name: str, default)
src/evaluation/reporting/html.py:10
↓ 4 callersFunction_load
(run_dir: Path, name: str, default)
src/evaluation/reporting/markdown.py:9
↓ 4 callersMethod_log
(self, msg: str)
src/recorder/notion_client.py:130
↓ 4 callersFunction_match_extracted_to_gold
返回 (匹配到的 gold entity 或 None, 匹配档位)。 档位:'exact' / 'alias' / 'embed' / 'miss' exact 和 alias 其实是同一档(alias_index 包含 label 自身),但区分以便诊断。
src/evaluation/metrics/kg_semantic.py:115
↓ 4 callersFunction_now_utc_iso
UTC ISO(state 文件用)。
src/recorder/refactor_recorder.py:58
← previousnext →101–200 of 1,438, ranked by callers