{"repo":"Krual-T/OpenRelay","free":true,"listed":false,"github":"https://github.com/Krual-T/OpenRelay","clone":"git clone https://github.com/Krual-T/OpenRelay.git","description":"在飞书中远程控制按项目定制的 Codex Agent，保留最原生的体验。Feishu-native remote control for project-specific Codex agents.","language":"Python","stars":20,"topics":["agent","automation","chatops","codex","coding-agent","developer-tools","fastapi","feishu","lark","llm"],"license":null,"category":"workflow-automation","readme_excerpt":"OpenRelay——把你的 coding agent，接进飞书。 让 Codex 真正以“远程工作台”的方式进入飞书：保留原生 session、支持 thread 内连续追问、可按目录切换不同项目上下文，并把流式执行过程稳定投影回聊天界面。 Connect your local coding agent to Feishu with real backend sessions, thread-first follow-ups, and per-directory project context. 这项目是干什么的 大多数“聊天接代码”的工具，一旦任务变复杂，就会迅速露出原形： - session 不是真续接，只是在重复喂 prompt - 聊天壳和 agent runtime 混在一起，行为不可控 - 切目录、切项目后，上下文和能力边界很容易乱掉 - 长任务在 IM 里几乎不可读，也不可追踪 openrelay 想做的是另一条路： 把飞书变成一个真正可用的 coding-agent 远程控制面板，而不是一个演示味很重的“问答机器人”。 它当前的主线能力是： - 直接续接真实 backend thread，而不是伪造“上下文连续” - 让 Feishu thread 和本地 agent session 形成稳定绑定 - 按目录切换不同项目，并保留各自独立的 agent 定义与能力边界 - 把运行中状态、流式输出、最终答复投影回飞书 - 在内部保持 backend-neutral runtime，不把产品绑死在单一 provider 上 目前主线路径是 Codex app-server ； Claude 适配器已经接进同一套 runtime 形状，但还只是最小实现。 它不是另一个 OpenClaw 壳层 很多人第一反应会把这类产品和 OpenClaw 风格方案放在一起看，但 openrelay 的判断不一样。 OpenClaw 类方案的优点是“开箱即用、界面像一个完整产品”，但代价通常也很明显： - 它往往自带一整套自己的 agent 壳、交互壳和产品约束 - 你需要接受它定义好的工作流、呈现方式和能力边界 - 一旦你已经在本机把 Codex 打磨出了自己的目录结构、技能、提示词和项目约定，这些沉淀很容易被包在外壳里，不能原样复用 openrelay 走的是另一条路： - 不重做一个“替你定义 agent”的平台 - 不试图覆盖你本机已经存在的 Codex 使用方式 - 重点是把你已经调好的本地 Codex，会话级、目录级、项目级地接进飞书 如果你本来就熟悉怎么自定义 Codex，这一点会特别有价值。 为什么它会和别的 bot 不一样 1. 它真的尊重 session /resume 绑定的是 backend 原生会话，不是“再发一遍历史消息”。 这意味着 openrelay 的连续性不是文案层面的连续，而是运行时层面的连续。 2. 它以 thread-first 方式工作 在飞书里，你可以直接在线程里继续追问、补充信息、停止当前运行，再让下一轮 follow-up 接着处理，而不是每次都从头开聊。 3. 它允许你按目录“切换不同的 Codex agent” openrelay 本身不替你重新发明 agent 定义。 它真正提供的能力是：把你电脑上不同目录里的 Codex 配置、项目约定、技能和工作方式，作为真实执行环境接进飞书。 这意味着只要你熟悉如何定制 Codex，你就可以让不同项目天然拥有不同的： - system prompt / 协作约","default_branch":null,"files":null,"tree":[],"storefront":"/r/Krual-T","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Krual-T/OpenRelay/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}