Cordis 是一个面向时空计算场景的元框架(Meta-Framework),它不直接解决某个具体业务问题,而是重新定义“如何组织代码”——把程序逻辑按时间轴(何时执行)和空间域(何处运行)进行结构化拆分与动态组合。在物联网边缘协同、实时音视频调度、游戏状态同步、AI Agent 工作流编排等需要精细控制“什么时候、在哪个节点、执行哪段逻辑”的场景中,传统框架常陷入硬编码耦合或配置爆炸的困境;Cordis 则提供一套统一的时空抽象模型,让开发者像搭积木一样组合行为,真正实现“逻辑即拓扑,调度即声明”。
核心功能
- 时空坐标建模:支持为任意代码片段标注
time(如on('tick', 60)表示每秒60帧触发)和space(如in('client')或in('cloud:us-west')),自动完成跨环境调度与上下文注入 - 效应驱动(Effect-First)架构:以副作用(Effect)为一等公民,所有状态变更、IO操作、网络请求均通过可组合、可撤销、可快照的 Effect 声明,天然支持时间旅行调试与回滚重放
- 插件化运行时:内置轻量内核,所有能力(WebSocket 同步、Web Worker 分发、Redis 状态持久化、WebGPU 计算卸载等)均以插件形式接入,按需加载,零侵入扩展
- 跨平台一致语义:同一份 Cordis 应用代码,无需修改即可部署于 Node.js 服务端、Electron 桌面端、React Native 移动端甚至浏览器 Web Worker,时空逻辑保持完全一致
- 可视化时空图谱:配套 CLI 提供
cordis dev --graph命令,实时生成交互式时空依赖图,直观展示各模块在时间线上的触发关系与跨设备数据流向 - 渐进式迁移支持:可嵌入现有 Express、Next.js、Vue 或 Deno 项目中作为增强层,逐步将关键时空敏感逻辑(如多人协作光标、传感器融合、动画状态机)迁入 Cordis 管理
适合哪些人用
如果你正在开发以下类型的应用,Cordis 将显著降低系统复杂度:需要多端实时协同的 SaaS 工具(如在线白板、协作文档);高精度定时任务系统(工业 PLC 仿真、金融行情聚合);边缘-云混合架构的 IoT 平台;强调状态一致性与可预测性的游戏服务器;或正在探索 AI Agent 多智能体时空协作范式的前沿研究者。前端工程师、全栈开发者、边缘计算工程师及编程语言/运行时爱好者,都是 Cordis 的理想用户。
快速上手
只需三步,5分钟启动第一个时空应用:
- 安装 CLI:
npm install -g @cordis/cli - 初始化项目:
cordis init my-spatial-app && cd my-spatial-app - 编写一个带时空语义的模块(
src/modules/cursor.ts):
export default defineModule({
name: 'shared-cursor',
space: 'client',
time: on('input', 'mousemove'),
setup() {
return effect(() => {
broadcast({ x, y }, { to: 'all-clients' });
});
}
});
然后运行cordis dev即可看到多窗口间光标实时同步效果。
项目信息
Meta-Framework of Spatiotemporal Composability
TypeScript|7122 ⭐|MIT 开源协议|GitHub 项目地址
当你的应用开始同时与“时间”和“空间”对话,Cordis 就是你值得信赖的时空语法翻译器——它不取代你熟悉的框架,而是赋予它们理解世界本来面目的能力。


