二次开发文档
欢迎参与 CatInCup 的二次开发。本框架的设计哲学是模块化与解耦。
1. Skill 开发 (无代码/低代码扩展)
遵循 Anthropic 官方规范。一个 Skill 就是 data/skill 下的一个目录,核心是 SKILL.md 文件。
要求:
SKILL.md顶部必须包含name和description元数据。内容:用自然语言详细描述该技能的工作流、约束条件,可搭配脚本一并放入文件夹。
2. 原生插件开发 (Plugin)
原生插件用于拓展框架的硬能力边界(Python 库级别)。 存放在 src/plugins/plugin_collection,必须包含三个文件:
__init__.py # 插件对外暴露的函数接口
plugin_name.py # 插件的具体业务逻辑实现
plugin_name.yaml # 参数与 Schema 的详细描述(格式参考现有插件)注:务必在代码中处理好第三方依赖的隔离与引入。
3. Harness Engineering 开发
对于某些特定行业,可以自己根据行业的工作特点定制自己的 Harness Engineering
在本框架中,我们给开发者提供了一个 BaseTask 类,定义为通用任务,提供了许多基础内置函数和类内属性
开发者可在 src/models/expert/ 文件夹下定义自己的 Harness Engineering,即给出一个继承 BaseTask 的类,改造或沿用基础内置函数(参考 trading 任务),并实现自己的工作流。
expert 接口为开发者提供了开箱即用的原生工具与插件生态,并享受本框架的 API 轮询、并发兼容等特性
4. Sensor 开发 (环境感知)
Sensor 是 Agent 连接物理世界和外部应用的触角(如 RSS 订阅、外部聊天软件)。
实现方式:编写 Python 脚本,开启独立后台线程持续监听外部事件。
数据推入:监听到事件后,通过调用
add_message函数,将外部信息异步推入 Agent 的消息队列进行处理。你可以结合Cron工具开发基于时间的定时 Sensor 触发器。
5. 贡献指南
提交 PR 时,请保证 一个 PR 只解决一个具体问题,避免巨型混合提交。
遇到 Bug 或有新 Feature 构想,请先在 GitHub 提交 Issue 讨论。