时间推理工具

AgenticTime是一个提供结构化时间推理的工具,支持管理截止日期、安排日程、跟踪持续时间估算和序列工作流,适用于AI代理和开发者。

  • by agentralabs
  • Rust
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 agentralabs/agentic-time

使用说明

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 <same-token>.

目标 命令
给我时间推理 运行上面的一个liner
Python开发人员 pip install agentic-time
Rust开发人员 cargo install agentic-time-cli agentic-time-mcp
Detailed install options

开发包 (要求 atime Rust二进制):

pip install agentic-time

Rust CLI+MCP:

cargo install agentic-time-cli       # CLI (atime)
cargo install agentic-time-mcp       # MCP server

Rust库:

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=<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()

常见工作流

  1. 计划发布 --设定截止日期,创建一系列里程碑,估计持续时间:

    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)
    
  2. 检测冲突 --在安排之前,检查是否有重叠:

    atime schedule list --conflicts
    
  3. 追踪新鲜度 --衰减曲线告诉你信息有多陈旧:

    atime decay query memory-freshness --age 168
    # freshness = 0.500 (exponential, halflife = 168h)
    
  4. 多步骤工作流程 --序列模型部署管道:

    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-time

MCP服务器快速启动

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、任何型号

两个目的:

  1. 坚持:截止日期、时间表、序列在各个会话中都有效
  2. 富集:加载到任何模型中——突然间它知道你的时间线

模型是商品。你的时间就是价值。


隐私与安全

  • 所有数据都保留在本地 .atime 默认情况下,没有遥测,没有云同步。
  • 每个项目的隔离确保了时间线数据在项目之间永远不会泄露。
  • 服务器模式要求显式 AGENTIC_TOKEN 承载身份验证的环境变量。

贡献

看 贡献.md.最快的帮助方式:

  1. 试试看 和 文件问题
  2. 添加MCP工具 --扩展时态推理能力
  3. 写一个例子 --展示一个真实的用例
  4. 改进文档 --每一个澄清都有助于某人

Built by Agentra Labs