Token导航 LogoToken导航TokenDH.com
AI code helper MCP logo
AI代理未说明官方级别未说明来源级核验

AI code helper MCP

MCP Server

一个基于Spring Boot和LangChain4j的智能编程助手,提供联网搜索、敏感词检测和智能对话功能,适用于编程学习和求职面试指导。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Gavin-JN

提供方

Gavin-JN

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

AI Code Helper

一个基于 Spring Boot 和 LangChain4j 的智能编程助手应用,专注于联网搜索和敏感词检测功能的实践项目

项目简介

AI Code Helper 是一个用于学习和实践 AI 应用开发的项目,主要演示如何集成联网搜索功能和实现敏感词检测机制。该项目集成了阿里云通义千问大语言模型,通过 LangChain4j 框架提供智能对话服务。

核心功能

🔍 联网搜索功能

  • 实时信息获取:集成联网搜索能力,获取最新信息
  • 搜索结果整合:将搜索到的信息与 AI 回答相结合
  • 来源标注:明确标注信息来源,确保信息可靠性

🛡️ 敏感词检测功能

  • 实时输入检测:在用户输入时实时检测敏感词汇
  • 安全防护机制:阻止包含敏感词的不当内容
  • 可配置词库:支持自定义敏感词列表
  • 大小写不敏感:确保检测的全面性

💬 智能对话

  • 编程学习指导:提供编程学习和求职面试相关建议
  • 系统提示词:通过外部文件配置 AI 行为
  • 安全对话:在安全检测通过后提供智能回复

技术栈

  • Java 21:使用最新的 Java LTS 版本
  • Spring Boot 3.5.6:现代化的 Java 企业级框架
  • LangChain4j 1.1.0:Java 版本的 LangChain 框架,支持联网搜索
  • 通义千问 (Qwen):阿里云大语言模型
  • MCP (Model Context Protocol):支持联网搜索的协议
  • Maven:项目构建和依赖管理
  • Lombok:简化 Java 代码编写

项目结构

src/
├── main/
│   ├── java/com/atguigu/aicodehelper/
│   │   ├── ai/                          # AI 相关服务
│   │   │   ├── AiCodeHelper.java        # 核心 AI 服务实现
│   │   │   ├── AiCodeHelperService.java # AI 服务接口(支持联网搜索)
│   │   │   └── AiCodeHelperServiceFactory.java
│   │   ├── guardrail/                   # 敏感词检测模块
│   │   │   └── SafeInputGuardrail.java # 输入安全检查实现
│   │   ├── mcp/                         # 联网搜索配置
│   │   │   └── McpConfig.java          # MCP 协议配置
│   │   └── AiCodeHelperApplication.java # 应用启动类
│   └── resources/
│       ├── application.yml              # 应用配置
│       ├── application-local.yml        # 本地环境配置(包含 API Key)
│       ├── system-prompt.txt           # 系统提示词(支持联网搜索说明)
│       ├── static/                     # 静态资源
│       └── templates/                  # 模板文件
└── test/                               # 测试代码
    ├── AiCodeHelperApplicationTests.java
    └── AiCodeHelperServiceTests.java

快速开始

环境要求

  • Java 21 或更高版本
  • Maven 3.6 或更高版本
  • 阿里云通义千问 API Key

安装步骤

  1. 克隆项目
   git clone 
   cd ai-code-helper
  1. 配置 API Key

编辑 src/main/resources/application-local.yml 文件,将 api-key 替换为你的通义千问 API Key:

   langchain4j:
     community:
       dashscope:
         chat-model:
           model-name: qwen-max
           api-key: your-api-key-here
  1. 运行应用
   # 使用 Maven 运行
   ./mvnw spring-boot:run

   # 或者先编译再运行
   ./mvnw clean package
   java -jar target/ai-code-helper-0.0.1-SNAPSHOT.jar
  1. 访问应用

应用启动后,默认运行在 http://localhost:8080

配置说明

应用配置

  • 应用名称:ai-code-helper
  • 默认环境:local
  • AI 模型:qwen-max(通义千问最大模型)

安全配置

项目内置了输入安全检查机制,会过滤包含敏感词的输入:

  • 检测词汇:kill, evil
  • 检测方式:不区分大小写的单词匹配

核心功能实现

🔍 联网搜索功能

项目通过 LangChain4j 的 MCP (Model Context Protocol) 支持联网搜索:

// MCP 配置类
@Configuration
public class McpConfig {
    // 配置联网搜索相关设置
}

系统提示词中明确要求 AI 在需要时进行联网搜索:

5. 如果是联网搜索的内容请指明出处,并明确告诉用户是联网搜索的结果

🛡️ 敏感词检测功能

