devctx——克劳德代码的持久内存
Claude Code在会话之间会忘记一切。压缩对话,重新开始,或者下周再来——没了。你重新解释、重新定位、烧毁令牌,重建五分钟前存在的上下文。
devctx修复了这个问题。这是一个MCP服务器,记录您的操作,跟踪未完成的操作,并在您返回时自动将其反馈给Claude。将其视为开发会话的保存游戏。
用克劳德代码建造。为克劳德代码而建。
三个问题,一个工具
1.在压缩和重新启动后幸存的上下文
devctx将项目状态写入磁盘-- .devctx/ 在您的repo根目录中。活动日志、分支状态、会话记录、您当前的关注点。当Claude的上下文窗口重置时,devctx不会。每次会话启动时,它都会从磁盘上读取新的内容。
2.结构化待办事项跟踪
不是埋在代码中的注释。Claude可以通过MCP创建、更新和完成的跟踪、优先、分支感知项目。标记它们,将其范围限定到分支,按状态过滤。这 /devctx-goodbye 命令甚至根据您的会话建议新的待办事项——标记 [suggested] 所以你可以提拔或解雇他们。
3.陈旧项目恢复
你已经三个星期没碰过一个项目了。你完全失去了心理环境。跑 /devctx-status Claude告诉你正在做什么,什么是出色的,分支处于什么状态。它读取你的会话历史记录、git日志、todo和分支注释来重建图片。无需重新解释。
仪表盘
devctx包含一个web仪表板,可以在浏览器中可视化您的项目状态。活动日志、待办事项、git状态、会话历史——所有这些都来自同一个地方 .devctx MCP读取的数据。
node dist/dashboard/cli.js
# Opens localhost:3333旗帜: --port, --no-open, --dev.Ctrl+C停止。
运作原理
devctx作为 全局MCP服务器 那是 项目范围每个repo状态一次安装。它检测您所在的git仓库,并维护一个 .devctx/ 目录在那里。
它将密钥状态同步到您的 CLAUDE.md 在标记之间——焦点、分支、活动待办事项——这样克劳德在调用任何工具之前都有上下文。标记外的一切都未被触及。
Git挂钩(被动捕获)
在初始化过程中,devctx将四个钩子安装到 .git/hooks/:
| Hook | 它记录了什么 |
|---|---|
post-commit | 每次提交(哈希、主题、作者) |
post-checkout | 分支交换机 |
post-merge | 合并 |
pre-push | 推 |
这些火力来自任何终端,而不仅仅是克劳德·科德。环境上下文捕获。它们附加到 .devctx/activity.log 默默地,默默地失败,永远不要阻止git操作。
自动会话启动
任何新对话中的第一个devctx工具调用都会自动恢复跟踪,并记录 session_start 输入,并在问候语前添加您当前的关注点、分支和未完成的待办事项。
再见(会议结束)
/devctx-goodbye picking this up Thursday, blocked on API key from Dave保存按钮。Goodbye收集您的提交、活动、git状态和待办事项,然后生成一个包含三个部分的会话记录:发生了什么、未完成的事情和建议的下一步。它将记录保存到 .devctx/sessions/,自动添加建议的待办事项,同步CLAUDE.md,提交它,并暂停跟踪。
下次打开项目时, /devctx-status 读取此文件以告诉您停止的位置。
源TODO扫描
devctx扫描你的代码库 TODO, FIXME, HACK,以及 XXX init和再见时的评论。它将不同会话的结果进行比较,以便您可以看到添加或解析了哪些代码TODO。支持所有常见语言的26个以上文件扩展名。
AI叙事
当你有一个 ANTHROPIC_API_KEY 设置、状态和再见命令呼叫 claude-sonnet-4-20250514 生成会话的散文摘要——最近的工作、部署状态、优先的下一步。令牌限制是保守的(600表示状态,1200表示再见)。如果没有密钥,您将得到一个仍然有用的确定性回退。
工具(18)
| 工具 | 类型 | 描述 |
|---|---|---|
devctx_init | meta | 初始化项目(扫描语言/框架,安装git钩子) |
devctx_start | meta | 暂停后恢复跟踪 |
devctx_stop | meta | 暂停跟踪(读取仍然有效) |
devctx_goodbye | meta | 会话总结——AI摘要、自动待办事项、暂停 |
devctx_status | read | 包含分支、待办事项、生命体征和AI叙述的完整仪表板 |
devctx_summary | read | 仅限人工智能生成的叙述 |
devctx_whereami | read | 完整项目上下文转储 |
devctx_update_focus | write | 设置当前焦点→ 同步到CLAUDE.md |
devctx_log | write | 记录提交、推送、构建、部署、里程碑、合并 |
devctx_activity | read | 查看活动日志,按类型筛选 |
devctx_todo_add | write | 添加带有优先级、分支范围和标签的todo |
devctx_todo_update | write | 更改待办事项状态、优先级、文本 |
devctx_todo_list | read | 列出待办事项,按分支或状态筛选 |
devctx_todo_remove | write | 按ID删除待办事项 |
devctx_branch_notes | 阅读 | 获取每个分支的降价备注 |
devctx_branch_notes_save | write | 保存每个分支的文档 |
devctx_git | 读/写 | 带自动日志记录的Git操作 |
devctx_sync | write | 强制同步状态→ CLAUDE.md |
写入工具尊重活动/暂停状态。阅读工具总是有效的。
斜杠命令
Slash命令由自动安装 util/install.sh 作为符号链接,更新会在上传播 git pull。要手动安装,请执行以下操作:
ln -sf "$PWD/slash-commands"/*.md ~/.claude/commands/| 命令 | 目的 |
|---|---|
/devctx-init | 初始化当前项目 |
/devctx-status | 带有AI回顾的完整仪表板 |
/devctx-summary | 仅限AI叙事 |
/devctx-whereami | 完整的上下文转储 |
/devctx-start | 简历跟踪 |
/devctx-stop | 暂停跟踪 |
/devctx-goodbye | 会议总结 |
/devctx-focus | 设置当前焦点 |
/devctx-todos | 管理待办事项 |
/devctx-git | 带日志记录的Git操作 |
/devctx-help | 显示可用命令 |
安装
快速安装(推荐)
git clone https://github.com/tmattoneill/devctx.git
cd devctx
bash util/install.sh安装程序在一个命令中处理所有内容:
- 安装依赖项并构建项目(
npm install && npm run build:all) - MCP注册范围提示(全系统或仅项目)
- 可选配置您的Anthropic API密钥,用于AI叙述摘要
- 向注册MCP服务器
claude mcp add - 将所有12个斜线命令符号链接到
~/.claude/commands/ - 增加
mcp__devctx您的Claude Code权限
如果未安装Node.js,该脚本会检测您的平台(macOS/Ubuntu/Fedora/Arch)并提供安装。
非交互模式 对于脚本安装:
bash util/install.sh -s user --no-api-key # System-wide, no API key
bash util/install.sh -s project --api-key sk-ant-... # Project-scoped with key跑 bash util/install.sh --help 对于所有选项。该脚本是幂等的——之后可以安全地重新运行 git pull.
手动安装
git clone https://github.com/tmattoneill/devctx.git
cd devctx
npm install
npm run build:all注册克劳德代码:
claude mcp add -s user devctx -- node /absolute/path/to/devctx/dist/index.js要启用人工智能叙述摘要,请添加您的API密钥:
claude mcp add -s user devctx -e ANTHROPIC_API_KEY=sk-ant-... -- node /absolute/path/to/devctx/dist/index.js安装斜线命令和权限:
ln -sf "$PWD/slash-commands"/*.md ~/.claude/commands/添加 mcp__devctx 到 permissions.allow 数组in ~/.claude/settings.json 以避免每次通话提示。
验证它是否已连接:
claude mcp list如果没有API键,一切都会正常工作-摘要只使用确定性回退。devctx从不修改源代码、运行任意shell命令或访问网络(可选的AI叙述除外)。
入门
跑 /devctx-init 在任何目录中。devctx检测您的情况:
新目录 --初始化git,创建 .devctx/,安装钩子,进行首次提交。
现有文件,无git --扫描你的项目(语言、框架、构建工具、CI/CD、infra),初始化git,创建 .devctx/ 检测到元数据。
现有git仓库 --扫描项目,创建 .devctx/,安装挂钩,获取现有分支和远程信息。
已初始化 --显示当前状态。通过 force: true 重新扫描(保留待办事项、日志、笔记)。
扫描程序检测语言(JS、TS、Python、Rust、Go、Java等)、框架(Next.JS、React、Vue、Express、FastAPI、Django等)、构建工具、CI/CD管道和基础设施配置。它从package.json、Cargo.toml、pyproject.toml或go.mod中提取项目元数据。
日常
> I'm working on the payment integration更新焦点,同步到CLAUDE.md。
> Add a high priority todo: fix the race condition in the webhook handler
> Mark todo_abc123 as done
> Show me blocked todos> Save notes for this branch: implementing OAuth2 PKCE, refresh tokens in httpOnly cookies> Log a deployment: v2.3.1 pushed to production> /devctx-goodbye done for the day, picking up auth flow tomorrow文件结构
your-project/
├── .devctx/ # Auto-created, gitignored
│ ├── state.json # Project metadata, focus, active flag
│ ├── activity.log # JSONL, append-only (also written by git hooks)
│ ├── todos.json # Tracked todos with source tagging
│ ├── source-todos.json # Last source code TODO scan
│ ├── sessions/ # Session records from goodbye
│ └── branches/ # Per-branch notes
├── CLAUDE.md # Synced with devctx section between markers
└── ...依赖项
| 包装 | 用途 |
|---|---|
@anthropic-ai/sdk | AI叙事生成 |
@modelcontextprotocol/sdk | MCP服务器实现 |
zod | 输入验证 |
fastify | 仪表板HTTP服务器 |
react | 仪表板前端 |
vite | 仪表板构建工具 |
免费和开源
devctx是麻省理工学院授权的。克隆它,使用它,分叉它。
https://github.com/tmattoneill/devctx
