Spots

隔离内网下 AI Agent 工程实战

好长一段时间不写文章了,又到国庆长假,是时候整理下最近对 AI 工程化上的一些心得进行总结和分享; 在 AI 的时代浪潮里写文章的门槛变低了很多,AI渲染、AI 代笔; 能真正愿意花费时间,认真的写点东西,是真的挺难得; 在有 AI 的日子里,人的深度阅读与总结能力也开始慢慢退化了。 回到主题,近期在公司的开发流程中集成 AI 工程化的落地实践的过程中,各端开发人员在开发流程的各个阶段均会有使用 coding agent 调用内网系统的需求,比如: 需求评审: 获取 tapd prd 需求信息,提供 Agent 了解需求进行脑暴和明确需求细节; 方案设计: 基于需求理解完后 ,让 AI 编写技术方案并同步到 wiki 文档中; 开发阶段: 构造 API 接口文档到 apidoc 平台中、功能开发完成自动 gitlab MR、自动触发发布测试环境; 测试阶段: 获取测试用例信息用于 AI 自测、获取 bug 信息用于 bugfix; 等等,在开发各个阶段,均会使用到内网系统,需要让 Agent 调度获取补充上下文信息,以及特定的功能操作; 前期大家都在探索,不同端(服务端、客户端、前端)各凭本事实现不同内网系统的调用; 当前各端在开发阶段均有内网系统调用需求,并各凭本事重复造轮子,多数解决方案是采用 skills script 去实现内网系统的登录授权,并且携带授权信息去调用 API,复用性差,使用门槛高,安全性差,等问题; 在短时间内想让内网系统(自建、开源搭建、商用搭建)都支持 MCP Tools 能力,也不太现实; 在不改动内网系统的情况下,将内网系统的相关能力封装成 MCP Tools 提供基础通用能力,支持 tools 的授权管理,支持个人账号登录授权管理、支持危险操作的审批机制、支持 Tool 调用审查日志、支持配套的 Skills; 使用个人内网系统账号去调用 Tools 与用户直接登录内网系统去手动操作效果一致,依然是以个人账号权限去调用,不会出现越权问题; 项目: internal-mcp — 让 AI Agent 直接使用内网系统;

内网系统接口统一封装成 MCP tools,AI 对话即可调用;写操作走人工审批; 这里仅提供实现的思路,不开源;因为这里接入的 MCP Tools…

内网系统接口统一封装成 MCP tools,AI 对话即可调用;写操作走人工审批; 这里仅提供实现的思路,不开源;因为这里接入的 MCP Tools 均是公司内网系统,不适合对外开源;但是思路是通用的。 内网接口直接给 AI 用: 内网系统的接口按需授权后注册成 MCP tools,AI 客户端连接即可调用。 凭据与授权管理: 管理台录入账号密码、测试登录、逐个接口开授权开关;凭据加密存储,明文不回显。 写操作要过审批: Agent 发起的写操作只生成待执行单,人工在管理台确认后才真正执行;每次调用都留痕可查。 MCP 市场: 把外部 stdio MCP server 接进来,与内置工具一起提供给 AI。 Agent Skills: 随仓库分发成套流程技能(测试环境发布、服务安装管理),一条命令装进 AI 客户端、,对话里用自然语言触发;管理台 Skills 页可查看全部技能及其用法。 AI Agent: 调用方,通过 MCP tools 调用内网系统能力。 管理台 Vue SPA : 管理入口,配置系统、授权 API、审批与查日志。 mcpserver: MCP 端点(stdio + HTTP),按授权动态生成 tools 并路由调用。 治理域(apireg + draft + execlog): 所有 tool 的唯一通路,API 授权开关 → 写操作落审批 → 执行记日志。 adapter : 核心抽象 SystemAdapter,把各内网系统的登录、校验、调用差异封装在各自实现里。 authcache + credstore: 身份态层——授权缓存与自动重登闭环;凭据 AES-256-GCM 加密存储。 store( SQLite ): 单文件库,所有配置、凭据密文、审批、日志的唯一持久化。 治理域:核心管控链。System(内网系统)注册 ApiPermission(API 授权开关,含写类审批标记);写类调用触发 Draft(待审批单),审批后执行并经 ExecLog 落日志,draft_id 回写闭环。 身份域:System 配置

Credential(凭据,仅存 AES 密文);登录产出 AuthToken(令牌密文 + 过期时间),运行时由 AuthCache 缓存并在

Credential(凭据,仅存 AES 密文);登录产出 AuthToken(令牌密文 + 过期时间),运行时由 AuthCache 缓存并在 401 时自动重登。 服务域:McpTool 是对外交付物,由授权的 API 动态生成(命名 {system}_{api_key});ProviderConfig 注入外部 MCP 子进程的工具,走同一治理链。 装好后在 AI 客户端 Agent 对话里输入 /my-internal-mcp install,由技能完成:下载最新版本 → 注册常驻服务 → 自动配置本机 MCP 客户端。 打开管理台 http://127.0.0.1:6688: 系统总览 › 凭据管理:录入内网系统账号密码,点「测试登录」确认成功。 系统总览 › API 授权:按需打开接口开关,对应接口立刻作为 MCP tool 提供给 AI。 服务地址:管理台 127.0.0.1:6688,MCP 端点 127.0.0.1:6677/mcp。 支持开启关闭系统,tools 授权管理、登录凭据管理; 考虑到 mcp tools 过多会对模型上下文污染和产生判断干扰,这里做个系统开关和 tools 开关; 使用mcp provider,支持接入开关的 mcp,统一在 internal-mcp 进行管控; 基于 mcp tools 基础能力,编排对应特定标准流程的skills,让执行更稳定、高效; 其中 my-internal-mcp 技能可以对系统进行安装、升级、停止、重启、运行状态,等操作;降低安装升级和使用的门槛; 审批通过、拒绝,支持查看历史,支持可视化对比,比如:apidoc 可视化对比差异,wiki 可视化对比内容变更,等;

News

隔离内网下 AI Agent 工程实战

好长一段时间不写文章了,又到国庆长假,是时候整理下最近对 AI 工程化上的一些心得进行总结和分享; 在 AI 的时代浪潮里写文章的门槛变低了很多,AI渲染、AI 代笔; 能真正愿意花费时间,认真的写点东西,是真的挺难得; 在有 AI 的日子里,人的深度阅读与总结能力也开始慢慢退化了。 回到主题,近期在公司的开发流程中集成 AI 工程化的落地实践的过程中,各端开发人员在开发流程的各个阶段均会有使用…

@spots
Source: Juejin
See more like this