插件
在 plugins/ 下添加进程内扩展。同名的项目目录替换主目录插件。
| 设置 | 效果 |
|---|---|
plugin.json 中 "enabled": false |
目录留在原地,不加载 |
config.json 中 "plugins": false |
跳过发现。true 会从写入的文件中省略 |
插件可以添加工具、协议客户端、审批分类器、斜杠命令、钩子、原始钩子和提示占位符。它可以读取当前会话模型,以及审查是否在用自己的模型。
| 能力 | 可以做什么 |
|---|---|
IPluginDataDirectory |
收到自己的全局和项目运行时数据目录 |
| 模型客户端 | 调用会话模型;开关打开时也可调用审查模型。客户端与回合分开,不写入记录 |
| 钩子 | 追加提示和压缩文本。存储前改写用户消息。修订一次出站请求且不改变已存储记录。读取一次已完成的响应。改写工具调用(审批再跑一次)。替换工具结果。提高审批风险 |
| 钩子不可以 | 降低风险,或替换 Work、Plan、Review |
| 原始钩子 | 重建一次出站请求。用任意字符串替换已组合的提示和压缩文本。用任意风险、权限、摘要和提示要求替换审批分类。加载时在说明中点名 |
之后会增加钩子方法。插件是否互相声明依赖尚未决定。插件之下的模块系统不在此构建中。
/plugins 列出它们。/plugins on|off|reload 控制发现。/plugins enable|disable|show <directory> 更改一个插件。crystal plugins list|show|enable|disable 在会话外做同样的事,除非设置 --format text,否则打印 Spectre.Console 表格。
细节见插件。