README
🚀 JMComic AI
都什么时代了还在用传统方式看本?从人机交互 到 人智交互,把你的一切本子需求都扔给 AI!
🚀 快速开始
JMComic AI 为 JMComic-Crawler-Python 提供 MCP (Model Context Protocol) 支持 和 AI Skills 增强。你可以通过自然语言与 AI 交互,实现漫画的搜索、筛选和下载,无需编写代码。以下是使用前的安装和配置步骤:
安装
从 pypi 安装(推荐)
# 使用 uv (推荐)
uv add jmcomic-ai
# 或者
uv tool install jmcomic-ai
# 使用 pip
pip install jmcomic-ai
从源码安装
推荐使用 uv 进行依赖管理,一步到位。
# 克隆项目
git clone https://github.com/hect0x7/JMComic-ai.git
cd JMComic-ai
# 同步依赖环境
uv sync
配置
JMComic AI 提供了两个维度的能力,你可以根据需求,选择以下一者或两者来增强你的 AI:
🔌 模块 A:接入 MCP 工具 (推荐)
为 AI 安装“手脚”,使其能够直接调用 search, download 等核心功能。适用场景为希望在 AI 客户端中直接下漫画,无需打开终端。
客户端配置文件位置指南
在开始配置前,请先找到你的 AI 客户端使用的配置文件。
| 软件 | 配置文件路径 |
| ---- | ---- |
| Antigravity | Windows: %USERPROFILE%/.gemini/antigravity/mcp_config.json
macOS: ~/Library/Application Support/Gemini/antigravity/mcp_config.json |
| Cursor | Global: %USERPROFILE%/.cursor/mcp.json (Win) / ~/.cursor/mcp.json (Mac/Linux)
Project: 项目根目录下的 .cursor/mcp.json |
| Claude Code | User-Scoped: %USERPROFILE%/.claude.json (Win) / ~/.claude.json (Mac/Linux)
Project-Scoped: 项目根目录下的 .mcp.json |
| Claude Desktop | Windows: %APPDATA%/Claude/claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json |
根据你的需求,选择以下其中一种传输协议进行配置:
stdio 模式 (最简单)
最简单的配置方式,AI 客户端会自动在后台启动并管理 jmai 进程。
- 配置内容:
{
"mcpServers": {
"jmcomic-ai": {
"command": "jmai",
"args": ["mcp", "stdio"]
}
}
}
- 如果你是 clone 了源码,希望用本地源码安装,可以这样配置:
{
"mcpServers": {
"jmcomic-ai": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/jmcomic-ai",
"run",
"jmai",
"mcp",
"stdio"
]
}
}
}
⚠️ 重要提示:请将
/path/to/your/jmcomic-ai替换为您本地源码的实际绝对路径。
SSE 模式 (推荐)
推荐用于大部分桌面端 AI 客户端。
- 第一步:启动服务
jmai mcp sse # 默认端口 8000
- 第二步:配置客户端
{
"mcpServers": {
"jmcomic-ai": {
"url": "http://127.0.0.1:8000/sse"
}
}
}
HTTP 流式模式 (生产/远程)
适用于远程部署或对性能有更高要求的场景。
- 第一步:启动服务
jmai mcp http
- 第二步:配置客户端
{
"mcpServers": {
"jmcomic-ai": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}
配置完成后
- 通用客户端:重启客户端,检查状态指示灯或工具栏(通常显示为 🔨 图标)。
- Claude Code:在终端运行以下命令以验证连接:
claude mcp list
如果看到 jmcomic-ai (connected),说明配置成功。
🧠 模块 B:为 Agent 注入“经验” (Skills)
为 AI 注入作者总结的“老司机经验”(如:如何处理 403 错误,如何避免重复下载)。适用场景为希望 AI 不仅仅是执行命令,还能像真人一样思考和规划任务(配合模块 A 使用效果最佳)。 配置方法:
- 在终端运行命令,导出技能手册:
jmai skills install
- 技能文件将默认安装到
~/.claude/skills/jmcomic。 - 使用:将该目录下的
SKILL.md内容提供给 AI(如复制到其 System Prompt 或 Project Instructions 中),或者在支持 MCP Resource 的客户端中直接查阅jmcomic://skill。
开始对话
完成以上两步后,AI 就变成了一个专业的漫画策展人。你可以尝试这样跟它交流:
- 模糊搜索:
“我想看那个...主角是电锯人的漫画,帮我找找。” (AI 会自动搜索 '电锯人',并展示最相关的结果)
- 批量下载:
“把搜索结果里浏览量最高的前三个下载下来。” (AI 会分析搜索结果,筛选出 Top 3,并自动调用下载工具)
- 修改配置:
“下载太慢了,帮我把并发改成 50。” (AI 会调用配置工具,自动帮你修改 option.yml)
✨ 主要特性
- 🔌 MCP 标准集成 - 基于
FastMCP构建,支持 stdio、SSE、HTTP 多种传输方式,兼容大部分现代本地 AI 客户端(如 Cursor, Antigravity, Windsurf, Zed, Claude Desktop 等) - 🛠️ 全功能工具集 - 暴露
search、download、ranking、update_option等核心能力,让 AI 能够直接操作 jmcomic - 📚 知识资源 (Resources) - 提供配置 Schema、参考文档和 Skills 手册,让 AI 理解如何正确使用工具
- ⚙️ 自然语言配置 - AI 可理解并动态修改
option.yml配置(如切换线路、调整下载规则) - 🎯 统一 CLI - 提供
jmai/jmcomic-ai命令行工具,统一管理 MCP 服务启动、配置查阅与 Skills 安装 - 🔮 未来规划 - 计划集成 OCR (MangaOCR)、神经机器翻译 (NMT) 与向量检索 (RAG),实现基于画面的语义搜索
💻 使用示例
基础用法
以下示例基于 cursor/antigravity 和 mcp 模式:
| 1. 下载本子并转 PDF / ZIP | 2. 搜索【无修正】本子 | 3. 查详情 350234 | 4. 查询月度最多爱心前 10 个本子 |
| :---: | :---: | :---: | :---: |
|
|
|
|
|
| 5. 修改 option 配置 | | | |
|
| | | |
高级用法
JMComic AI 能够理解复杂的上下文指令:
- 智能搜索与下载
🤔 "帮我搜索作者 [XXX] 的作品,按浏览量排序,下载前 5 个最热门的本子。"
🤖 Agent: 自动调用
search_album获取列表,按views排序截取前 5,并发调用download_album。🤔 "下载速度太慢了,帮我把图片并发数改为 50。"
🤖 Agent: 理解意图,调用
update_option修改download.threading.image: 50并实时生效。
- 模糊决策
🤔 "我想找一些画风类似 [某作品] 的短篇故事,不要超过 3 章的。"
🤖 Agent: 结合语义检索与元数据过滤,为你推荐并整理符合口味的阅读清单。
📚 详细文档
- JMComic-Crawler-Python - 核心依赖库文档。
🔧 技术细节
架构概览
graph TD
User[User / AI Agent] <-->|MCP Protocol| Server[JMAI MCP Server]
Server <-->|Call| Core[Core Service Layer]
Core <-->|Invoke| Lib[JMComic Crawler Lib]
Server <-->|Load| Skills["Agent Skills (Instructional Knowledge)"]
Core -->|Read/Write| Config[Option System]

📄 许可证
本项目遵循 GitHub license。
🛠️ 开发者注意:如果你想为项目贡献代码,请务必查看 贡献指南,其中包含了开发环境搭建、项目结构说明以及
reference参考源码库的使用方法。
⚡ 开发者的话:这是一个由 Antigravity 亲手缝制的 AI 项目。虽然它读了很多文档,但作为一个 AI 智能体,在编写另一个 AI 的过程中也偶尔会“犯糊涂”。如果它把你带进了坑里,请务必提交 Issue 把它“骂”醒。欢迎更多人类开发者加入,一起教它变得更强!💪
微信扫一扫