Temporal reasoning for AI agents.
Deadlines, schedules, sequences, durations, and decay. One file. Any model.
Problems Solved · Quickstart · How It Works · MCP Tools · Benchmarks · Install · API · Papers
______________________________________________________________________
每个AI代理都活在当下。
克劳德不知道你的截止日期是星期五。GPT无法告诉您两个会议重叠。你的副驾驶没有“这项任务需要8个小时”的概念 每次会议都忽略了时间。
当前的修复不起作用。日历API是只读的筒仓——你得到的是事件,而不是 *“这到底需要多长时间?”*Markdown TODO列表没有时间结构——没有依赖关系,没有衰减,没有置信度。提醒应用程序是扁平的——没有序列,没有PERT估计,没有冲突检测。
代理时间 在单个二进制文件中为您的代理提供结构化的时间推理。不是“设置计时器”。你的代理人有一个 时间线 --截止日期、时间表、序列、持续时间估计和衰减曲线——所有这些都是持久的,都可以在微秒内查询。
已解决的问题(请先阅读)
- 问题: 谈话之间的最后期限消失了。
解决了的: 持久的 .atime 文件在重启、模型切换和会话之间的长时间间隔中幸存下来。
- 问题: 无法检测日程冲突。
解决了的: 具有优先级感知分辨率的所有计划事件的自动重叠检测。
- 问题: 持续时间估计消失,没有反馈循环。
解决了的: 带置信区间的PERT估计;实际值与估计值相符。
- 问题: 多步骤工作流没有时间结构。
解决了的: 序列模型具有依赖约束和状态跟踪的有序步骤。
- 问题: 所有信息不分年龄加权。
解决了的: 四种衰变模型(线性、指数、半衰期、阶跃)量化新鲜度。
- 问题: 时间线状态在项目之间流血。
解决了的: 每个项目 .atime 具有基于路径隔离的文件。
from agentic_time import TimeGraph
tg = TimeGraph("project.atime")
# Your agent plans
tg.add_deadline("Ship v1.0", "2026-03-15T17:00:00Z", priority="high")
tg.add_duration_estimate("Auth refactor", hours=8, confidence=0.7)
tg.add_schedule("Code review", "2026-03-04T10:00:00Z", 120, priority="medium")
# Query temporal state
deadlines = tg.list_deadlines(status="active")
stats = tg.stats()操作命令(CLI):
atime deadline list --format json
atime schedule list --conflicts五种实体类型。十九个MCP工具。一个文件包含所有内容。适用于Claude、GPT、Ollama或您接下来切换到的任何LLM。
______________________________________________________________________
MCP工具
AgenticTime曝光 19个MCP工具 对于AI代理:
截止日期工具
| 工具 | 说明 |
|---|---|
time_deadline_add | 添加具有优先级和可选后果的截止日期 |
time_deadline_list | 列出截止日期,可选择按状态筛选 |
time_deadline_update | 更新截止日期状态、优先级或截止日期 |
time_deadline_remove | 删除截止日期 |
计划工具
| 工具 | 说明 |
|---|---|
time_schedule_add | 添加具有持续时间和重复性的计划事件 |
time_schedule_list | 列出带有可选冲突检测的计划 |
time_schedule_update | 更新计划详细信息 |
time_schedule_remove | 删除日程表 |
time_schedule_conflicts | 检查时间表是否重叠 |
序列工具
| 工具 | 说明 |
|---|---|
time_sequence_create | 创建具有依赖关系的多步骤序列 |
time_sequence_step | 将序列推进到下一步 |
time_sequence_status | 获取当前序列状态 |
腐朽工具
| 工具 | 说明 |
|---|---|
time_decay_configure | 配置衰变曲线(线性/指数/半衰期/步长) |
time_decay_query | 查询衰减值的当前新鲜度 |
time_decay_list | 列出所有配置的衰变模型 |
工期工具
| 工具 | 说明 |
|---|---|
time_duration_estimate | 使用PERT和置信区间估算任务持续时间 |
time_duration_track | 根据估计跟踪实际时间 |
通用工具
| 工具 | 说明 |
|---|---|
time_stats | 获取时间统计数据 |
time_now | 获取配置时区中的当前时间 |
MCP提示
time_plan -- Project planning with temporal structure
time_review -- Timeline health check
time_estimate -- Duration estimation workflow
time_schedule_day -- Daily schedule planning______________________________________________________________________
基准测试
锈芯。零拷贝访问。来自标准统计基准的实数:
| 操作 | 时间 | 规模 |
|---|---|---|
| 添加截止日期 | 0.02毫秒 | 100个实体 |
| 列出截止日期 | 0.05毫秒 | 100个实体 |
| 冲突检测 | 0.1毫秒 | 100个实体 |
| 列出截止日期 | 0.4毫秒 | 1K实体 |
| 冲突检测 | 0.8毫秒 | 1K实体 |
| 列出截止日期 | 3.8毫秒 | 10K个实体 |
| 冲突检测 | 7.2毫秒 | 10K个实体 |
| 衰变查询 | 0.001毫秒 | 任何比例尺 |
| 保存文件 | 28毫秒 | 10K个实体 |
在Apple M4 Pro、64 GB、Rust 1.90.0上使用Criterion(100个样本)测量的所有基准测试 --release.容量: 一年的日常使用会产生一个小 .atime 文件。专为多年项目跟踪而设计,无需担心增长问题。
Comparison with existing approaches
| 日历API | 降价TODO | 提醒应用程序 | 代理时间 | |
|---|---|---|---|---|
| 冲突检测 | 有限 | 无 | 无 | 自动 |
| 持续时间估计 | 无 | 无 | 没有 | PERT+信心 |
| 腐朽模型 | 无 | 无 | 没有 | 4型号 |
| 序列依赖关系 | 无 | 手动 | 无 | 头等舱 |
| 可移植性 | 供应商锁定 | 基于文件 | 应用程序锁定 | 单个文件 |
| 外部依赖 | 云服务 | 无 | 云服务 | 无 |
| MCP本机 | 否 | 否 | 是 |
______________________________________________________________________
为什么选择AgenticTime
时间是一种结构,而不是一个简单的列表。 当你计划一个项目时,你需要有依赖关系的序列、有优先级的截止日期、有冲突检测的时间表和有信心的持续时间估计。这是时间推理。TODO列表永远无法提供此功能。
一个文件。真正便携。 你的整个时间线是一个单一的 .atime 文件。复制它。备份它。版本控制。没有云服务,没有API密钥,没有供应商锁定。
任何法学硕士,任何时候。 今天从克劳德开始。明天切换到GPT。明年改用本地模式。相同的临时文件。
五种实体类型。 截止日期、时间表、序列、持续时间估计和衰减曲线。每个模型都使用特定于域的语义进行建模,而不是通用的键值对。
______________________________________________________________________
安装
一个衬垫 (桌面配置文件,向后兼容):
curl -fsSL https://agentralabs.tech/install/time | bash下载预构建 agentic-time-mcp 二进制到 ~/.local/bin/ 并将MCP服务器合并到您的Claude Desktop和Claude Code配置中。需要 curl 和 jq. 如果发布工件不可用,安装程序会自动回退到 cargo install --git 源代码安装。
环境概况 (每个环境一个命令):
# Desktop MCP clients (auto-merge Claude Desktop + Claude Code when detected)
curl -fsSL https://agentralabs.tech/install/time/desktop | bash
# Terminal-only (no desktop config writes)
curl -fsSL https://agentralabs.tech/install/time/terminal | bash
# Remote/server hosts (no desktop config writes)
curl -fsSL https://agentralabs.tech/install/time/server | bash| 通道 | 命令 | 结果 | |
|---|---|---|---|
| GitHub安装程序(官方) | `curl -fsSL https://agentralabs.tech/install/time \ | bash` | 安装可用的发布二进制文件,否则进行源代码回退;合并MCP配置 |
| GitHub安装程序(桌面配置文件) | `curl -fsSL https://agentralabs.tech/install/time/desktop \ | bash` | 显式桌面配置文件行为 |
| GitHub安装程序(终端配置文件) | `curl -fsSL https://agentralabs.tech/install/time/terminal \ | bash` | 仅安装二进制文件;不写入桌面配置 |
| GitHub安装程序(服务器配置文件) | `curl -fsSL https://agentralabs.tech/install/time/server \ | bash` | 仅安装二进制文件;服务器安全行为 |
| crates.io配对板条箱(官方) | cargo install agentic-time-cli agentic-time-mcp | 安装 atime 和 agentic-time-mcp | |
| PyPI(SDK) | pip install agentic-time | Python SDK | |
| npm(wasm) | npm install @agenticamem/time | 基于WASM的Node.js和浏览器时间SDK |
服务器身份验证和工件同步
对于云/服务器运行时:
export AGENTIC_TOKEN="$(openssl rand -hex 32)"所有MCP客户端必须发送 Authorization: Bearer .
| 目标 | 命令 |
|---|---|
| 给我时间推理 | 运行上面的一个liner |
| Python开发人员 | pip install agentic-time |
| Rust开发人员 | cargo install agentic-time-cli agentic-time-mcp |
Detailed install options
开发包 (要求 atime Rust二进制):
pip install agentic-timeRust CLI+MCP:
cargo install agentic-time-cli # CLI (atime)
cargo install agentic-time-mcp # MCP serverRust库:
cargo add agentic-time部署模型
- 默认情况下为独立: AgentTime可独立安装和操作。与AgentMemory或其他姐妹的整合是可选的,从来不是必需的。
- 默认情况下按项目隔离: 每个项目都有自己的
.atime文件。
| 区域 | 默认行为 | 控件 | |||
|---|---|---|---|---|---|
| 文件位置 | 从项目根目录自动检测到 | ATIME_FILE=/path/to/project.atime | |||
| 时区 | UTC | ATIME_TIMEZONE=America/Toronto | |||
| 衰减模型 | 指数 | `ATIME_DECAY_MODEL=linear\ | exponential\ | half_life\ | step` |
| 衰变半衰期 | 168小时(1周) | ATIME_DECAY_HALFLIFE=168 | |||
| 身份验证令牌(服务器) | 无 | AGENTIC_TOKEN= |
______________________________________________________________________
MCP服务器
任何与MCP兼容的客户端都可以即时访问结构化时间推理。 这 agentic-time-mcp crate暴露了整个AgentTime引擎 模型上下文协议 (JSON-RPC 2.0通过标准输入)。
cargo install agentic-time-mcp配置Claude桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"agentic-time": {
"command": "agentic-time-mcp",
"args": ["serve"]
}
}
}零配置:默认为自动检测.atime在当前项目中。覆盖"args": ["--file", "/path/to/project.atime", "serve"].
配置VS代码/光标
增添 .vscode/settings.json:
{
"mcp.servers": {
"agentic-time": {
"command": "agentic-time-mcp",
"args": ["serve"]
}
}
}LLM能得到什么
| 类别 | 计数 | 示例 |
|---|---|---|
| 工具 | 19 | time_deadline_add, time_schedule_list, time_sequence_create, time_decay_query, time_duration_estimate, time_stats ... |
| 提示 | 4 | time_plan, time_review, time_estimate, time_schedule_day |
一旦连接,LLM可以管理截止日期、检测进度冲突、跟踪持续时间估计、逐步执行序列和查询衰减曲线——所有这些都有相同的支持 .atime 二进制文件。 完整的MCP文档->
______________________________________________________________________
快速入门
MCP代理——自然语言
安装并重新启动MCP客户端后,询问您的代理:
Set a deadline for "finish API review" on Friday at 5pm代理人打电话来 time_deadline_add 并将其保存到您的 .atime 文件。
How long will the auth refactor take?代理人打电话来 time_duration_estimate 具有置信区间。
Schedule a 2-hour code review every Tuesday at 10am代理人打电话来 time_schedule_add 复发。
What's on my timeline this week?代理人打电话来 time_deadline_list 和 time_schedule_list 展示即将到来的承诺。
Python SDK——直接访问
from agentic_time import TimeGraph
tg = TimeGraph("project.atime")
# Plan
tg.add_deadline("Ship v1.0", "2026-03-15T17:00:00Z", priority="high")
tg.add_schedule("Code review", "2026-03-04T10:00:00Z", 120, priority="medium")
tg.add_duration_estimate("Auth refactor", hours=8, confidence=0.7)
# Query
deadlines = tg.list_deadlines(status="active")
stats = tg.stats()______________________________________________________________________
常见工作流
- 计划发布 --设定截止日期,创建一系列里程碑,估计持续时间:
tg.add_deadline("Ship v1.0", "2026-03-15T17:00:00Z", priority="high", consequence="Missed launch window")
tg.add_duration_estimate("API redesign", hours=16, confidence=0.6)- 检测冲突 --在安排之前,检查是否有重叠:
atime schedule list --conflicts- 追踪新鲜度 --衰减曲线告诉你信息有多陈旧:
atime decay query memory-freshness --age 168
# freshness = 0.500 (exponential, halflife = 168h)- 多步骤工作流程 --序列模型部署管道:
atime sequence create "deploy-v1" --steps "build,test,stage,prod"
atime sequence step "deploy-v1" # advance to next step______________________________________________________________________
运作原理
AgentTime通过以下方式对时间数据进行建模 五种实体类型 以自定义二进制格式。每个实体都有特定于域的语义。该文件可以跨模型、客户端和部署进行移植。
为了提高性能和安全性,核心运行时是用Rust编写的。所有州都住在一个便携式 .atime 二进制文件——没有外部数据库,没有托管服务。MCP服务器通过JSON-RPC stdio公开了完整的引擎。
______________________________________________________________________
详细介绍五种实体类型:
| 类型 | 内容 | 示例 |
|---|---|---|
| 截止日期 | 具有优先级和后果的固定时间点 | “3月15日前发货v1.0,高优先级” |
| 日程 | 定期或一次性日历块 | “每周二上午10点2小时进行代码审查” |
| 序列 | 具有依赖关系的有序步骤链 | “构建->测试->阶段->产品” |
| 持续时间 | PERT置信度下的估计时间跨度 | “授权重构:估计8小时,置信度0.7” |
| 衰变 | 函数建模信息新鲜度 | “指数衰减,半衰期=168小时” |
腐朽模型 --四种类型: linear . exponential . half_life . step
二进制 .atime 文件 使用固定大小的记录(O(1)访问)、LZ4压缩内容和内存映射I/O。没有解析开销。没有外部服务。即时访问。
File format details
+-------------------------------------+
| HEADER 64 bytes | Magic (ATIM) . version . entity counts . feature flags
+-------------------------------------+
| DEADLINE TABLE fixed-size rows | label . due_at . priority . status . consequence
+-------------------------------------+
| SCHEDULE TABLE fixed-size rows | label . start_at . duration . recurrence . priority
+-------------------------------------+
| SEQUENCE TABLE fixed-size rows | label . steps[] . current_step . status
+-------------------------------------+
| DURATION TABLE fixed-size rows | label . estimate . actual . confidence
+-------------------------------------+
| DECAY TABLE fixed-size rows | label . model . params . created_at
+-------------------------------------+
| CONTENT BLOCK LZ4 compressed | UTF-8 text for labels and metadata
+-------------------------------------+______________________________________________________________________
验证
| 套件 | 测试 | |
|---|---|---|
| 锈芯发动机 | 42 | 实体操作、文件格式、衰变数学 |
| 压力测试 | 12 | 边界条件、重载、边缘情况 |
| CLI集成 | 8 | 工作流和命令行测试 |
| MCP服务器 | 21 | 协议、工具、提示、会话 |
| 总计 | 83 | 全部通过 |
研究论文:
______________________________________________________________________
存储库结构
这是一个Cargo工作区monorepo,包含核心库、MCP服务器、CLI和FFI绑定。
agentic-time/
├── Cargo.toml # Workspace root
├── crates/
│ ├── agentic-time/ # Core library (crates.io: agentic-time)
│ ├── agentic-time-cli/ # CLI (crates.io: agentic-time-cli)
│ ├── agentic-time-mcp/ # MCP server (crates.io: agentic-time-mcp)
│ └── agentic-time-ffi/ # FFI bindings (crates.io: agentic-time-ffi)
├── python/ # Python SDK (PyPI: agentic-time)
├── paper/ # Research papers (I)
├── docs/ # Documentation
└── scripts/ # CI and guardrail scripts运行测试
# All workspace tests (unit + integration)
cargo test --workspace
# Core library only
cargo test -p agentic-time
# Stress tests
cargo test --test "*stress*" --test "*boundary*" --test "*edge*"
# Benchmarks
cargo bench -p agentic-timeMCP服务器快速启动
cargo install agentic-time-mcp配置Claude桌面(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"agentic-time": {
"command": "agentic-time-mcp",
"args": ["serve"]
}
}
}______________________________________________________________________
姐妹融合
AgenticTime可以独立工作,但可以与其他Agentra姐妹集成:
- 能动记忆:衰变曲线告诉记忆新鲜。截止日期链接到决策节点。
- 机构愿景:时间表会触发定期的视觉捕捉。
- 代理代码库:序列模型部署管道。持续时间跟踪重构工作。
- 代理身份:用身份收据签名的临时操作。
______________________________________________________________________
.atime文件
你经纪人的时间表。一个文件。永远属于你。
| | | |-|-| |格式|二进制时间图,可移植| |适用于|克劳德、GPT、Llama、任何型号|
两个目的:
- 坚持:截止日期、时间表、序列在各个会话中都有效
- 富集:加载到任何模型中——突然间它知道你的时间线
模型是商品。你的时间就是价值。
______________________________________________________________________
隐私与安全
- 所有数据都保留在本地
.atime默认情况下,没有遥测,没有云同步。 - 每个项目的隔离确保了时间线数据在项目之间永远不会泄露。
- 服务器模式要求显式
AGENTIC_TOKEN承载身份验证的环境变量。
______________________________________________________________________
贡献
看 贡献.md.最快的帮助方式:
- 试试看 和 文件问题
- 添加MCP工具 --扩展时态推理能力
- 写一个例子 --展示一个真实的用例
- 改进文档 --每一个澄清都有助于某人
______________________________________________________________________
Built by Agentra Labs
