Shashwat-Gupta57/Jctx
GitHub: Shashwat-Gupta57/Jctx
一条命令将 Java、Kotlin 或 Python 项目转换为结构化的 AI 上下文文件,让大模型真正理解你的代码架构而非盲目猜测。
Stars: 3 | Forks: 1

# Jctx — 让 AI 完全理解你的 Java、Kotlin 和 Python 代码库
**停止复制粘贴文件。获取真正具备架构感知的回答。**
**在几秒钟内生成完整的项目上下文。**
**在几秒钟内,将任何 Java、Kotlin 或 Python 项目转换为单个 AI 可用的 `context.txt`(或 `context.md`)文件。**
```
Jctx "C:\projects\MyApp"
→ context.txt written (Java: 39 files | Kotlin: 12 files | Python: 15 files | POM: 1 file | Gradle: 1 file)
```
无需配置。无需依赖。只需 Python 和一个文件夹。
## 为什么会有这个项目
你正在开发一个 Java、Kotlin 或 Python 项目。你打开 AI 聊天窗口寻求帮助。在提出问题之前,你要花 10 分钟复制粘贴文件,解释你的类结构,总结每个模块的作用。
**之前:**
ChatGPT 给出随机的类建议
**之后:**
ChatGPT 准确指出需要修改哪个类以及原因
**Jctx 只需一条命令即可完成所有这些工作。**
它会扫描你的项目并生成一份简洁、结构化的 `context.txt`(或 `context.md`)——包含每个类、每个字段、每个方法签名、每个 Javadoc/KDoc 注释以及你的构建文件——格式经过优化,让 AI 能够立即理解你的整个代码库。
它还提供 **Token 数量估算**、**语言百分比** 和 **依赖关系图** —— 这些都会自动打印到你的控制台中。
粘贴它。提出你的问题。获得有用的答案。
## 输出(真实示例)
4.0.0
org.flexstudios
talken
1.0.0
================================================================
SECTION 3 - KOTLIN CLASS AND MEMBER DETAILS
================================================================
----------------------------------------------------------------
FILE: src\main\kotlin\org\flexstudios\talken\UserProfile.kt
----------------------------------------------------------------
CLASS: UserProfile
DOC : Represents the user's local profile settings.
DATA MEMBERS:
· private val String displayName
· private val String email
METHODS:
[1] String getAboutSection()
DOC: (no documentation)
================================================================
END OF REPORT
================================================================
```
## 安装说明
**选项 1:PyPI(推荐)**
在任何操作系统(Windows、macOS、Linux)上安装 Jctx 的最简单方法是通过 pip:
```
pip install jctx
```
`jctx` 命令将立即在你的终端中可用。
**选项 2:手动下载 (Windows)**
1. 下载最新的 **Release** 压缩包。
2. 解压缩
3. 右键点击 `Setup.bat` → **以管理员身份运行**
4. 打开一个新的终端
```
jctx "C:\path\to\your\java\project"
```
## 运行 Naabu
```
Jctx [--md] [--slim] [--no-tree] [--clipboard] [--print] [--version] [--help]
```
| 标志 | 效果 |
|---|---|
| *(无)* | 将 `context.txt` 保存到你的项目文件夹中,并打印 token 估算 |
| `--md` | 输出格式清晰的 Markdown 文件(`context.md`)以代替纯文本 |
| `--slim` | 精简模式:仅输出类名和方法签名(省略字段和文档)以节省 token |
| `--no-tree` | 跳过文件树部分(输出更简短) |
| `--clipboard` | 将生成的报告直接复制到剪贴板 |
| `--print` | 同时打印到控制台 |
| `--version` | 显示 Jctx 版本 |
| `--help` | 显示帮助信息 |
## 如何使用输出结果
将 `context.txt`(或 `context.md` 的内容)粘贴到任何 AI 聊天窗口并提出你的问题:
可完美配合 **Claude**、**ChatGPT**、**Gemini** 以及任何其他支持长文本输入的 AI 使用。
## 控制台指标
生成文件后,Jctx 会将完整的分析仪表板打印到你的控制台:
### 语言百分比
通过可视化进度条显示 Java 和 Kotlin 代码的精确比例:
```
================================================================
LANGUAGE PERCENTAGES
================================================================
Java : 60.2% ██████████████████████████████░░░░░░░░░░░░░░░░░░░░ (~23,400 tokens)
Kotlin : 28.1% ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ (~10,910 tokens)
Python : 11.7% █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ (~ 4,560 tokens)
================================================================
```
### 依赖关系图
自动映射你的项目类之间的依赖关系(仅限项目内部引用——没有外部库的干扰):
```
================================================================
DEPENDENCY GRAPH (project-internal)
================================================================
EncryptionModule → (none)
MessagingModule → EncryptionModule, UserProfile
TalkenClient → EncryptionModule, MessagingModule, UserProfile
UserProfile → (none)
================================================================
```
### Token 数量估算
显示总的 token 数量以及各部分的明细,并检查你的上下文是否适合主流 AI 模型的上下文窗口:
```
================================================================
TOKEN ESTIMATE
================================================================
Total tokens : ~34,767
Language Breakdown:
Java : ~ 23,400 ( 59.5%)
Kotlin : ~ 10,910 ( 27.7%)
Python : ~ 4,560 ( 11.6%)
Build files : ~ 145 ( 0.4%)
File tree : ~ 312 ( 0.8%)
Context Window Fit:
Y Llama 4 Scout (10M) Y Gemini 3.1 (2M) Y Grok (2M)
Y GPT-5.4 (1M) Y Claude 4.6 (1M) Y Qwen 3 (1M)
================================================================
```
## `.jctxignore` — 自定义排除项
在项目根目录放置一个 `.jctxignore` 文件,以在提取上下文时排除额外的目录或文件:
```
# 跳过测试目录
**/test/**
# 跳过生成的代码
generated/
# 跳过特定文件 patterns
*.test.java
```
| 模式 | 含义 |
|---------|---------|
| `dirname/` | 跳过任何名为 `dirname` 的目录 |
| `**/test/**` | 跳过目录树中任何名为 `test` 的目录 |
| `*.test.java` | 跳过匹配该 glob 模式的文件 |
| `# comment` | 以 `#` 开头的行将被忽略 |
当检测到 `.jctxignore` 时,控制台横幅会显示:
```
.jctxignore: yes (2 dirs, 1 patterns)
```
## 提取内容
| 内容 | 详情 |
|---|---|
| 文件树 | 完整的项目结构,已排除构建文件夹 |
| 构建文件 | 你的 `pom.xml`、`build.gradle`、`requirements.txt` 和 `pyproject.toml` 的完整内容 |
| 类 | Java/Kotlin 类和接口、Python 类,以及所有文档字符串/JavaDocs/KDocs |
| 字段 | 类型、名称、访问修饰符、val/var (Kotlin)、实例变量 (`self.x`)、行内注释 |
| 方法 | 带编号的列表 —— 返回类型、名称、参数、装饰器、顶层 Python/Kotlin 函数 |
**自动忽略:** `build/`、`target/`、`.idea/`、`.git/`、`node_modules/`、`.gradle/`、`.class`、`.jar` 以及所有其他构建产物。可通过 `.jctxignore` 进一步自定义。
## 系统要求
- Python 3.8 或更高版本 — [python.org](https://python.org)
- 适用于 Windows、macOS、Linux
## 路线图
- [x] Kotlin 支持
- [x] Markdown 输出模式 (`context.md`)
- [x] 多语言项目估算(混合 Java + Kotlin 百分比)
- [x] 随输出提供 Token 数量估算
- [x] 剪贴板支持和精简模式
- [x] 依赖关系图(项目内部)
- [x] `.jctxignore` 自定义排除项
- [x] 跨平台打包 (PyPI / pip)
- [x] Python 语言支持
- [ ] 架构图生成 (`--diagram`)
## 开源许可证
MIT — 可免费使用、修改和分享。
点击展开示例 context.txt(纯文本 - 默认)
``` ================================================================ JCTX v2.0.0 - Java, Kotlin & Python Context Extractor Project : C:\projects\Talken Date : 2026-03-31 12:00:00 Files : Java: 39 file(s) | Kotlin: 5 file(s) | Python: 2 file(s) | POM: 1 file(s) | Gradle: 1 file(s) ================================================================ ================================================================ SECTION 1 - PROJECT FILE TREE ================================================================ Talken\ ├── src\ │ └── main\ │ ├── java\ │ │ └── org\ │ │ └── flexstudios\ │ │ └── talken\ │ │ ├── Controls.java │ │ └── TalkenClient.java │ └── kotlin\ │ └── org\ │ └── flexstudios\ │ └── talken\ │ └── UserProfile.kt ├── build.gradle └── pom.xml ================================================================ SECTION 2 - POM.XML CONTENT ================================================================ ---------------------------------------------------------------- FILE: pom.xml ----------------------------------------------------------------标签:AI代码助手, AST解析, DLL 劫持, DNS解析, Gradle, Jctx, JS文件枚举, Kotlin, POM, Python, 上下文提取, 上下文窗口管理, 代码上下文, 代码分析, 代码文档生成, 代码结构化, 依赖图, 凭证管理, 后台面板检测, 大语言模型, 威胁情报, 开发者工具, 开源项目, 提示词工程, 无后门, 漏洞测试, 策略决策点, 逆向工具