如何参与OpenResearch开发?dev-slot、CI与贡献者完整工作流
如何参与OpenResearch开发dev-slot、CI与贡献者完整工作流【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch想参与OpenResearchorxCLI开发吗本文带你走通从克隆仓库、用dev-slot一键起本地实例到通过CI 检查与版本发布流的贡献者完整工作流。OpenResearch 是一个本地优先的研究智能体工作台能把 Claude Code、Codex、OpenCode、Cursor 等编码智能体变成能读文献、跑实验、出成果的研究智能体。 先认识项目结构在动手前花 2 分钟看懂仓库布局后面每一步都会用到目录/文件职责src/Rust 实现本地 CLI、仪表盘、API、SQLite 存储、智能体集成、实验编排与计算后端ui/src/仪表盘前端TypeScript React Tailwindui/dist/已提交的前端构建产物会内嵌进发布构建scripts/dev-slot.mjs开发槽位工具隔离端口、数据与进程.github/workflows/CI 与发布工作流核心约定写在 AGENTS.md 里Rust 代码在src/仪表盘在ui/src/本地功能保持本地只有openresearch.sh服务侧能力组织、托管算力才走生产 API 客户端。 仓库里附带的 demo/nanochat/ 演示了一个完整研究闭环用智能体训练 nanochat 并做缩放律分析。下图中正是研究智能体产出的实验证据——IsoFLOP 曲线与最优模型规模/训练 token 数 克隆仓库并搭建开发环境OpenResearch 开发需要 Ruststable与 pnpmNode 22。dev-slot 的生命周期管理仅支持macOS / Linux见 scripts/dev-slot.mjs。git clone https://gitcode.com/GitHub_Trending/op/OpenResearch cd OpenResearch工具基于git worktree工作它要求恰好存在一个main分支的工作树作为主检出worktreeInfo 逻辑每个特性分支放在独立 worktree 中互不干扰git worktree add ../openresearch-feature -b my-feature 用 dev-slot 一键启动本地实例这是贡献者最重要的工具它让每个 worktree 拥有独立的数据目录、端口和进程避免污染你正常使用的orx本地库。四条命令覆盖全部生命周期命令作用scripts/dev-slot.mjs start --db empty\|copy [--open]启动一个开发槽位scripts/dev-slot.mjs status查看当前 worktree 的槽位状态scripts/dev-slot.mjs stop停止后端与 UI 进程scripts/dev-slot.mjs cleanup停止并删除槽位数据目录数据库两种模式见 initializeDatabase--db empty全新空库从零验证功能--db copy对正常 CLI 数据库做WAL 安全快照并复制运行日志——想复现真实数据问题时用它。槽位分配规则工具从 slot 1–9 中挑选空闲槽位用flock/lockf加咨询锁防止竞态见 acquireAdvisoryLock每个槽位独占一组端口与目录槽位后端端口UI 端口slot-149015201slot-N4900N5200Nslot-949095209所有数据落在~/.local/share/openresearch-dev/下每个槽位有独立的ORX_DATA_DIR、ORX_CACHE_DIR、XDG_CONFIG_HOMEslotEnvironment而CARGO_TARGET_DIR全局共享避免每个 worktree 重复编译整个 Rust 依赖树。启动时它会自动为 UI 安装依赖pnpm install --frozen-lockfile→ 以cargo run -- up --no-browser --port 槽位端口拉起后端 → 以pnpm dev --strictPort拉起 UI → 等待后端日志出现 dashboard on 且 API 就绪后才打印可访问地址startUnlocked。node scripts/dev-slot.mjs start --db copy --open # Dev slot ready (copy) # Backend: http://127.0.0.1:4901 # UI: http://localhost:5201/✅ 提交前对照 CI 做本地自检CI 定义在 .github/workflows/ci.yml 中。合并前先在本地跑通这些检查可大幅减少返工Rust 侧对应fmt, clippy, test任务ci.yml L75-L93cargo fmt --all --check cargo clippy --all-targets -- -D warnings cargo build --locked cargo test --lockedUI 侧ci.yml L40-L66node ui/scripts/check-i18n.mjs # 国际化目录完整性 node ui/scripts/check-styles.mjs # 样式 token 检查 cd ui pnpm typecheck # 类型检查 node --test --experimental-strip-types ui/tests/*.test.mjs两个最容易踩的坑ui/dist是提交的。改了ui/src/后必须运行pnpm build并把再生成的产物一起提交AGENTS.md。样式规范优先使用规范 Tailwind 工具类与项目主题别名如bg-background、text-subtext、border-border只在无可用工具类时才用任意值。另外 CI 还会校验源码构建的遥测通道必须是 developmentci.yml L84-L90——开发构建不发送任何使用分析这条由 CI 强制保证无需你处理但改动version --build-channel相关逻辑时务必留意。️ CI 流水线与分支保护PR 合并有三道关卡fmt, clippy, test在 ubuntu 上跑上面全部检查外加 dev-slot 自身的单测node --test scripts/dev-slot.test.mjs。windows build, testWindows 上单独跑 clippy、构建与测试并产出 release 版orx.exe构件供下载——这是多数改动唯一会遇到的 Windows 环境改 CLI 时值得留意。version sanity仅 PR 触发专门看守版本号规则见 version-guard 任务版本只能向前、不能复用已发布的 tag、版本号变化必须同步重新生成 Cargo.lock。两个值得理解的 CI 细节PR 测试的是GitHub 模拟合并结果refs/pull/编号/merge而不是你的分支头。也就是说 main 后续更新不会自动重跑已开的 PR——如果你怀疑 CI 结果过期手动 re-run 或 rebase。main分支保护要求fmt, clippy, test与version sanity全部通过管理员同样适用不要求 merge queueAGENTS.md。 版本发布流bump 即发布OpenResearch 的发布机制很优雅合并一个 bump 版本号的 PR 就是发布行为本身。完整链路.github/workflows/release-on-bump.yml你在评审过的 PR 中修改 Cargo.toml 的version并重新生成Cargo.lock一起提交合并推送到main后release-on-bump.yml检测到本次推送改动了版本且对应 tag 尚未存在才 dispatchrelease.yml带version-bump标签标记 PRrelease.yml基于 cargo-dist配置见 dist-workspace.toml构建 macOS双架构、Linuxmusl 双架构、Windows 安装包发布 GitHub Release 时顺带创建 tag——没有任何工作流主动推 tag规避了 GitHub 的防递归规则发布前会先跑同一套 CI 工作流CI 不成功就不发布。普通贡献者不需要碰这条流但如果你要参与发布或签名相关改动.github/workflows/、/macos/、scripts/package-macos-app.sh它们受 .github/CODEOWNERS 保护必须经维护者评审——这些文件能触达 macOS 签名证书属安全敏感区。 贡献者速查清单按main 特性 worktree 组织代码用node scripts/dev-slot.mjs start --db copy --open调试Rustfmt/clippy -D warnings/build --locked/test --locked全绿UI改完记得pnpm build并提交ui/disti18n 与样式检查通过本地功能保持本地化服务侧能力才走生产 API 客户端涉及版本号时同步重新生成Cargo.lock若 CI 疑似过期手动 re-run模拟合并特性导致 main 更新不会自动重跑 准备好后挑一个带标签的 issue 或直接从小型 UI/文档改进入手跑通一次 dev-slot → 本地自检 → PR CI 的全流程你就正式加入 OpenResearch 的贡献者行列了。【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

