Open-Inspect:受Ramp启发的开源编码代理,功能丰富且支持多模型! 📅 发布时间:2026/7/13 9:16:11 👁️ 浏览次数: 后台代理Open-InspectOpen-Inspect是一个受Ramp的Inspect启发的开源后台代理编码系统。概览Open-Inspect提供了一个托管的后台编码代理具备以下功能当你专注于其他事务时它能在后台处理任务可访问完整的开发环境Node.js、Python、git、浏览器自动化、VS Code支持从任何地方进行连接包括Web UI、Slack、GitHub PR、Linear问题或Webhook支持多人会话多人可实时协作能创建PR并将提交正确归因于发起提示的用户可按计划运行如Cron作业、Sentry警报和Webhook触发的自动化任务能生成并行子任务这些子任务可在独立的沙箱中同时运行可选择使用不同的AI模型如Anthropic Claude、OpenAI Codex通过ChatGPT订阅或OpenCode Zen。安全模型仅单租户重要提示此系统仅设计用于单租户部署即所有用户都是同一组织的受信任成员且可访问相同的仓库。工作原理该系统使用共享的GitHub App安装来进行git操作克隆、拉取、推送。控制平面在服务器端生成短期安装令牌并根据需要通过git凭证助手将其提供给沙箱。这意味着所有用户共享相同的GitHub App凭证。GitHub App必须安装在你组织的仓库上系统的任何用户都可以访问该App有权限访问的任何仓库系统在创建会话前不会验证用户是否有权限访问特定仓库创建PR时使用GitHub用户的OAuth令牌。对于使用GitHub登录的用户会使用其GitHub OAuth令牌创建PR确保正确归因且用户只能在有写入权限的仓库上创建PR。以其他方式如Google登录的用户没有SCM令牌因此他们的PR会使用共享的GitHub App机器人。令牌架构令牌类型用途范围GitHub App令牌代理git克隆/拉取/推送认证App已安装的所有仓库用户OAuth令牌创建PR、获取用户信息用户有权限访问的仓库沙箱认证令牌沙箱到控制平面的会话调用单个会话WebSocket令牌实时会话认证单个会话为何仅支持单租户此架构遵循Ramp的Inspect设计该设计是为内部使用而构建的所有员工都是受信任的并且可以访问公司仓库。对于多租户部署你需要为每个租户安装GitHub App在会话创建时进行访问验证在数据模型中实现租户隔离。部署建议部署在你组织的SSO/VPN之后确保只有授权员工可以访问Web界面仅在预期的仓库上安装GitHub App因为App的安装范围决定了系统可以访问的内容限制登录方式配置允许的GitHub用户、电子邮件域名或活跃的GitHub组织成员身份ALLOWED_GITHUB_ORGS使用GitHub的仓库选择功能在安装App时选择特定的仓库而不是“所有仓库”。架构┌──────────────────┐│ Clients ││ ┌──────────────┐ ││ │ Web / Slack │ ││ │ GitHub / Lin.│ ││ │ Webhooks │ ││ └──────────────┘ │└────────┬─────────┘▼┌────────────────────────────────────────────────────────────────────┐│ Control Plane (Cloudflare) ││ ┌──────────────────────────────────────────────────────────────┐ ││ │ Durable Objects (per session) │ ││ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌───────────────┐ │ ││ │ │ SQLite │ │WebSocket│ │ Event │ │ GitHub │ │ ││ │ │ DB │ │ Hub │ │ Stream │ │ Integration │ │ ││ │ └─────────┘ └─────────┘ └─────────┘ └───────────────┘ │ ││ └──────────────────────────────────────────────────────────────┘ ││ ┌──────────────────────────────────────────────────────────────┐ ││ │ D1 Database (repo-scoped secrets) │ ││ └──────────────────────────────────────────────────────────────┘ │└────────────────────────────────┬───────────────────────────────────┘▼┌────────────────────────────────────────────────────────────────────┐│ Data Plane (Sandbox Backend) ││ ┌──────────────────────────────────────────────────────────────┐ ││ │ Session Sandbox │ ││ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ ││ │ │ Supervisor│──│ OpenCode │──│ Bridge │─────────────────┼──┼──▶ Control Plane ││ │ └───────────┘ └───────────┘ └───────────┘ │ ││ │ │ │ │ │ │ │ │ │ │ Full Dev Environment │ ││ │ │ (Node.js, Python, git, agent-browser) │ ││ └──────────────────────────────────────────────────────────────┘ │└────────────────────────────────────────────────────────────────────┘软件包软件包描述control-planeCloudflare Workers Durable ObjectswebNext.js Web客户端sandbox-runtime共享的沙箱内代理运行时modal-infraModal沙箱基础设施daytona-infraDaytona快照基础设施opencomputer-infraOpenComputer模板基础设施slack-botSlack集成通过消息启动会话github-botGitHub集成自动审查、提及linear-botLinear集成将问题转化为编码会话shared共享类型和实用工具快速开始若要获取实际的设置指南本地 贡献者 部署路径请从docs/SETUP_GUIDE.md开始部署说明请参考docs/GETTING_STARTED.md若要了解架构和核心概念请阅读docs/HOW_IT_WORKS.md若要设置定期任务请参阅docs/AUTOMATIONS.md。关键特性1.快速启动通过多层预热会话几乎可以立即启动文件系统快照每次提示后沙箱状态会被保存后续会话将恢复状态而非重新克隆预构建镜像可按仓库设置 镜像或按环境设置 环境进行切换每30分钟使用最新提交和依赖项重新构建主动预热在你开始输入时沙箱就会开始启动无需按下回车键。2.多仓库会话与环境一个会话可以在单个沙箱中处理多个仓库临时集合在新会话选择器中最多选择10个仓库每个仓库会并排克隆代理可以进行协调更改并为每个仓库打开一个PR环境将仓库集合保存为一个命名环境设置自己的密钥范围和可选的预构建镜像然后像选择任何仓库一样从选择器中启动它。模型相关内容请参阅docs/HOW_IT_WORKS.md环境预构建请参阅docs/IMAGE_PREBUILD.md。3.多人会话多个用户可以在同一会话中协作在线状态指示器显示谁处于活跃状态在git提交中提示会归因于其作者实时流式传输到所有连接的客户端。4.提交归因提交会归因于发送提示的用户// 为每个提示配置git身份await configureGitIdentity({name: author.scmName,email: author.scmEmail,});5.多供应商模型支持选择适合你任务的AI模型并可对每个会话的推理工作进行控制供应商模型AnthropicClaude Haiku 4.5、Sonnet 4.5/4.6、Opus 4.5/4.6/4.7/4.8、Fable 5OpenAIGPT 5.4、GPT 5.5、5.3 Codex、5.3 Codex SparkOpenCode ZenKimi K2.5/K2.6、MiniMax M2.5、Qwen3.7 Max、GLM 5/5.1可选加入、Z.AI Coding Plan GLM 5.2可选加入OpenAI模型可通过OAuth与你现有的ChatGPT订阅配合使用无需单独的API密钥。完整的模型列表请参阅docs/AVAILABLE_MODELS.mdOpenAI设置说明请参阅docs/OPENAI_MODELS.md。客户端集成可在团队日常工作的任何地方与代理进行交互Web UI提供完整的会话管理功能包括实时流式传输、模型/推理选择器、终端面板和多人在线状态显示Slack机器人通过提及或私信启动会话结果会以线程形式回复。可通过App Home设置每个用户的模型和分支偏好。具体请参阅Slack集成文档GitHub机器人在PR打开时自动审查或响应PR评论中的提及。可按仓库进行配置。具体请参阅GitHub集成文档Linear机器人在问题中提及或分配代理以启动编码会话发布进度活动并链接生成的PR。具体请参阅Linear集成文档Webhook通过经过身份验证的HTTP POST从任何外部系统触发会话。自动化可安排定期任务或对外部事件做出反应无需人工干预Cron调度支持每小时、每天、每周、每月或自定义的5字段Cron表达式并支持时区设置Sentry警报在出现新错误、回归或关键指标警报时自动进行分类入站Webhook使用JSONPath条件过滤器来决定哪些有效负载可以启动会话多仓库分发一个计划的自动化任务可以在最多10个仓库上运行为每个仓库打开一个单独的会话和拉取请求连续失败3次后自动暂停提供手动触发按钮并记录完整的运行历史。设置说明请参阅docs/AUTOMATIONS.md。沙箱环境每个会话都在一个隔离的沙箱后端中运行具备完整的开发环境预安装软件Node.js 22、Python 3.12、Bun、git、GitHub CLI、build-essential浏览器自动化agent-browser CLI搭配无头Chromium可用于截图、视觉差异比较和UI验证Code-server可选的基于浏览器的VS Code连接到会话工作区Web终端由ttyd驱动的终端可从会话UI访问端口隧道通过加密隧道暴露最多10个开发服务器端口。在.openinspect/start.sh运行之前URL可在沙箱内的/workspace/.tunnels.env中找到详细信息密钥管理采用AES-256-GCM加密支持全局、按仓库或按环境的作用域在启动时作为环境变量注入。支持批量粘贴导入.env文件。子任务生成代理可以将工作分解为并行的子会话spawn-task可在其自己的沙箱中创建一个子会话并立即返回父任务继续工作子任务在单独的分支上并行运行提供get-task-status和cancel-task进行协调实施深度限制和按仓库的防护措施。仓库生命周期脚本仓库可以在.openinspect/下定义两个可选的启动脚本#.openinspect/setup.sh (配置脚本)#!/bin/bashnpm installpip install -r requirements.txt#.openinspect/start.sh (运行时启动脚本)#!/bin/bashdocker compose up -d postgres redissetup.sh用于镜像构建和全新会话。在使用预构建镜像和恢复快照启动时会跳过该脚本。对于全新会话setup.sh失败不会导致会话启动失败但在镜像构建模式下失败则会导致构建失败start.sh在每个非构建会话启动时运行全新、预构建镜像、恢复快照。如果该脚本存在且失败则会话启动失败默认超时时间SETUP_TIMEOUT_SECONDS默认300秒START_TIMEOUT_SECONDS默认120秒两个钩子都会接收到OPENINSPECT_BOOT_MODEbuild、fresh、repo_image、snapshot_restore。当共享安装有权限时钩子中的git操作可以对配置的SCM主机上的其他私有仓库进行身份验证。许可证MIT致谢受Ramp的Inspect启发并使用以下技术构建Modal - 云沙箱基础设施Daytona - 云开发沙箱Vercel Sandbox - 云沙箱基础设施OpenComputer - 云沙箱基础设施Cloudflare Workers - 边缘计算OpenCode - 编码代理运行时Next.js - Web框架
内部Wiki+同源多站发布建AI驱动的高效知识库 内部Wiki同源多站发布:用Baklib搭建AI驱动的高效知识库很多企业明明积累了大量的内部流程和项目经验,却都散落在各人的邮件、聊天记录和本地文件里。新员工 onboarding 全靠口口相传,老员工一走,知识也跟着流失。其实,… 2026/7/13 9:14:11
OpenCV工业级视觉实战:7个不可绕过的底层能力 1. 项目概述:这不是“学OpenCV”,而是用OpenCV解决真实视觉问题的实战清单你打开过OpenCV官方文档,翻到第3页就关掉了;你照着教程跑通了人脸检测,但一换摄像头就报错;你写了20行代码读取图像、转灰度、高斯… 2026/7/13 9:12:10
MATLAB实阶微分方程离散化工具包:从分数阶ODE/PDE到可运行矩阵代码 本文还有配套的精品资源,点击获取 简介:一套开箱即用的MATLAB工具集,专门解决任意实数阶(含分数阶)常微分方程和偏微分方程的离散建模问题。所有功能基于矩阵构造法实现,不依赖Symbolic或PDE工具箱&… 2026/7/13 9:12:10
Flutter---Column/Row 本质Column 和 Row 都是 Flex 的语法糖,一个设置 direction: Axis.vertical,一个设置 direction: Axis.horizontal。Flex布局的底层约束传递机制1. 父组件传约束(Constraints)给子组件↓ 2. 子组件根据自己的大小返回尺寸… 2026/7/13 10:49:03
多智能体任务编排黄金法则:基于37个真实产线项目的动态角色分配模型 更多请点击: https://kaifayun.com 第一章:多智能体任务编排黄金法则:基于37个真实产线项目的动态角色分配模型 在37个覆盖汽车制造、半导体封装、医药分装及物流调度的工业产线项目中,我们发现静态角色绑定导致平均任务失败率高… 2026/7/13 10:47:02
DC-DC升压转换器设计与PIC微控制器控制策略 1. 高电压DC-DC升压转换系统架构设计在电力电子领域,DC-DC升压转换器是实现电压变换的核心部件。我们采用TPS61170作为功率转换芯片,配合PIC18F86K22微控制器构建智能控制系统,这种组合特别适合需要高输出电压(最高38V)… 2026/7/13 10:45:01
Unity景深效果实战:从参数配置到动态对焦脚本实现 1. 项目概述:从“清晰”到“电影感”的临门一脚在Unity里折腾过画面的朋友,肯定都经历过这个阶段:模型精度上去了,PBR材质调好了,光照也烘得差不多了,但总觉得画面“平”,像游戏截图,… 2026/7/13 10:43:00
静态人体检测方案:TPIS1S1385传感器与PIC18F86J10应用 1. 项目背景与核心需求在智能家居和安防监控领域,精确的存在感应和运动检测一直是关键技术难点。传统红外传感器只能检测移动的热源,当人体静止时就会失效。这个项目通过TPIS1S1385红外传感器和PIC18F86J10微控制器的组合,实现了对静态人体的… 2026/7/13 10:43:00
C++工业级多任务队列:从并发原理到高性能实现 1. 项目概述与核心价值 最近在整理自己的技术栈,发现很多C开发者,尤其是工作了三五年、准备冲击高级岗位的朋友,简历上总缺那么一两个能“镇得住场子”的项目。大家可能做过一些网络库、写过一些业务逻辑,但真正能体现你对并发、内… 2026/7/13 10:40:58
HS2-HF Patch终极指南:如何用3步解决Honey Select 2的70+个痛点 HS2-HF Patch终极指南:如何用3步解决Honey Select 2的70个痛点 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾经在Honey Select 2中遇到过… 2026/7/13 0:01:19
语音转文字工具AsrTools:让音频整理变得简单高效 语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text … 2026/7/13 0:03:19
基于深度学习的蘑菇或花卉或动漫人物或中草药货水果蔬菜等识别系统31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_ 基于深度学习的蘑菇或花卉或动漫人物或中草药货水果蔬菜等识别系统31(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ 独家界面!不会重复,此项目属于本人原创,若有雷同,均是盗卖,各位买… 2026/7/13 0:05:20
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/13 9:31:08
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/13 2:34:55