为啥做这个
我平时会把一些网课做成 skill 配合大模型来帮助自己学习,由于是简单的问答场景,我一般就用网页端大模型来学习,正好也省些自己 token plan 的额度消耗
但是这样做多了之后难免觉得繁琐,比如说我要手动粘贴问题对应的资料到会话,在学习达成某个阶段时也需要手动把当前总结复制到我本地规划好的文档里,但是这些通过 harness+skill 就能搞定
所以我做了 c-harness ,让它来代替我做这些繁琐的事,使我能够专注于学习的过程:
- 我:发送了一个问题
- AI:根据问题找到对应的 skill ,发起 toolcall 获取 skill 内容
- 扩展:自动回注 skill 内容
- AI:还想获取问题对应的 references 文件,发起 toolcall
- 扩展:自动回注所需的 references 文件
- AI:通过已获取资料回答我的问题
项目介绍
MIT 协议开源
当前暂时只支持以下网站:
主要功能
- 支持将本地 skill 压缩包导入到扩展
- 支持连接 MCP (暂只支持通过无鉴权 Streamable HTTP 进行连接)
- 支持设置 harness 自动回注的延迟时间,避免自动回注太快引发网站频率限制
- 通过 harness 约束网页端大模型行为,为网页端大模型提供以下 toolcall
- 读取 skill 以及对应的 references
- 读取 mcp 描述与调用 mcp 接口
我通常在本地启动一个 codexpro mcp 搭配使用,让网页端大模型也能访问我的本地环境,读写我的本地文件和执行 bash
c-harness 会针对本地环境 mcp 进行优化, 当前本地环境 mcp 只收录了 codexpro ,有其他本地环境 mcp 欢迎提 issue/pr 进行收录
理论上可以用来写代码(如果你信得过网页端大模型的能力的话),但是非常容易在 AI toolcall 获取必要信息的过程中就触发频率限制(有耐心等待的话可以通过拉高自动回注的延迟时间可以解决)
已知的问题
网页端大模型的输出非常容易卡住,特别是下午高峰时段,表现为输出到一半就停止输出了(可能卡在深度思考或回复正文),或者直接输出错误信息,需要刷新页面或让模型重新输出