实现了 InputGuardrail 接口的安全检查机制:

public class SafeInputGuardrail implements InputGuardrail {

    // 敏感词词库
    private static final Set sensitiveWords = Set.of("kill", "evil");

    @Override
    public InputGuardrailResult validate(UserMessage userMessage) {
        String inputText = userMessage.singleText().toLowerCase();
        String[] words = inputText.split("\\W+");

        for (String word : words) {
            if (sensitiveWords.contains(word)) {
                return fatal("Sensitive word detected: " + word);
            }
        }
        return success();
    }
}

💬 AI 服务接口

@InputGuardrails({SafeInputGuardrail.class})
public interface AiCodeHelperService {

    @SystemMessage(fromResource = "system-prompt.txt")
    String chat(String message);
}

🔧 核心服务实现

@Service
public class AiCodeHelper {

    @Resource
    private ChatModel qwenChatModel;

    // 基础对话方法(会经过敏感词检测)
    public String chat(String message);

    // 直接对话方法(绕过检测)
    public String chatWithMessage(UserMessage userMessage);
}

开发指南

🔧 敏感词检测开发

添加新的敏感词

SafeInputGuardrail.java 中修改 sensitiveWords 集合:

private static final Set sensitiveWords = Set.of("kill", "evil", "newSensitiveWord");

自定义检测逻辑

可以扩展检测逻辑,比如:

  • 添加正则表达式检测
  • 集成外部敏感词库
  • 添加上下文相关的检测
@Override
public InputGuardrailResult validate(UserMessage userMessage) {
    String inputText = userMessage.singleText().toLowerCase();

    // 基础敏感词检测
    if (containsSensitiveWords(inputText)) {
        return fatal("Sensitive content detected");
    }

    // 可以添加更多检测逻辑
    // 如:长度检测、特殊字符检测等

    return success();
}

🌐 联网搜索开发

配置 MCP 搜索

McpConfig.java 中配置搜索相关设置:

@Configuration
public class McpConfig {

    @Bean
    public McpClient mcpClient() {
        // 配置 MCP 客户端
        return McpClient.builder()
            .searchEnabled(true)
            .build();
    }
}

自定义系统提示词

编辑 src/main/resources/system-prompt.txt 文件来修改 AI 助手的联网搜索行为:

你是编程领域的小助手,帮助用户解答编程学习和求职面试相关的问题,并给出建议。重点关注 4 个方向:
1. 规划清晰的编程学习路线
2. 提供项目学习建议
3. 给出程序员求职全流程指南(比如简历优化、投递技巧)
4. 分享高频面试题和面试技巧
5. 如果是联网搜索的内容请指明出处,并明确告诉用户是联网搜索的结果
请用简洁易懂的语言回答,助力用户高效学习与求职。

🚀 添加新的 AI 服务

  1. ai 包下创建新的服务类
  2. 使用 @Service 注解标记
  3. 注入 ChatModel 进行 AI 对话
  4. 可选择性地添加 @InputGuardrails 注解

测试

运行测试:

# 运行所有测试
./mvnw test

# 运行特定测试类
./mvnw test -Dtest=AiCodeHelperServiceTests

构建和部署

构建应用

# 清理并构建
./mvnw clean package

# 跳过测试构建
./mvnw clean package -DskipTests

Docker 部署(可选)

FROM openjdk:21-jdk-slim
COPY target/ai-code-helper-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

学习重点

🎯 项目学习目标

这个项目主要用来学习和实践以下两个核心功能:

  1. 联网搜索功能

- 学习如何集成 MCP (Model Context Protocol) - 理解 LangChain4j 的联网搜索机制 - 实践 AI 与实时信息的结合

  1. 敏感词检测功能

- 学习实现 InputGuardrail 接口 - 理解输入验证和内容安全机制 - 实践文本处理和过滤逻辑

📚 技术学习点

  • LangChain4j 框架:学习 Java 版本的 LangChain 使用
  • Spring Boot 集成:学习如何将 AI 服务集成到 Spring 应用中
  • 安全编程:学习输入验证和安全防护的最佳实践
  • MCP 协议:学习模型上下文协议的使用

更新日志

v0.0.1-SNAPSHOT

  • 初始版本发布
  • 集成通义千问大语言模型
  • 实现联网搜索功能(通过 MCP 协议)
  • 实现敏感词检测功能(通过 InputGuardrail)
  • 支持编程学习和求职指导
  • 添加系统提示词配置

注意:使用前请确保已获得有效的通义千问 API Key,并妥善保管您的 API 密钥。

目录标签

目录标签

JavaAI代理工作流自动化智能编程本地部署联网搜索敏感词检测Java开发AI助手

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP