Jctx 是一款用于将 Java、Kotlin 或 Python 项目转换为 AI 可读上下文文件的命令行工具。其核心用途是解决开发者向 AI 提问时需要手动复制粘贴大量代码、解释类结构的问题,通过一条命令生成包含完整项目架构信息的 context.txt 或 context.md 文件,使 AI 能够基于真实代码结构给出精确回答。
主要能力:
- 项目扫描与提取:自动扫描项目中的每一个类、字段、方法签名、Javadoc/KDoc/docstring 注释以及构建文件,输出干净、结构化的上下文文件。
- 输出格式:支持生成 context.txt 或 context.md,方便直接粘贴到 AI 聊天中。
- 分析指标:生成文件后会在控制台打印分析仪表盘,包括语言占比(按代码行数展示 Java、Kotlin、Python 的占比)、依赖图(映射项目内部类之间的依赖关系,基于 import 语句和体内类型引用,仅显示项目内部引用)、令牌数量估算(按部分细分总令牌数,并检查是否适配主流 AI 模型的上下文窗口)。
- 自定义排除:支持在项目根目录放置 .jctxignore 文件,排除额外目录或文件;默认自动忽略 build/、target/、.idea/、.git/、node_modules/、.gradle/、.class、.jar 等构建产物。
- GitHub Actions 集成:提供现成的工作流,可在每次 push 或 pull request 时自动生成上下文报告,将生成的 context.md 或 context.txt 作为工作流产物上传(保留 30 天),并在 PR 上评论报告预览;后续推送会更新已有评论。可通过仓库变量控制是否将报告提交回仓库,提交信息为 chore: update Jctx context report [skip ci],需为工作流添加 contents: write 权限。也支持直接使用复合 action 进行模块化集成。
使用方式:
- 安装:推荐通过 PyPI 使用 pip 安装,安装后终端可直接使用 jctx 命令;Windows 手动方式为下载最新发布 zip,右键 Setup.bat 以管理员身份运行,然后打开新终端;无管理员权限时可将 jctx.py 和 jctx.bat 复制到任意位置直接运行 jctx.bat;非 Windows 系统可在 Python 3.8+ 环境下运行 python jctx.py "path/to/project"。
- 使用输出:将 context.txt(或 context.md 的内容)粘贴到任意 AI 聊天中,然后提问,例如“这是我的 Java/Kotlin/Python 项目结构:[粘贴]。我想把消息模块重构为使用 WebSockets——我应该从哪里开始?”该输出适用于 Claude、ChatGPT、Gemini 以及其他接受长文本输入的 AI。
- 环境要求:Python 3.8 或更高版本,支持 Windows、macOS、Linux。
适用场景:
- 向 AI 提问前需要快速提供完整项目上下文,避免手动复制粘贴。
- 需要了解项目语言占比、依赖关系或估算令牌数量以适配 AI 上下文窗口。
- 希望在 CI/CD 流程中自动生成并追踪项目上下文报告。
限制与注意事项:
- 工具主要面向 Java、Kotlin 和 Python 项目,其他语言支持暂未提供。
- 收费标准、价格、具体平台效果等未在资料中说明,暂未提供。
- 仅扫描项目内部依赖,不包含外部库引用。
- 部分功能如剪贴板支持、Slim 模式、架构图生成(--diagram)在资料中列为计划或提及,但具体使用细节和可用性暂未提供。
- 许可证为 MIT,免费使用、修改和分享。