mcpField
D
DepTime

DepTime

本地服务
github.com/cschmertz其他0今天更新

关于 DepTime

DepTime 是供编码 Agent 使用的 Python 库 API 历史查询工具。它通过已索引版本间的静态差异定位符号变更及替代方案,代码和错误信息不会离开本机。

主要功能

  1. 01结合版本证据解释 Python API 错误
  2. 02浏览符号的跨版本历史
  3. 03预先检查符号和关键字参数
  4. 04比较版本或指定日期以来的变更
  5. 05基于预构建版本索引本地回答

适用场景

  1. 01诊断 ImportError 或已移除的参数
  2. 02生成代码前核实记忆中的 API
  3. 03升级依赖前检查破坏性变更

MCP 相关

本地 MCP 服务提供错误解释、符号历史、符号预检查、版本差异和索引覆盖范围查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cschmertz-deptime": {
"command": "uvx",
"args": [
"deptime"
],
"env": {
"DEPTIME_OFFLINE": "<DEPTIME_OFFLINE>",
"DEPTIME_HOME": "<DEPTIME_HOME>"
}
}
}
}
启动命令uvx deptime
需要配置的环境变量
DEPTIME_OFFLINESet to 1 to never touch the network: no index download and no daily update check.
DEPTIME_HOMEWhere the index is stored. Defaults to ~/.cache/deptime.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypideptime0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

DepTime

面向编码 Agent 的 Python 库 API 时光机。

PyPI Python CI Index build License: MIT

当 Agent 在快速演进的库中遇到 ImportError、AttributeError 或“意外的关键字参数”时,只需调用一次 DepTime,就能知道发生了什么变化、在哪个版本中变化,以及应该改用什么。答案根据所有已索引版本的静态差异计算得出,而非来自文档或模型记忆。

免费、开源(MIT),并且在本地运行:你的代码和错误绝不会离开你的设备。

DepTime 的工作原理。在 GitHub 上每晚构建:静态读取新的 PyPI 版本,并逐个版本进行差异比较;绝不导入或运行软件包。只有一个文件会传到你的设备:index.sqlite.gz。在你的设备上回答:deptime mcp 在本地为你的 Agent 提供答案,你的代码和错误都留在本地。

TypeError: Client.__init__() got an unexpected keyword argument 'proxies'
{
  "symbol": "httpx.Client.__init__(proxies)",
  "issue": "param_removed",
  "installed_version": "0.28.1",
  "last_version_with": "0.27.2",
  "first_version_without": "0.28.0",
  "deprecated_in": "0.26.0",
  "replacements": [
    {"target": "proxy", "confidence": 0.8, "source": "deprecation_message"},
    {"target": "mounts", "confidence": 0.79, "source": "deprecation_message"}
  ],
  "pin_to_restore": "httpx<=0.27.2",
  "confidence": "high"
}

这就是从已发布索引中得到的真实 explain_error 答案,只是经过了删节。完整答案还会引用 DepTime 在 httpx 自身源码中找到的弃用消息,并添加一句说明,供你的 Agent 转述。

状态: alpha。预构建索引每晚重新构建。已知缺口记录在 BACKLOG.md 中。

安装

需要 uv。

# Claude Code. Cursor, Codex, VS Code and Claude Desktop take the same
# command (uvx deptime mcp) in their MCP config.
claude mcp add deptime -- uvx deptime mcp

首次启动时,DepTime 会在后台下载其预构建索引(来自此仓库 GitHub Releases 的一个文件),随后最多每天检查一次是否有更新。设置 DEPTIME_OFFLINE=1 可使其完全不访问网络。

Claude Code 用户也可以通过 /plugin marketplace add cschmertz/deptime,然后运行 /plugin install deptime@deptime,在 integrations/claude-code 中安装插件。插件会添加一项技能和一个本地钩子,当命令输出中出现 Python 版本变更错误时,会建议使用 DepTime。

工具

工具使用场景
explain_error(traceback, installed_versions?, pip_freeze?)导入库或调用库函数刚刚失败时
symbol_history(package, path)在依赖记忆中的 API 之前
check_symbols(package, version, symbols[{path, kwargs}])预先检查即将使用的符号和 kwargs
diff_versions(package, from_version | date, to_version?, used_symbols?)升级时,或想知道“自训练截止日期以来发生了什么变化?”时
coverage()查看已索引内容(52 个快速演进的软件包:AI/Agent 技术栈,以及已知会出现重大变更的库)

每个答案都附带证据和置信度。如果某个软件包未覆盖,DepTime 会如实说明,而不会猜测。接口约定详见 docs/03-product-spec.md。

CLI

uvx deptime explain --installed httpx==0.28.1 < traceback.txt
uvx deptime history httpx Client.__init__
uvx deptime check httpx 0.28.1 'httpx.Client:proxies,proxy'
uvx deptime diff httpx 0.27.2 0.28.1
uvx deptime diff pydantic 2024-06-01              # everything since a date
uvx deptime index status | pull

工作原理

每晚,GitHub Actions 都会使用 griffe 读取每个新版本的公开 API。griffe 会在不运行代码的情况下解析源代码,将其与前一个版本进行比较,并将结果作为单个文件 index.sqlite.gz 发布到此仓库的 Releases 中。在你的计算机上,deptime mcp 会在替换文件前检查其 sha256 和架构,然后在本地以毫秒级速度回答每个问题。完整设计见 docs/04-architecture.md,相关决策见 docs/adr/。

托管(可选)

本地模式适用于编码 Agent。对于只接受 URL 的 Web 客户端或公开演示,可在 Cloud Run(很可能免费)或 Fly.io(每月约 $3–6)上运行 deptime serve(MCP 位于 /mcp,JSON 位于 /v1/*)。项目包含 Dockerfile 和 fly.toml,并设有匿名速率限制。详见 docs/05-hosting-and-sustainability.md。

相关项目与致谢

  • griffe 负责静态分析。
  • since-cutoff 可在本地按需将你锁定的依赖项与模型的训练截止时间进行比较。DepTime 则通过提供预构建的跨版本索引,并从回溯信息入手,与之有所不同。
  • Context7 和 Ref 提供特定版本的文档。DepTime 则回答符号级别的“何时替换,以及由什么替换”问题。

贡献

最有帮助的贡献是报告错误答案,这些报告会成为基准测试用例。详见 CONTRIBUTING.md。开发环境设置:

uv sync && uv run pytest
# build a small local index from real PyPI wheels
uv run deptime ingest httpx --versions 0.27.2 0.28.1

文档

产品规格 · 架构 · 托管与可持续性 · 发布与采用 · 风险与试验 · 隐私与安全

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。