Good!HR - 基于AI辅助开发的开源招聘自动化工具 能帮助HR筛选候选人和自动打招呼

项目背景

在和ChatGPT的对话中,我突发奇想能否让AI协助开发一个Chrome扩展。经过多轮对话和代码迭代,最终完成了这个完全免费的招聘助手工具。项目采用纯前端实现,代码开源透明。使用完全免费

先放下载地址
点我下载

瓜瓜(软件开发) 2025-01-01 14.57.15

Good!HR - 基于AI辅助开发的开源招聘自动化工具 能帮助HR筛选候选人和自动打招呼

核心功能

  • 多平台支持(BOSS直聘、猎聘网)
  • 智能关键词匹配
  • 排除关键词过滤
  • 自动化操作

技术实现

项目采用原生JavaScript开发,使用Chrome Extension API实现跨页面通信。下面分享一些关键代码实现:

1. 解析器设计模式

采用基类+子类继承的方式,实现了不同平台的简历解析:

Good!HR - 基于AI辅助开发的开源招聘自动化工具
项目背景

在和ChatGPT的对话中,我突发奇想能否让AI协助开发一个Chrome扩展。经过多轮对话和代码迭代,最终完成了这个完全免费的招聘助手工具。项目采用纯前端实现,代码开源透明。

效果图

// 基础的筛选方法
filterCandidate(candidate) {
    if (!this.settings) {
        console.log('没有筛选设置,返回所有候选人');
        return true;
    }


    // 只保留关键词筛选
    if (this.settings.keywords && Array.isArray(this.settings.keywords) && this.settings.keywords.length > 0) {
        // 合并所有需要匹配的文本
        const allText = [
            candidate.name,
            candidate.age?.toString(),
            candidate.education,
            candidate.university,
            candidate.description,
            // 添加额外信息
            ...(candidate.extraInfo?.map(info => `${info.type}:${info.value}`) || [])
        ].filter(Boolean).join(' ').toLowerCase();

        console.log('检查文本:', allText);
        
        if (this.settings.isAndMode) {
            // 与模式:所有关键词都必须匹配
            const allKeywordsMatch = this.settings.keywords.every(keyword => {
                if (!keyword) return true; // 忽略空关键词
                const matches = allText.includes(keyword.toLowerCase());
                console.log(`关键词 "${keyword}" ${matches ? '匹配' : '不匹配'}`);
                return matches;
            });

            if (!allKeywordsMatch) {
                console.log('未包含所有关键词');
                return false;
            }
        } else {
            // 或模式:匹配任一关键词即可
            const anyKeywordMatch = this.settings.keywords.some(keyword => {
                if (!keyword) return false; // 忽略空关键词
                const matches = allText.includes(keyword.toLowerCase());
                console.log(`关键词 "${keyword}" ${matches ? '匹配' : '不匹配'}`);
                return matches;
            });

            if (!anyKeywordMatch) {
                console.log('未包含任何关键词');
                return false;
            }
        }
    } else {
        console.log('没有设置关键词,跳过关键词筛选');
    }

    console.log('候选人符合条件:', candidate.name);
    return true;
}

核心功能

多平台支持(BOSS直聘、猎聘网)
智能关键词匹配
排除关键词过滤
自动化操作

技术实现

项目采用原生JavaScript开发,使用Chrome Extension API实现跨页面通信。下面分享一些关键代码实现:

  1. 解析器设计模式

采用基类+子类继承的方式,实现了不同平台的简历解析:

javascript // 基础解析器类

项目结构

├── manifest.json

├── popup

│ ├── index.html

│ └── index.js

├── content_scripts

│ ├── index.js

│ └── sites

│ ├── common.js

│ ├── boss.js

│ └── liepin.js

└── background.js

招聘工具 这个版本: 更注重技术细节分享 展示核心代码实现 3. 说明开发思路和架构 保持专业性和技术深度 适合技术社区分享 建议发布时可以配上: 实际运行效果图 核心功能演示视频 详细的安装配置文档

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