咨询方法论:从项目启动到经验复盘的体系化能力建设

咨询方法论:从项目启动到经验复盘的体系化能力建设

简介:一份聚焦售前咨询方法论的专业资料,面向IT售前咨询顾问、解决方案工程师及希望建立咨询思维的项目管理人员。资源围绕评估、交流、设计、投标、总结五阶段展开,逐一拆解商务与技术评估要点、中国商业环境中的客户交流策略、时间排期与竞…

2026/9/21 18:28:19 阅读更多 →
xiaomusic:小爱音箱播放本地音乐,3 条部署路径与避坑指南

xiaomusic:小爱音箱播放本地音乐,3 条部署路径与避坑指南

xiaomusic:小爱音箱播放本地音乐,3 条部署路径与避坑指南 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 晚饭刚收完,你对着音箱…

2026/9/21 18:28:27 阅读更多 →
TaoToken 跑通 OpenCode 的 Terminal-Bench:Agent 实战

TaoToken 跑通 OpenCode 的 Terminal-Bench:Agent 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 14:31:56 阅读更多 →

最新新闻

Victoria硬盘诊断原理与坏道修复实战指南

Victoria硬盘诊断原理与坏道修复实战指南

1. 硬盘“猝死”不是玄学,而是可追溯的物理信号衰变过程你有没有经历过这样的场景:正在编辑一份赶 deadline 的设计稿,电脑突然黑屏,重启后 BIOS 里硬盘直接消失;或者某天开机,系统卡在 Apple Logo&#xf…

2026/9/21 18:28:26 阅读更多 →
Valdi 原生视图注入实战:使用 `<custom-view>` 在 TSX 中嵌入 iOS / Android / macOS / Web 自定义视图

Valdi 原生视图注入实战:使用 `<custom-view>` 在 TSX 中嵌入 iOS / Android / macOS / Web 自定义视图

跨平台UI组件前端移动开发 【免费下载链接】Valdi Valdi is a cross-platform UI framework that delivers native performance without sacrificing developer velocity. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/val/Valdi 点击查看 免费下载 导读 <custom…

2026/9/21 18:28:26 阅读更多 →
SpringBoot儿童手工店管理系统开发实践

SpringBoot儿童手工店管理系统开发实践

1. 项目背景与核心价值在素质教育日益受到重视的当下&#xff0c;儿童手工创意店已成为城市亲子活动的重要场所。传统的手工店管理普遍面临课程安排混乱、材料库存不清、会员信息分散等问题。这个基于SpringBoot的管理系统&#xff0c;正是为解决这些痛点而设计的数字化解决方案…

2026/9/21 18:28:26 阅读更多 →
Toonflow 国风3D 风格提示词体系:从全局美学基线到分镜落地的完整约束指南

Toonflow 国风3D 风格提示词体系:从全局美学基线到分镜落地的完整约束指南

人工智能大模型AI 应用AI Agent媒体生成后端桌面应用 【免费下载链接】Toonflow-app Toonflow 是开源一站式 AI 短剧创作工具&#xff0c;将小说、剧本快速转化为动画短剧。集成 AI 编剧、智能分镜、角色与视频生成&#xff0c;跨平台桌面端轻量部署&#xff0c;助力创作者低成…

2026/9/21 18:28:26 阅读更多 →
黄钦团队揭秘:版本升级API全变,从入门到精通的3条避坑路径

黄钦团队揭秘:版本升级API全变,从入门到精通的3条避坑路径

黄钦团队揭秘:版本升级API全变,从入门到精通的3条避坑路径 版本升级后 API 全变了?这简直是每个程序员在 黄钦 主导的技术栈重构中遇到的噩梦。你以为只是换个版本号,结果 import…

2026/9/21 18:28:26 阅读更多 →
微信开发工具源码解析:5个坑让编译速度翻倍

微信开发工具源码解析:5个坑让编译速度翻倍

微信开发工具源码解析:5个坑让编译速度翻倍 版本升级后 API 全变了,看着报错抓狂,其实底层逻辑没变,只是换了皮。很多开发者卡在 wx.request…

2026/9/21 18:27:25 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析&#xff1a;从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南&#xff1a;src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin &#x1f680;ViteVue3Gin拥有AI辅助的基础开发平台&#xff0c;企业级业务AI开发解决方案&#xff0c;内置mcp辅助服务&#xff0c;内置skills管理&#xff0c;…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址&#xff1a; https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件&#xff08;Full-featured Plugin&#xff09;是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事&#xff1a;用Flutter给OpenHarmony做一款游戏集合类的App&#xff0c;说白了就是把若干小游戏塞进一个壳里&#xff0c;用统一入口分发。这个方向本身不算新鲜&#xff0c;真正让我花了不少心思的&#xff0c;是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档&#xff0c;最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事&#xff1a;今天在表后面多加了两个空白行&#xff0c;明天给客户交稿前发现整个章节的编号全部错位&#xff0c;光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年&#xff0c;说实话&#xff0c;第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年&#xff0c;流量惨淡、功能臃肿、代码自己都懒得看第二遍之后&#xff0c;我才慢慢琢磨明白一个道理&#xff1a;第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践&#xff1a;原型怎样变成可用功能分类&#xff1a;[AI/大模型]细分主题&#xff1a;AI 增强型 CI/CD 流水线自动化与 GitOps 实践&#xff1a;Agent 工作流、工具调用与任务拆解&#xff1a;从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战&#xff1a;复盘记录怎样真正派上用场分类&#xff1a;[工程技术]细分主题&#xff1a;Kubernetes 生产环境运维与排障实战&#xff1a;可复制的项目复盘模板与决策记录大部分团队的事故复盘报告&#xff0c;最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理&#xff1a;核心链路应该先拆哪一步分类&#xff1a;[工程技术]细分主题&#xff1a;Docker 容器化技术与镜像安全管理&#xff1a;核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用&#xff08;包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →