@ai-matrx/编码会话
开车的人 拥有 Claude Code和Codex——在自己的订阅登录上,没有API 键——来自AI Matrx,并接管他们在其他地方开始的聊天. 一个干净的屏幕,没有终端.
./engine(节点)——开始,跟进,停止并接管编码会话. 环绕剪贴板 麻省理工学院驱动软件包(@paperclipai/adapter-claude-local, (中文(简体) ),@paperclipai/adapter-codex-local, (中文(简体) ),@paperclipai/adapter-utils我们的2026-09-27的钉子都在里面../server(节点) — 本地主机: HTTP + WebSocket on127.0.0.1只有一次发射后 随机标记。 服务于屏幕,并把它接上引擎../react——屏幕:运行 ——最近 ——你的其他聊天,现场录音@ai-matrx/chat(马克下答,可折叠的工具卡,流出),作曲家,和New 会话流程。 光阴相克..——纯半个:类型,提供者正常化器,投射到聊天信息中, 和WebSocket的运输.
运行屏幕
npx coding-sessions host start --port 4789
# CODING_SESSIONS_URL=http://127.0.0.1:4789/?token=…
打开打印的 URL 。 信使读出一次,只保存该分页,然后从地址取出 栏。 主机拒绝任何没有符号或来自其他来源的套接字 .
直接使用引擎
import { createCodingSessionsEngine } from "@ai-matrx/coding-sessions/engine";
const engine = await createCodingSessionsEngine();
engine.subscribe((event) => console.log(event)); // session · run · item (normalized, both providers)
const providers = await engine.providers(); // installed, version, signed in, subscription vs API
const others = await engine.discoverSessions(); // existing Claude Code + Codex chats on this computer
const { session, run } = await engine.start({ provider: "claude", cwd: "/path/to/repo", prompt: "Fix the flaky test" });
await engine.send(session.id, "Now add a regression test"); // queues if a run is live
await engine.stop(run!.runId);
const taken = await engine.takeover({ provider: "codex", providerSessionId: others[0].providerSessionId, cwd: others[0].cwd! });
await engine.send(taken.id, "Pick up where we left off");
译名保留在提供者自己的文件中(~/.claude/projects, (中文(简体) ), ~/.codex/sessions; 计 数
引擎只保留一个小会话索引并运行于 ~/.matrx/coding-sessions/index.json。 。 。 .
账目和限额. 与东道主 accounts 端口,每个账户都保持自身的健康
使用量( Claude 代码: 从其运行量” ) rate_limit_event; Codex: 其用法探测器),所以限制在一上
账户从不屏蔽另一个账户。 当一个会话的账户有限,另一个签入的账户
同样的应用程序是免费的, providers() 说吧continueOn)和屏幕提供"继续
" ; engine.continueOnAccount(sessionId, accountId) 复制聊天内容到账户
回到原地再转弯 主机的取号是引擎选项
switchAccount: "off" | "offer" (默认) "offer") (中文(简体) ).
在您的应用程序中挂起屏幕
import { createWebSocketTransport } from "@ai-matrx/coding-sessions";
import { CodingSessionsApp } from "@ai-matrx/coding-sessions/react";
<CodingSessionsApp transport={createWebSocketTransport({ url: "ws://127.0.0.1:4789/ws", token })} />;
一个桌面外壳通过执行将 WebSocket 替换为 IPC CodingSessionsTransport 在线
侧并呼叫 createHostBridge(engine).handle(method, args) 在另一个方面,即:
引擎永远不变.
Styling:屏幕采用设计系统的语义"Tailwind"类. 尾风 v4 主机导入
@ai-matrx/design-system/theme.css,聊天软件包 tokens.css 财务报告和审定财务报表 styles.css添加
这个包裹 dist 作为 @source的页面 ./server 所有的船都编了起来.
它故意不这样做
- 工具许可审批. 绕过它们运行( Claude 的驱动默认; Codex 运行于其中) 拥有工作空间- 写有网络的沙盒 。 批准是后来的一个特点.
- 复制笔录. 读取聊天会读取提供者自己的文件; 没有复制内容 .
许可证
麻省理工学院. 装入剪纸 AI在运行时间的麻省理工学院许可驱动软件包——参见 NOTICE。 。 。 .