ArchGW:让 AI 秒懂你的“中间人”

ArchGW:让 AI 秒懂你的“中间人”

在你要做一个“能听懂人话、自动帮你执行任务”的 AI 应用时,通常需要写一大堆代码来完成这些步骤:

  1. 把用户说的话翻译成机器能懂的指令;
  2. 根据指令选择合适的 AI 模型或后端服务;
  3. 给模型或服务传参、再把结果返回给用户;
  4. 处理越权或危险操作,记录日志、监控性能……

ArchGW 就是专门为这种场景准备的“中间人”。它把上面那一串复杂流程全部打包好了,你只要简单配置,就能立刻使用。


虽然 ArchGW 和像 ChatGPT、Gemini 这样的通用人工智能(LLM)都能理解自然语言,但它们的角色完全不同:

通用 AI 更像是一个“聪明的大脑”,善于回答问题、写文章、做总结;而 ArchGW 是一个“智能调度中心”,负责识别用户的意图、调用合适的模型或系统、并执行具体任务。它不产生内容,而是帮你把 LLM 变成真正能“动手”的智能应用。

👉 比如你说:“帮我把这篇文章发到公司博客上。”

  • ChatGPT 可能会回你:“你可以登录博客后台,把内容粘贴进去。”
  • 而 ArchGW 会识别你的任务是“发布博客”,提取文章标题与内容,自动调用你配置好的 API(比如 Ghost、Notion、WordPress),直接完成发布操作,就像一个自动执行命令的智能助理。

简单说:LLM 负责“想”,ArchGW 负责“做”。


为什么需要 ArchGW?

  • 省心又高效:不用自己从零写意图识别、函数调用、日志监控这些“胶水”代码。
  • 随时切换 AI:想用 OpenAI、Ollama 还是别家的模型,一行配置就搞定,避免被单一厂商锁定。
  • 安全有保障:统一的“Guardrails”规则,自动拦截危险命令,比如“删除所有用户数据”这种操作会被拒绝并提示确认。
  • 性能可观测:自带 OpenTelemetry 和链路追踪,能把每一步请求的耗时、状态码、错误信息都丢到 Jaeger、Signoz、Honeycomb 里,随时排查问题。

核心功能

  1. “听懂”用户的意图
    • 用户:“给我查一下明天北京的天气?”
    • ArchGW:先把这句话丢给内置的小模型,迅速分辨出“这是要查天气”,并且提取出“北京”“明天”这两个关键词。
  2. 自动调用对应服务
    • ArchGW 根据你预先写好的配置,把“北京”“明天”带到天气接口里,一口气把结果拿回来。
    • 你根本不用动代码,只要在配置文件里写好“weather_api 接口地址”就行。
  3. 多轮对话 & 函数调用
    • 用户:“下周一下午三点帮我给 Alice 安排个会议。”
    • ArchGW 会先把“下周一下午三点”解析成具体日期,组装成“创建日历事件”的接口请求,再调用你的日历服务。
    • 完全不用写一行 glue 代码,配置一次后面就自动跑。
  4. 统一监控 & 安全拦截
    • 所有请求——无论是天气查询、建会、下单还是别的操作——都在同一个面板里可视化。
    • 如果检测到“删除所有用户数据”这种敏感请求,按你的规则直接拦截并返回“你确定要这么干吗?”的提示。

典型应用场景

  • 智能客服:一套对话系统同时支撑查订单、改密码、投诉反馈等多种任务,后端接口各不相同,ArchGW 一条龙搞定。
  • 运维自动化“帮我重启一下数据库”“生成今天的流量报告发给我”……对话一出,自动调用相应脚本或 API。
  • SaaS 系统集成:一个聊天入口打通 Slack、Jira、Notion、Salesforce,权限校验和日志记录都由 ArchGW 管。

怎么开始用?

发请求试试
http://localhost:10000/v1/chat/completions 发送:

{"role":"user","content":"明天下午北京天气怎么样?"}

你就能马上拿到结构化的天气数据。

启动网关

archgw build
archgw download-models
archgw up --service archgw --foreground

写配置文件arch_config.yaml

listeners:
  ingress:
    address: 0.0.0.0
    port: 10000

llm_providers:
  - model: openai/gpt-4o
    access_key: $OPENAI_API_KEY

prompt_guards:
  input_guards:
    jailbreak:
      on_exception:
        message: "该操作有风险,请确认权限。"

prompt_targets:
  - name: get_weather
    description: "查询天气"
    parameters:
      - name: location
        required: true
    endpoint:
      name: weather_api
      path: /forecast?city={location}&date={date}

endpoints:
  weather_api:
    endpoint: api.weather.com:443
    protocol: https

安装命令行工具

pip install archgw==0.3.4

小结

  • ArchGW 不仅是个简单的代理,它是 AI 应用里的“智慧中枢”,负责“听懂 → 决策 → 执行 → 监控”整套流程。
  • 从零搭建流程化、可观测又安全的自然语言接口,从此一键搞定。
  • 想让你的团队更专注业务创新,而不是把时间都花在写胶水代码?试试 ArchGW 吧!

🔗 GitHubhttps://github.com/katanemo/archgw
🔗 官网文档https://www.archgw.com/

Read more

一次意想不到的性能问题排查

一次意想不到的性能问题排查

最近几天遇到了一个令人头疼的问题:后端 API 接口响应越来越慢,有时甚至会出现假死状态,完全无法响应请求。唯一的临时解决方案是重启后端服务,但过不了多久问题又会重现。 初期症状: * API 响应时间从几十毫秒逐渐增长到几秒 * 随着服务运行时间增长,性能持续下降 * 最终会进入假死状态,必须重启才能恢复 * 重启后短时间内运行正常,然后重蹈覆辙 排查过程 这种"越跑越慢"的症状让我首先怀疑是内存泄漏或资源未释放。我尝试了多种方向: 1. 优化缓存策略 面对性能问题,第一反应是减少不必要的计算和请求: 后端 Redis 缓存 * 将频繁查询的数据加入 Redis 缓存 * 对热点接口实施缓存层 * 设置合理的缓存过期时间 前端静态资源优化 // 为静态文件添加版本号/随机码,实现持久化缓存 <script src="/app.js?v=a8f3c2d1">

By 王圆圆
理解爱

理解爱

一、童年的禁忌 童年时期,我对"爱"这个字有一种说不清的抗拒。那时候如果喜欢上某个女孩子,我会感到羞耻,仿佛这是一种不该有的情感。我不知道这种感觉从何而来,只是本能地觉得——这样不对。 中学时借宿在邻居家,几个同龄男孩在夜里聊起那些露骨的话题,讨论女人的身体如同讨论一件器物。我坐在黑暗里,心中涌起强烈的抗拒。我觉得女性是神圣的,怎么能被如此低俗地对待,被工具化成谈资和玩物?那一刻,我认定他们是"坏孩子",而我守护着某种更高尚的东西。 大学时代,周围充斥着粗俗的口头禅和随意的恋爱观。有人把恋爱当作满足生理需求的手段,我在心里不屑——这种爱不干净,这不是我理解的爱。 二、理想的碎片 毕业后独自生活,我始终与女孩子保持着某种距离。我心里有个信念:女孩子应该被保护、被关爱。这个信念像一面镜子,让我用特定的方式打量这个世界。 然而,当我真正进入职场,与形形色色的女性共事后,我的理想开始出现裂痕。我发现有些女孩子会利用自己的性别优势,她们结成小团体,排斥异己。

By 王圆圆