【开源推广】免费 Token Agent?用 yaCA 与 yaCA-Web 让你的 2api 模型也能调用本地工具!

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
【开源推广】免费 Token Agent?用 yaCA 与 yaCA-Web 让你的 2api 模型也能调用本地工具!
开源推广】免费 Token Agent?用 yaCA 与 yaCA-Web 让你的 2api 模型也能调用本地工具!
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


1. 这是什么?

自己搓了一个仿 Claude/Codex cli 的终端 Agent,取名 yaCA(yet another Coding Agent)。基本仿照 Claude/Codex cli 制作,但特别加了工具兼容模式,通过提示词让大模型输出 XML 风格的工具调用,从而让一些无法调用本地工具的 2api 模型也能用上本地工具调用。

项目的另一个主推点是它的 web 界面,作为大概是首批让大模型默认输出 HTML 消息的 Agent,yaCA-Web 为模型提供了数个内置类名,模型输出简单的 HTML 就可以渲染出密度和组织程度更高的消息!

项目 CLI 界面:

overview

Web HTML 输出界面(示例):

Image2026-05-1315-16-26dtlku4ro.pnr

传统 md 消息极低的信息密度和组织程度:

lowmd1

lowmd2

2. 快速开始

yaCA Cli

yaCA Cli 已经发布到 npm,使用 pnpm i -g @woisol-g/yaca 即可直接安装

项目仍在持续开发中,截止至发稿时最新版本为 v1.5.3,至少在 v1.3.3 以上的版本使用 2api 模型的体验才比较稳定

安装后直接在终端输入 yaca 就能进入 REPL 交互界面,首次启动没有提示,需要你自己用 /baseurl <xxx>/model <xxx>/apikey <xxx> 命令配置模型(不需要多讲了吧),或者你也可以直接编辑 ~/.yaca/config.json(Win 下为 C:\Users\<USERNAME>\.yaca)。

如果你使用常规的付费 api,默认配置就已经支持了标准的 OpenAI 格式工具调用;而如果你确实使用的是一些不太合规的 2api 的项目,需要在设置中开启工具兼容模式,建议的配置如下:


{
  // 其它配置……
  "tool_call": {
    "tool_call_compatible": true,
    "try_fallback": true,
    "postpone_tool_calls": 5
  }
}

配置项的解释可以参考 GitHub 仓库的 README

使用某免费 glm-5.1 的真实示例:

webglm-1

yaCA Web

yaCA Web 作为 yaCA 的拓展包,运行时动态依赖 yaCA Cli,需要先全局安装并配置好 yaCA Cli。
安装 yaCA Web 的命令:pnpm i -g @woisol-g/yaca-web,安装完成后在终端输入 yaca --serve 3000 即可启动 web 端。

3. 关于项目一些碎碎念

整体来说是人工 + vibe 搓出来的玩意,开始的时候还愿意自己手搓核心代码组织项目结构只 vibe 写迁移等繁杂任务并逐行审查,到后期项目大了一点就放开自我了……大部分 AI 写出来有效果就过也不看了……
只是想说项目现在还是非常粗糙欠打磨……也只是个人的小玩具,跟站内各位大佬的作品没得比……但高强度写了一周了有不少事不能拖太久……先暂时这样发出来吧。

Cli 项目的 XML 解析是支持流式解析的,相关代码在另一个项目 Github·Woisol/sxml.js

yaCA Web 的实现主要就是自行定了一些 CSS 类名,让模型输出时用上,再在 iframe 内简单(并非)地处理好流式输出即可,调调提示词还算有点感觉。

项目已经开源GitHub·Woisol/yaCAgentGitHub·Woisol/yaCA-web,如果项目对你有帮助记得点个 Star :star: 口牙,如果有意愿也欢迎提 Issue / PR :heart:

4. 常见问题

  1. 明明安装了 yaca-web 但 --serve 依旧显示未安装无法启动 web 端?
    作者本人在 v1.5.1 版本也遇到了这个问题,注意使用 v1.5.2 及以上版本

5. 已知缺陷与声明

  • 提示词和 Skill 还在新建文件夹……
  • 尽管尽力兜底,一些 2api 模型的智商依旧无法正确输出可解析的工具调用 XML。yaCA 带有最高 5 次的连续工具调用失败限制,可能需要手动指出工具调用的错误。
  • 同样,一些来自网页的 2api 模型由于系统本身自带提示词,尽管 yaCA 已经严格要求模型只使用 XML 工具,但模型仍然可能尝试调用云端沙箱的工具并进入死循环……此时可能需要去对应的对话网站中手动终止对话,并在后续消息中重复强调使用 XML 格式的工具……
  • postpone_tool_calls 配置项过低可能会导致限流或封禁,自行斟酌。
  • web 端急急忙忙搓出来没有充分测试,可能连带 Cli 都会遭遇 bug……
    Image2026-05-1113-50-083qbmtnoy.bfo

综上,不建议对本项目的工具兼容模式抱有平替日常开发的期望,一些阅读/写作类任务还可以胜任,写代码就算了,有条件的还是建议使用官方 api。

Super 和梁圣的恩情还不完啊:raised_hand::sob::raised_hand:

4 个帖子 - 2 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文