Gyoshu 科研自动化实验室
让教授与助教两个 Agent 分工协作,把研究目标自动变成可复现的 Jupyter Notebook 与报告。
- Star 数
- ★ 241
- 最近更新
- 7 个月前
- 主语言
- TypeScript
- FA 评分
- 39/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 数据科学家需要把一次完整的探索性分析(如 Binance USD-M 期货多维可视化、相关性热图、滚动统计)固化为可复现的 notebook,而不是留在临时脚本里。
- 不适合
- 使用原生 Windows、不愿配置 WSL2 的用户
- 希望直接在浏览器或 Web 界面操作、不想用命令行的研究者
这个 Agent 能做什么,适合哪些场景?
Gyoshu(교수,教授)与 Jogyo(조교,助教)是嵌入 OpenCode 的端到端科研自动化系统,用多 Agent 分工把一句研究目标转化为可复现的实验流程。Gyoshu 负责规划研究计划、编排会话与工作流,Jogyo 负责在持久化 Python REPL 中执行代码、运行实验并产出结果;此外还有负责对抗式验证的 Baksa(박사,博士评审)和把原始发现写成叙述性报告的 Jogyo Paper Writer。实验过程中通过 [OBJECTIVE]、[HYPOTHESIS]、[FINDING]、[STAT:ci]、[STAT:effect_size] 等结构化标记组织输出,并据此自动生成 notebooks/ 下的 .ipynb 与 reports/ 下的报告、图表和模型文件。它有三种接入方式:作为 OpenCode 插件(opencode.json 中的 plugin 数组)、通过 npm/bun 全局安装的 CLI(bunx gyoshu install),或作为 Claude Code 可用的 MCP 服务器,暴露 python_repl、research_manager、notebook_writer 等 12 个工具。运行依赖项目本地的 .venv 虚拟环境,不修改系统 Python;运行时文件放在系统临时目录,不会污染项目。
Gyoshu 以研究目标为输入,先由 Gyoshu Agent 生成包含目标与假设的结构化研究计划,再由 Jogyo Agent 在持久化 Python REPL 中执行分析代码——变量跨会话保留,类似真实 Jupyter kernel。代码运行时通过 print 输出 [OBJECTIVE]、[HYPOTHESIS]、[DATA]、[METRIC:accuracy]、[FINDING]、[CONCLUSION] 等标记,工具据此捕获实验过程。每个实验会自动写入 notebooks/*.ipynb,产出保存到 reports/<project>/ 下的 figures/、models/ 与 report.md。质量门禁会检查 [FINDING] 前 10 行内是否存在 [STAT:ci] 与 [STAT:effect_size],缺失的结论在报告中降级为 Exploratory Observations;ML 任务还要求 [METRIC:baseline_*] 基线与 [METRIC:cv_*] 交叉验证结果,否则按 -20/-25 扣除信任分。Baksa 评审 Agent 会对每条结论做对抗式质询并计算信任分:≥80 为 Verified,60-79 为带保留接受,<60 直接拒绝。MCP 路径暴露 python_repl、research_manager、gyoshu_snapshot、checkpoint_manager、notebook_writer、notebook_search 等 12 个工具,命令层则提供 /gyoshu、/gyoshu-auto、/gyoshu plan、/gyoshu continue、/gyoshu report、/gyoshu list、/gyoshu search、/gyoshu doctor 等入口,支持交互、自主和 REPL 三种研究模式以及会话的继续、回放与分支。
- 数据科学家需要把一次完整的探索性分析(如 Binance USD-M 期货多维可视化、相关性热图、滚动统计)固化为可复现的 notebook,而不是留在临时脚本里。
- 机器学习工程师要在经典数据集(Titanic 生存预测、Iris 聚类)上快速跑出带基线对比和交叉验证的建模流程,用 /gyoshu-auto 设定目标后无需持续盯守。
- 科研人员希望每个结论都附上置信区间与效应量,并在写作前接受对抗式审稿,避免把探索性观察当成已验证发现。
- 使用 Claude Code 的团队想通过 MCP 在现有编码会话中直接调用 python_repl 与 notebook_writer,而不切换到 OpenCode。
- 需要长期维护多个研究项目的人,用 /gyoshu list、/gyoshu search、/gyoshu continue 在多个会话与 notebook 之间检索和续做。
- 量化或数据产品团队把 Gyoshu 产出的洞察报告交给 Oh-My-OpenCode 之类的开发工具落地为功能,实现“研究—开发”分工。
如何安装或部署这个 Agent?
先准备 Python 3.10+ 的本地虚拟环境,Gyoshu 只使用项目内的 .venv,不会改动系统 Python。
python3 -m venv .venv
.venv/bin/pip install pandas numpy scikit-learn matplotlib seaborn方式一:作为 Claude Code 的 MCP 服务器安装(需要 Node.js 18+)。
git clone https://github.com/Yeachan-Heo/My-Jogyo.git
cd My-Jogyo/src/mcp
npm install && npm run buildclaude mcp add gyoshu-mcp "$(pwd)/build/index.cjs"claude mcp list
# 应显示:gyoshu-mcp: ✓ Connected方式二:作为 OpenCode 插件,在 opencode.json 中加入插件名,重启 OpenCode 时会自动从 npm 安装。
{
"plugin": ["gyoshu"]
}方式三:使用 CLI 安装器自动写入 opencode.json。
bunx gyoshu install或先全局安装再执行安装器。
npm install -g gyoshu
gyoshu install贡献者可改为本地链接:git clone 后执行 bun install,再把 opencode.json 的 plugin 写成 file:///path/to/My-Jogyo。安装后可用 bunx gyoshu check 或在 OpenCode 中执行 /gyoshu doctor 验证。
如何使用这个 Agent?
启动 OpenCode 后先打招呼并确认状态。
opencode在 OpenCode 会话中输入以下命令:
/gyoshu
/gyoshu analyze customer churn patterns in the telecom dataset
/gyoshu-auto classify iris species using random forest
/gyoshu report
/gyoshu continue自主模式适合目标明确、无需中途干预的任务;交互模式适合边看边调;/gyoshu repl <query> 用于快速探索和调试。让 Jogyo 产出可被质量门禁接受的结论,需要在代码里成对输出标记,例如:
print("[OBJECTIVE] Predict wine quality from physicochemical properties")
print("[HYPOTHESIS] Alcohol content is the strongest predictor")
print("[STAT:ci] 95% CI [0.82, 0.94]")
print("[STAT:effect_size] Cohen's d = 0.75 (medium)")
print(f"[METRIC:accuracy] {accuracy:.3f}")
print("[FINDING] Alcohol shows r=0.47 correlation with quality")
print("[CONCLUSION] Hypothesis supported - alcohol is key predictor")让其他 LLM 上手时,让它读取仓库中的 AGENTS.md 获取完整上下文,或直接使用这条提示:
I've installed Gyoshu. Read AGENTS.md and help me run /gyoshu to analyze my data.遇到问题时运行 /gyoshu doctor;若提示 Session locked,确认没有进程在跑后用 /gyoshu unlock <sessionId> 解锁。
这个 Agent 有哪些优点和局限?
- 把研究流程拆成教授规划、助教执行、博士对抗式评审、研究生写报告四个 Agent,规划与执行职责分离,比单一 Agent 更贴近真实科研分工。
- 持久化 Python REPL 让变量跨会话存活,实验过程自动沉淀为 notebooks/*.ipynb,满足可复现性要求。
- 质量门禁是硬性规则:[FINDING] 缺少 [STAT:ci] 与 [STAT:effect_size] 会被降级,ML 缺少基线与交叉验证会扣信任分,按 ≥80/60-79/<60 三档裁定结论。
- 提供 OpenCode 插件、npm/bun CLI 和 MCP 服务器三种接入路径,Claude Code 用户可直接复用 12 个 MCP 工具。
- 运行时文件写入系统临时目录,且文档明确声明不会修改 .venv、data/ 等已有项目文件,接入既有项目风险较低。
- 核心运行环境绑定 OpenCode 或 Claude Code,脱离这两个宿主无法独立使用,迁移到其他编码 Agent 需要自行做集成。
- 必须存在项目内 .venv,否则报 “No .venv found”,且需要 Python 3.10+、Node.js 18+,环境门槛不低。
- 原生 Windows 不受支持,只支持 Linux、macOS 与 WSL2,Windows 用户需额外配置。
- README 标注许可证状态与 GitHub 上的 License: unknown 不一致,徽章与仓库元数据存在矛盾,采用前需自行核实授权。
- 演示 GIF 仍是 “Demo coming soon”,文档引用的 docs/user-guide.md 与 AGENTS.md 等章节未在源材料中出现,实际效果需自行验证。
这个 Agent 与同类方案有什么区别?
仓库明确提到可选搭配 Oh-My-OpenCode(code-yeongyu/oh-my-opencode):Gyoshu 专注科研与数据分析,Oh-My-OpenCode 专注产品开发与功能交付,两者均可独立运行。README 说明使用 Gyoshu 并不需要安装 Oh-My-OpenCode,但也给出了“先用 Gyoshu 分析、再用 Oh-My-OpenCode 落地”的组合流程。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Gyoshu 科研自动化实验室 当前 | 39 · 缺口较多 | Agent 插件 / 技能免费 + 模型费 | ★ 241 | 7 个月前 | TypeScript | Claude Code |
| optim-agent | 65 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 801 | 1 个月前 | Python | Codex · Claude Code |
| MiroFlow 研究智能体 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.1k | 8 个月前 | Python | — |
| Metaflow | 77 · 表现良好 | 代码库 / SDK免费 | ★ 10k | 5 天前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示安装脚本通过 curl 管道直接执行(curl ... | bash),且 README 明确说明 Gyoshu 会执行 Python 代码并写入 notebooks/、reports/ 等目录,属于对本地文件系统的写操作;但仓库未提供 install.sh 源码、权限声明或沙箱说明,无法确认最小权限原则是否落实,故 least_privilege 仅 1。用户确认方面,/gyoshu-auto 被描述为“设定后离开”的自主模式,README 未说明在执行破坏性操作前是否需要确认,故 user_confirmation 仅 1。数据流透明性方面,README 提到运行时文件(socket、lock)存放在系统临时目录,但未说明数据是否外发、LLM 调用如何传输数据,故 data_flow_transparency 仅 1。敏感数据方面,仓库完全没有提及凭据、PII、数据脱敏或密钥管理,故 sensitive_data_handling 为 0。依赖安全方面,package.json 声明了 sanitize-html 与 zod 两个依赖,版本范围较宽(^),且 pyproject.toml 无运行时依赖,但未提供锁文件或漏洞审计记录,故 dependency_security 仅 1。外部效应方面,README 说明不会修改 .venv/、data/ 等既有文件,但安装脚本会写入系统路径,且未说明卸载方式,故 external_effects 仅 1。回滚方面,atomic-write 测试显示写入失败会清理临时文件,但仓库未提供整体安装/研究流程的回滚或撤销机制,故 rollback 仅 1。来源归属方面,README 引用了 OpenCode 与 Oh-My-OpenCode 并给出链接,但未说明代码来源、第三方代码复用或致谢细节,故 source_attribution 仅 1。
自洽性方面,README 描述的功能(REPL、notebook 生成、对抗验证)与 package.json 的 name/description 一致,但 pyproject.toml 版本为 0.1.0 而 package.json 为 0.5.1,存在版本不一致,故 self_consistency 仅 1。依赖可用性方面,package.json 声明 peerDependencies 为 @opencode-ai/plugin >=1.0.0,engines 要求 bun >=1.0.0,但未提供锁文件或安装验证,故 dependency_availability 仅 1。失败信息方面,README 提供了 troubleshooting 表格(No .venv found、Bridge failed to start、Session locked 等),但未展示实际错误消息格式或日志示例,故 failure_messages 仅 1。
受众与场景方面,README 明确区分交互模式、自主模式、REPL 模式,并给出面向研究者的使用场景,覆盖较清晰,故 audience_and_scenarios 为 2。能力边界方面,README 说明 Gyoshu 是独立工具、不依赖 Oh-My-OpenCode,但未明确说明其不能做什么(如不支持 Windows 原生、不支持非 Python 语言),故 capability_boundaries 仅 1。触发精度方面,命令列表(/gyoshu、/gyoshu-auto、/gyoshu plan 等)较清晰,但未说明命令冲突或误触发处理,故 trigger_precision 仅 1。环境适配方面,README 列出 Linux/macOS/Windows(WSL2) 支持矩阵及 Python 3.10+ 要求,环境说明较完整,故 environment_fit 为 2。
信息架构方面,README 结构清晰,包含安装、命令、工作流、项目结构、故障排除等章节,故 information_architecture 为 2。安装说明方面,提供了 curl、clone、npm/bunx 三种方式及验证命令,故 install_notes 为 2。命名稳定性方面,项目名在 README 中为 Gyoshu/Jogyo,package.json 为 gyoshu,pyproject.toml 为 gyoshu,但仓库名为 My-Jogyo,存在命名不一致,故 naming_stability 仅 1。示例与 FAQ 方面,README 提供了代码示例和命令示例,但无独立 FAQ 章节,故 examples_and_faq 仅 1。已知限制方面,README 提到 Windows 仅 WSL2、需要 Python 3.10+,但未系统列出其他限制,故 known_limitations 仅 1。许可证方面,README 声明 MIT,package.json 声明 MIT,但仓库根目录未提供 LICENSE 文件内容,故 license 为 2(声明一致但缺少文件证据)。版本与变更日志方面,README 引用 CHANGELOG.md,但未提供其内容,且 package.json 与 pyproject.toml 版本不一致,故 versioning_changelog 仅 1。维护责任方面,package.json 有 author 和 repository 字段,但未说明维护者、支持渠道或响应时间,故 maintenance_responsibility 仅 1。
输出可用性方面,README 说明输出为可复现的 .ipynb、报告、图表和模型,并给出项目结构,故 output_usability 为 2。边际价值方面,项目提供研究自动化与 notebook 生成,但类似工具较多,README 未提供与替代方案的对比或独特价值证明,故 marginal_value 仅 1。成本效益方面,安装需要 OpenCode、Python 3.10+、bun 等环境,且自主模式可能消耗较多 LLM 调用,但 README 未说明资源消耗或成本,故 cost_benefit 仅 1。
主张可追溯性方面,README 的功能主张(如对抗验证、信任分数)在测试文件中有部分对应(adversarial-flow.test.ts),但测试仅验证数据结构而非端到端行为,故 claim_traceability 仅 1。跨源佐证方面,README、package.json、pyproject.toml、测试文件之间存在部分一致,但版本号不一致且缺少 install.sh 源码,故 cross_source_corroboration 仅 1。事实与推断分离方面,README 中部分描述(如“不会修改 .venv/”)属于断言,未提供代码或测试佐证,故 fact_inference_separation 仅 1。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 安装脚本通过 curl 管道直接执行,且仓库未提供 install.sh 源码,无法静态验证其行为,建议用户先下载并审查脚本内容再执行。
- README 未说明数据是否外发、LLM 调用如何传输数据,也未提及凭据或敏感数据处理,处理敏感数据时需谨慎。
- package.json 版本为 0.5.1 而 pyproject.toml 版本为 0.1.0,版本不一致可能导致依赖解析或更新问题。
- 仓库未提供 LICENSE 文件内容,仅 README 和 package.json 声明 MIT,法律合规性需进一步确认。
- 自主模式 /gyoshu-auto 被描述为“设定后离开”,但未说明执行破坏性操作前是否需要用户确认,建议在受控环境中使用。