-
我的帖子已经打上 开源推广 标签: 是
-
我的开源项目完整开源,无未开源部分: 是
-
我的开源项目已链接认可 LINUX DO 社区: 是
-
我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
-
以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
1. 这是什么?
自己搓了一个仿 Claude/Codex cli 的终端 Agent,取名 yaCA(yet another Coding Agent)。基本仿照 Claude/Codex cli 制作,但特别加了工具兼容模式,通过提示词让大模型输出 XML 风格的工具调用,从而让一些无法调用本地工具的 2api 模型也能用上本地工具调用。
项目的另一个主推点是它的 web 界面,作为大概是首批让大模型默认输出 HTML 消息的 Agent,yaCA-Web 为模型提供了数个内置类名,模型输出简单的 HTML 就可以渲染出密度和组织程度更高的消息!
项目 CLI 界面:
Web HTML 输出界面(示例):
传统 md 消息极低的信息密度和组织程度:
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 的真实示例:
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/yaCAgent,GitHub·Woisol/yaCA-web,如果项目对你有帮助记得点个 Star
口牙,如果有意愿也欢迎提 Issue / PR
。
4. 常见问题
- 明明安装了 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……

综上,不建议对本项目的工具兼容模式抱有平替日常开发的期望,一些阅读/写作类任务还可以胜任,写代码就算了,有条件的还是建议使用官方 api。
Super 和梁圣的恩情还不完啊
4 个帖子 - 2 位参与者