MCP CV修改器服务器
一种MCP(模型上下文协议)服务器,使用关键字提取和策略增强根据职位描述智能修改简历。
✅ 跨平台支持:
桌面/服务器: Windows•macOS•Linux•Unix
手机: iOS(远程)•Android(远程+Termux)
每个平台的完整安装指南可在 平台_兼容性.md.
注: MCP服务器作为Node.js后端运行。对于移动设备(iOS/Android),请从桌面远程访问服务器或使用隧道服务。看 PLATFORM_COMPATIBILITY.md-移动平台 了解详情。
特性
- 提取职位描述:从领英和其他求职网站上抓取招聘信息,以提取要求和关键字
- 解析多种简历格式:支持PDF、DOCX、Markdown和JSON CV格式
- 多语言支持:完全支持希伯来语和英语,具有自动语言检测功能
- 希伯来语特征:
- 完整的从右到左(RTL)文本处理 - 希伯来语字符支持(Unicode U+0590至U+05F) - 希伯来语节头自动翻译 - 50+希伯来语技术技能翻译 - 希伯来语-英语混合内容支持
- 基于关键字的增强:通过纳入相关的工作关键词,战略性地增强简历
- 多种输出格式:使用语言感知格式生成PDF、DOCX和/或Markdown格式的修改后简历
- 简历工作匹配分析:分析简历在没有修改的情况下与职位描述的匹配程度
- 自然语言增强:使用多种修改级别(最小、中等、激进),以确保自然的声音增强
建筑
src/
├── index.ts # MCP server entry point
├── config.ts # Configuration management
├── types/
│ ├── cv.types.ts # CV data structures with language metadata
│ ├── job.types.ts # Job description structures
│ ├── language.types.ts # Language configuration & RTL markers
│ └── mcp.types.ts # MCP tool definitions
├── parsers/ # CV parsing (Phase 2)
│ ├── cv-parser.ts # Main coordinator with language detection
│ ├── pdf-parser.ts
│ ├── docx-parser.ts
│ ├── markdown-parser.ts
│ └── json-parser.ts
├── scrapers/ # Web scraping (Phase 3)
├── nlp/ # NLP & keyword extraction (Phase 4)
│ ├── keyword-extractor.ts
│ ├── skill-matcher.ts
│ ├── text-analyzer.ts
│ └── hebrew-keywords.ts # 50+ Hebrew skill translations
├── modifiers/ # CV modification logic (Phase 5)
├── generators/ # Document generation (Phase 6)
│ ├── markdown-generator.ts
│ ├── markdown-generator-rtl.ts # Hebrew RTL support
│ ├── pdf-generator.ts
│ └── docx-generator.ts
├── tools/ # MCP tool implementations
└── utils/
├── logger.ts # Logging utility
├── language-detector.ts # Language detection & analysis
├── rtl-formatter.ts # RTL text formatting
└── validators.ts # Input validation安装
先决条件
- Node.js 18+(下载)
- npm(附带Node.js)或yarn
- Git(可选,用于克隆存储库)
与跨平台支持
此MCP服务器运行在 Windows、macOS、Linux和Unix 系统。请按照以下特定于操作系统的说明进行操作。
Windows安装
- 克隆或下载项目
cd c:\mcp-server-cv-modify- 安装依赖项
npm install- 安装Playwright浏览器 (用于网页抓取)
npx playwright install chromium- 创建环境文件
Copy-Item .env.example .env
# Edit .env with your preferred editor (Notepad, VS Code, etc.)- 验证安装
npm run build
npm startmacOS安装
- 克隆或下载项目
cd ~/mcp-server-cv-modify
# Or wherever you downloaded/cloned it- 安装依赖项
npm install- 安装Playwright浏览器 (用于网页抓取)
npx playwright install chromium- 创建环境文件
cp .env.example .env
# Edit .env with your preferred editor (nano, vim, VS Code, etc.)
nano .env # or: open -a TextEdit .env- 验证安装
npm run build
npm startLinux安装
- 克隆或下载项目
cd ~/mcp-server-cv-modify
# Or wherever you downloaded/cloned it- 安装依赖项
npm install- 安装Playwright浏览器 (用于网页抓取)
npx playwright install chromium- 创建环境文件
cp .env.example .env
# Edit .env with your preferred editor (nano, vim, VS Code, etc.)
nano .env # or: vi .env- 验证安装
npm run build
npm startLinux用户注意事项: 剧作家可能需要额外的系统依赖关系。如果遇到问题,请使用以下方式安装:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y libgbm1 libxss1 libatk1.0-0 libatk-bridge2.0-0 libcups2 libxkbcommon0 libnss3 libxcomposite1
# Fedora/RHEL
sudo dnf install libxss libxcomposite libxkbcommon
# Arch Linux
sudo pacman -S libxss libxcomposite libxkbcommonUnix安装
- 克隆或下载项目
cd /opt/mcp-server-cv-modify
# Or wherever you want to install it- 安装依赖项
npm install- 安装Playwright浏览器 (用于网页抓取)
npx playwright install chromium- 创建环境文件
cp .env.example .env
# Edit .env with your preferred editor
nano .env # or: vi .env- 验证安装
npm run build
npm start建筑
构建TypeScript项目:
npm run build这将TypeScript编译为JavaScript dist/ 目录。
跑步
发展模式
所有平台:
npm run dev这将在文件更改时自动重新加载服务器。
生产模式
所有平台:
npm run build
npm start在后台运行
Windows(PowerShell):
# Start in background
Start-Process node "dist\index.js"
# Or with logging
Start-Process node "dist\index.js" -RedirectStandardOutput "logs\output.log" -RedirectStandardError "logs\error.log"macOS/Linux/Unix(Bash):
# Start in background
nohup npm start > logs/output.log 2>&1 &
# Or using screen
screen -d -m npm start
# Or using tmux
tmux new-session -d -s mcp-server "npm start"Windows(命令提示符):
# Using start command
start node dist\index.js
# Or using npm with npm-run-all for persistent execution
npm start调试
所有平台: 通过设置环境变量启用调试日志记录:
# Linux/macOS/Unix
export LOG_LEVEL=debug
npm start
# Windows PowerShell
$env:LOG_LEVEL = "debug"
npm start
# Windows Command Prompt
set LOG_LEVEL=debug
npm start或编辑 .env 并设置 LOG_LEVEL=debug
移动支持
可以从以下位置访问此服务器 iOS和Android设备 通过几种方法:
- 远程访问 (相同的WiFi)-最简单,约5分钟设置
- 隧道服务 (Ngrok,Cloudflare)-随时随地访问,约10分钟
- 云部署 (铁路,渲染,Heroku)-始终开启,约15-30分钟
- Termux (仅限Android)-本地Node.js安装,约20-30分钟
- 自定义移动应用程序 -原生iOS/Android应用程序开发
移动快速入门:
1. Start server on desktop: npm start
2. Find desktop IP: ipconfig (Windows) or ifconfig (macOS/Linux)
3. Open on mobile: http://[desktop-ip]:3000有关详细的移动设置指南、示例和高级选项,请参阅 MOBILE_USAGE.md.
MCP工具
1. extract_job_description
从职位发布URL中提取职位描述和关键字。
输入:
url(字符串,必填):职位发布URLextractKeywords(boolean,默认值:true):自动提取和分类关键字
输出:
- 职位、公司、地点
- 完整描述文本
- 提取带有分数和类别的关键字
- 分类技能(技术、软技能、工具)
例子:
{
"url": "https://www.linkedin.com/jobs/view/123456",
"extractKeywords": true
}2. modify_cv
修改简历以强调与工作相关的关键字。
输入:
cvData(字符串,必填):CV内容(base64、原始文本或文件路径)cvFormat(枚举,必填):“pdf”|“docx”|“markdown”|“json”jobKeywords(数组,可选):手动关键字列表jobUrl(字符串,可选):从URL中自动提取关键字outputFormat(枚举,默认值为“pdf”):“pdf”|“docx”|“markdown”|“all”modificationLevel(枚举,默认值:“中等”):“最小”|“中等”|“攻击性”
输出:
- 按要求格式修改简历
- 赛前/赛后成绩修改总结
- 已添加的更改和关键字列表
- 改进建议
例子:
{
"cvData": "base64_encoded_pdf",
"cvFormat": "pdf",
"jobUrl": "https://www.linkedin.com/jobs/view/123456",
"outputFormat": "pdf",
"modificationLevel": "moderate"
}3. analyze_cv_job_match
分析简历在不修改的情况下与职位描述的匹配程度。
输入:
cvData(字符串,必填):简历内容cvFormat(枚举,必填):格式类型jobUrl(字符串,必填):职位发布URL
输出:
- 比赛总得分(0-100%)
- 缺少关键字和技能
- 逐段分析
- 具体改进建议
例子:
{
"cvData": "markdown_cv_content",
"cvFormat": "markdown",
"jobUrl": "https://www.linkedin.com/jobs/view/123456"
}希伯来语支持
此MCP服务器包括 完全支持希伯来语 与完整 从右向左(RTL) 文本处理。看 HEBREW_SUPPORT.md 以获取全面的文档。
特征:
- 自动语言检测:自动检测希伯来语和英语内容
- 完整RTL格式化:正确的从右到左的文本方向和缩进
- 希伯来语章节标题:所有简历章节标题自动翻译成希伯来语
- 50+希伯来语技能翻译:将通用技术和软技能翻译成希伯来语
- 混合语言支持:使用适当的Unicode标记处理混合的希伯来语-英语内容
- 希伯来语Unicode支持:完全支持希伯来语字符(U+0590至U+05F)
示例-希伯来语简历输入:
{
"cvData": "שם: דוד כהן\nאימייל: david@example.com\n\nניסיון:\nמפתח תוכנה בTech Corp",
"cvFormat": "markdown",
"jobUrl": "https://example.com/hebrew-job"
}输出自动包括:
- RTL文本方向
- 希伯来语章节标题
- 适当的压痕和间距
- 需要时使用混合语言方向标记
有关完整的希伯来语文档、示例和用法,请参阅 HEBREW_SUPPORT.md.
配置
编辑 .env 要配置服务器,请执行以下操作:
# Node environment
NODE_ENV=production
# Rate limiting (to avoid scraping detection)
SCRAPER_MIN_DELAY_MS=5000
SCRAPER_MAX_CONCURRENT=1
# Caching
CACHE_ENABLED=true
CACHE_TTL_HOURS=24
# Browser
PLAYWRIGHT_HEADLESS=true
BROWSER_TIMEOUT_MS=30000
# NLP
NLP_MIN_KEYWORD_SCORE=0.3
NLP_MAX_KEYWORDS=50
# CV Modification
CV_MODIFICATION_CONFIDENCE_THRESHOLD=0.6
CV_MAX_KEYWORDS_PER_BULLET=2
# Language & Localization
DETECT_LANGUAGE=true
EMBED_RTL_MARKERS=true
NORMALIZE_HEBREW_SPACING=true
USE_HEBREW_CHARACTER_WIDTHS=true与Claude Desktop集成
要将此MCP服务器与Claude Desktop一起使用,请将其添加到您的MCP服务器配置中。配置文件的位置因操作系统而异。
视窗
- 打开或创建
%APPDATA%\Claude\claude_desktop_config.json
- 完整路径: C:\Users\[YourUsername]\AppData\Roaming\Claude\claude_desktop_config.json - 您可以通过以下方式快速打开AppData: Win+R,类型 %appdata%,按Enter键
- 添加此配置:
{
"mcpServers": {
"cv-modifier": {
"command": "node",
"args": ["C:\\path\\to\\mcp-server-cv-modify\\dist\\index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}- 替换
C:\path\to\mcp-server-cv-modify使用您的实际安装路径 - 重新启动克劳德桌面
macOS
- 打开或创建
~/Library/Application Support/Claude/claude_desktop_config.json
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json- 添加此配置:
{
"mcpServers": {
"cv-modifier": {
"command": "node",
"args": ["/path/to/mcp-server-cv-modify/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}- 替换
/path/to/mcp-server-cv-modify根据您的实际安装路径(例如。,~/mcp-server-cv-modify或/Users/username/Documents/mcp-server-cv-modify) - 重新启动克劳德桌面
Linux
- 打开或创建
~/.config/Claude/claude_desktop_config.json
nano ~/.config/Claude/claude_desktop_config.json- 添加此配置:
{
"mcpServers": {
"cv-modifier": {
"command": "node",
"args": ["/path/to/mcp-server-cv-modify/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}- 替换
/path/to/mcp-server-cv-modify使用您的实际安装路径 - 重新启动克劳德桌面
Unix
- 打开或创建
~/.config/Claude/claude_desktop_config.json(或/etc/claude/claude_desktop_config.json用于全系统安装)
nano ~/.config/Claude/claude_desktop_config.json- 添加此配置:
{
"mcpServers": {
"cv-modifier": {
"command": "node",
"args": ["/path/to/mcp-server-cv-modify/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}- 替换
/path/to/mcp-server-cv-modify使用您的实际安装路径 - 重新启动克劳德桌面
查找安装路径
窗户:
# Command Prompt or PowerShell
cd c:\mcp-server-cv-modify
echo %cd%
# Or simply: echo C:\path\to\mcp-server-cv-modifymacOS/Linux/Unix:
pwd # Shows current directory
# If in mcp-server-cv-modify folder, shows the full path
# Or use: realpath .验证安装
添加配置并重新启动Claude Desktop后:
- 在Claude中,您应该看到可用的CV Modifier工具
- 尝试使用以下工具之一:
extract_job_description,modify_cv,或analyze_cv_job_match - 如果工具未出现,请检查Claude Desktop日志(设置>日志)
发展
项目结构
- src/index.ts -MCP服务器入口点
- src/类型/ -TypeScript类型定义
- src/解析器/ -CV解析实现
- src/刮刀/ -Web抓取实现
- src/nlp/ -NLP和关键字提取
- src/修饰符/ -CV修改逻辑
- src/发电机/ -文档生成
- src/工具/ -MCP工具处理程序
- src/utils/ -实用功能
- 测试/ -测试文件
运行测试
npm test运行特定测试类别:
npm run test:unit # Unit tests only
npm run test:integration # Integration tests only实施阶段
✅ 第一阶段:基础和MCP服务器设置
- TypeScript配置
- 使用三个工具设置MCP服务器
- 类型定义
- 基本错误处理和日志记录
📋 第二阶段:简历解析
- PDF解析(PDF解析)
- DOCX解析(猛犸象)
- Markdown解析(标记)
- JSON/结构化数据解析
- 统一CV数据结构提取
📋 第三阶段:网页抓取
- LinkedIn与Playwright合作
- 通用作业现场抓取
- 速率限制和缓存
- 道德刮擦实践
📋 第四阶段:NLP与关键词
- 使用wink nlp和retext进行关键字提取
- 技能词典和分类
- 关键词评分和相关性排名
- 简历工作技能匹配
📋 第五阶段:简历修改
- 基于规则的修改系统
- 关键词部分增强
- 弹点增强
- 摘要重写
- 多个修改级别
📋 第6阶段:文档生成
- 使用PDF库生成PDF
- 使用DOCX库生成DOCX
- Markdown生成
- 专业格式化
📋 第7阶段:集成和工具
- 将所有组件连接到MCP工具中
- 全面的错误处理
- 使用Zod进行输入验证
📋 第8阶段:测试、文档和希伯来语支持
- 所有组件的单元测试
- 集成测试
- 完整的文件
- 完全希伯来语支持RTL格式
- 希伯来语关键字词典(50+翻译)
- 语言检测和元数据
- RTL感知文档生成器
道德与法律
此工具专为 仅限道德使用:
- ✅ 只有擦伤 公开可访问的 招聘信息
- ✅ 尊重 robots.txt 和速率限制
- ✅ 用途 实际延误 为了避免被发现
- ✅ 缓存结果 尽量减少抓取请求
- ✅ 是否 不坚持 用户数据
- ✅ 所有处理都是 本地
故障排除
一般问题
问题:“找不到模块”错误
解决方案: 确保已安装依赖项:
npm install
npx playwright install chromium如果你仍然遇到错误 Linux,您可能需要安装其他系统库:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y python3 build-essential
# Fedora
sudo dnf install python3 gcc-c++
# macOS (using Homebrew)
brew install python3问题:浏览器超时错误
解决方案: 增加.env中的BROWSER_TIMEOUT_MS:
所有平台:
BROWSER_TIMEOUT_MS=60000 # 60 seconds开 视窗,您也可以暂时增加超时时间:
$env:BROWSER_TIMEOUT_MS = "60000"
npm start问题:速率限制/刮擦检测
解决方案: 增加请求之间的延迟:
所有平台:
SCRAPER_MIN_DELAY_MS=10000 # 10 seconds问题:端口已在使用中(如果作为服务运行)
解决方案: 检查端口的使用情况,然后停止该进程或更改端口:
窗户:
# Find process using port (requires admin)
netstat -ano | findstr :9000
# Kill the process
taskkill /PID
/FmacOS/Linux/Unix:
# Find process using port
lsof -i :9000
# Kill the process
kill -9
问题:权限被拒绝错误
解决方案:
窗户: 以管理员身份运行命令提示符或PowerShell
macOS/Linux/Unix:
# Make scripts executable
chmod +x node_modules/.bin/*
# Or use sudo for npm install if needed
sudo npm install问题:找不到Node.js命令
解决方案:
确保Node.js已安装并在您的PATH中:
窗户:
- 下载自https://nodejs.org/
- 运行安装程序并确保选中“添加到PATH”
- 重新启动终端
macOS:
# Using Homebrew
brew install nodeLinux(Ubuntu/Debian):
sudo apt-get update
sudo apt-get install nodejs npmLinux(Fedora):
sudo dnf install nodejs npm验证安装:
node --version
npm --version希伯来语问题
问题:希伯来语字符显示为方形或乱码
解决方案:
- 确保查看应用程序中的UTF-8编码
- 更新系统字体以包括希伯来语字体支持
- 使用支持Unicode的现代应用程序(Word、现代浏览器)
- 检查文档的HTML元标记是否正确
lang="he"和dir="rtl"
问题:RTL文本仍然从左向右显示
解决方案:
- 验证应用程序是否符合HTML
dir属性 - 检查文档元数据是否包含正确的RTL标记
- 启用
EMBED_RTL_MARKERS=true.env配置中 - 查看支持RTL内容的应用程序中的输出(Word、现代浏览器)
问题:混合希伯来语-英语文本格式错误
解决方案:
- 确保
EMBED_RTL_MARKERS=true在配置中 - 验证文本编码是否为UTF-8
- 检查文本是否包含正确的Unicode方向标记
- 启用调试日志记录:
LOG_LEVEL=debug诊断问题
问题:未检测到希伯来语关键字
解决方案:
- 检查希伯来语单词的准确拼写
- 验证文本是否正确编码为UTF-8
- 审查 HEBREW_SUPPORT.md 查看支持的关键字列表
- 启用调试日志记录以查看检测到的语言和组合
演出
预期绩效指标:
- CV解析:\95%
未来的增强功能
- 使用Claude API重写AI驱动的CV
- 求职信生成
- 额外的语言支持(阿拉伯语、法语、西班牙语等)
- ATS优化分析
- 批量处理多个简历
- 分析仪表板
- 希伯来语日期格式和名称解析
- BiDi(双向)算法优化
文档
该项目包括全面的文件:
- README.md -快速入门指南和基本用法(此文件)
- 平台_兼容性.md -Windows、macOS、Linux、Unix、iOS和Android的详细操作系统特定设置
- MOBILE_USAGE.md -从iOS和Android设备使用服务器的完整指南(远程访问、隧道、Termux、云部署)
- HEBREW_SUPPORT.md -完整的希伯来语功能文档
- CLAUDE.md -全面的功能参考和API文档
支持
对于问题或疑问:
- 移动设备使用情况 (iOS/Android):请参阅 MOBILE_USAGE.md 获取设置指南和示例
- 操作系统特定帮助:参见 平台_兼容性.md 适用于您的操作系统
- 希伯来语帮助:参见 HEBREW_SUPPORT.md
- 功能文档:评论 CLAUDE.md
- 一般帮助:检查
- 调试:使用启用调试日志记录
LOG_LEVEL=debug在.env中
按操作系统列出的系统要求
Windows(10/11)
- 最小RAM:2 GB(建议4 GB)
- 最小磁盘空间:500 MB
- Node.js:18.0.0或更高版本
- 必备组件:
- Visual Studio构建工具(可选,用于本机模块) - .NET Framework 4.5+(适用于某些系统库)
- 支持的外壳:PowerShell、命令提示符、Windows终端
- 备注:
- 对路径使用反斜杠(例如。, C:\path\to\file) - 不同shell中的环境变量设置不同 - 某些操作可能需要以管理员身份运行
macOS
- 最低版本:macOS 10.13(High Sierra)
- 最小RAM:2 GB(建议4 GB)
- 最小磁盘空间:500 MB
- Node.js:18.0.0或更高版本
- 必备组件:
- Xcode命令行工具: xcode-select --install - 自制(可选,但推荐)
- 支持的外壳:zsh(默认),bash
- 备注:
- 对路径使用正斜杠 - 中的配置文件 ~/Library/Application Support/ - 可能需要在“系统偏好设置”中允许来自“身份不明的开发人员”的应用程序
Linux
- 最小RAM:1 GB(建议2 GB)
- 最小磁盘空间:500 MB
- Node.js:18.0.0或更高版本
- 必备组件:
- 构建工具: gcc, g++, make, python3 - 剧作家图书馆: libxss1, libxcomposite1等等。
- 支持的分发:
- Ubuntu/Debian 18.04+ - Fedora 30+ - CentOS 7+ - Arch Linux - openSUSE
- 备注:
- 对路径使用正斜杠 - 可能需要安装其他系统库 - 经常以非root用户身份运行 - 中的配置文件 ~/.config/
Unix(FreeBSD、OpenBSD等)
- 最小RAM:1 GB(建议2 GB)
- 最小磁盘空间:500 MB
- Node.js:18.0.0或更高版本(通过端口/软件包提供)
- 必备组件:
- 构建工具: gcc, gmake, python3 - Playwright的Webkit库
- 备注:
- 对路径使用正斜杠 - 需要更新端口/包系统 - 某些依赖关系可能需要从源代码构建 - 沙盒限制可能适用(OpenBSD)
性能注意事项
硬件优化
低规格机器 (1-2gb RAM):
- 减少
SCRAPER_MAX_CONCURRENT到1 - 禁用
CACHE_ENABLED如果存储空间有限 - 使用
modificationLevel: "minimal"用于CV修改
标准机器 (4-8GB内存):
- 默认配置运行良好
- 可以运行多个并发作业
高端机器 (16+GB内存):
- 可以增加
SCRAPER_MAX_CONCURRENT2-3 - 缓存将显著提高性能
操作系统的预期性能
| 操作 | Windows | macOS | Linux | Unix |
|---|---|---|---|---|
| 简历解析(PDF) | 2-4s | 1-3s | 1-3s | 2-4s |
| 作业报废 | 20-30s | 15-25s | 15-25-25s | 20-30s |
| 满管道 | 30-45s | 25-40s | 25-40ks | 30-50s |
性能取决于:
- 网络速度(用于网页抓取)
- 磁盘速度(SSD与HDD)
- 系统负载
- 浏览器功能(剧作家)
许可证
MIT许可证-有关详细信息,请参阅许可证文件
更新日志
v1.1.0-希伯来语支持(当前)
补充:
- ✅ 完整的希伯来语检测和支持
- ✅ 具有适当缩进的从右向左(RTL)文本格式
- ✅ 50+希伯来语技能词典,提供技术和软技能翻译
- ✅ 希伯来语章节标题翻译(经验、教育、技能等)
- ✅ 支持混合希伯来语-英语内容,带有Unicode方向标记
- ✅ 希伯来语感知的CV解析器和文档生成器
- ✅ RTL感知Markdown生成器
- ✅ 语言检测作为CV解析的标准特征
- ✅ 全面的希伯来语支持文档
改进:
- 通过语言跟踪增强简历元数据
- 更好的文本组成分析用于语言检测
- 改进了字符编码处理
v1.0.0-初始版本
- 阶段1-7:完成MCP服务器实施
- 三个核心MCP工具:extract_job_description、modify_cv、analyze_cv_job_match
- 支持PDF、DOCX、Markdown和JSON CV格式
- 从LinkedIn和其他招聘网站抓取网页
- 关键字提取和CV修改逻辑
- 多种文档输出格式
