让Copilot成为交互式程序员
用于Copilot的Clojure工具
(它也是一个MCP服务器,供其他人工智能工具的用户使用)
另见 出色的后座驾驶员 用于托管Clojure相关Copilot插件、技能、代理、指令、钩子、提示等的存储库。
  
VS Code语言模型扩展 卡尔瓦,VS Code的Clojure/ClojureScript扩展,使AI助手能够利用REPL的强大功能。
该扩展使用VS代码语言模型API直接向Copilot公开人工智能工具,并通过任何人工智能助手/代理的可选MCP服务器公开人工智能。
特性
- 工具: 评估代码 访问Clojure REPL以随意评估代码
- 工具: 创建Clojure文件 创建具有自动括号平衡功能的Clojure文件
- 工具: 附加代码 使用自动括号平衡将代码附加到Clojure文件
- 工具: 替换顶层表格 结构编辑,包括格式化、括号平衡和换行
- 工具: 插入顶层表单 结构编辑,包括格式化、括号平衡和换行
- 工具: 支架平衡器 帮助模型正确平衡支架(由 Par推断)
- 工具: 加载文件 通过Calva连接的REPL加载/评估整个Clojure文件
- 工具: 符号信息查找,AI可以查找它感兴趣的符号,并将获得文档字符串、参数信息等
- 工具: clojuredocs.org查询、文档、示例和 *另见* Clojure核心符号信息
- 资源: 符号信息查找,(有点实验性)与工具相同
- 资源: clojuredocs.org查询,(有点实验性)与工具相同
- 资源: 技能,可通过以下方式发现的专门指令
resources/list并可通过以下方式读取resources/read
请注意,对于编辑工具,没有用于查看编辑的UI。我建议使用来源 用于查看AI编辑活动的控制工具。
副驾驶说明:利用后座驾驶员
后座驱动程序为Copilot提供了Clojure交互式编程的工具和使用这些工具的技能。为了允许您控制Copilot如何持有Clojure和REPL,该扩展在Clojure知识、哲学和REPL方法论方面都没有提供太多帮助。
为了使Copilot真正有效,它需要知道你更喜欢如何编写Clojure,以及如何有效地使用REPL。
为了避免从头开始,糟糕的训练数据和对Clojure的幻觉会毁了一天,考虑安装 Clojure Copilot插件来自 出色的后座驾驶员 存储库。README中有一些关于该存储库的说明。
配置后座驾驶员
评估结果大小限制
为了防止大型REPL评估结果淹没代理的上下文窗口,后座驱动程序会自动限制返回结果的大小:
calva-backseat-driver.evaluation.maxLength(默认值25)--集合中显示的最大项目数。使用0禁用长度限制。calva-backseat-driver.evaluation.maxDepth(默认值7)——最大嵌套深度;深层结构被替换为##.使用0禁用深度限制。
技能
后座司机为人工智能代理提供了两种技能:
calva-backseat-driver.provideBdSkill(默认值true)--为代理商提供后座司机技能calva-backseat-driver.provideEditSkill(默认值true)--向代理提供Clojure结构编辑技能
编辑器配置
用于插入和替换顶层表单的结构编辑工具遵循两个后座驱动程序编辑器设置:
calva-backseat-driver.editor.fuzzyLineTargetingPadding(默认值2)--在匹配目标文本时,允许AI扫描的请求行每侧的行数。如果表单在较大的重构过程中移动,请增加此值;着手0用于精确的线路定位。 _权衡_:较高的值可以容忍行偏移,但当代理的缓冲区副本过时时,会增加匹配附近类似表单的风险。calva-backseat-driver.editor.lineContextResponsePadding(默认值10)--定位失败时返回的故障排除代码段中包含的请求行每侧的行数。减少此值以缩短响应时间,或增加响应时间以适应更多环境。 _权衡_:较大的值会为代理提供更多重试提示,但与发送一个聚焦的代码段相比,可能会花费额外的令牌(或时间)。
主控程序
请参阅: 将后座驱动程序配置为MCP服务器
入门指南
先决条件
使用
- 教授AI Clojure和REPL学科,例如参见: 副驾驶说明
- 将Calva连接到您的Clojure/ClojureScript项目
- 请Copilot帮你处理事情。当你说:“请使用REPL进行调查……”时,它会明白你的意思。
- 它将知道如何找到正确的REPL会话以及如何使用它。
- 配置Calva以使用终端进行REPL输出,并监视输出终端,查看它在REPL上尝试了什么
它对子代理以及并行子代理都非常有效。尝试以下内容:
- “请指派三个并行的子代理使用REPL来研究如何实现…”
- REPL输出将向您和代理显示谁在REPL上尝试什么。
- 你可以参加REPL派对。
\[!注意\] 你使用的模型越强,结果就越好。在撰写本文时,Claude Opus 4.6是了解如何使用后座驱动程序和Clojure的最佳工具。
通过在工具名称前添加一个前缀,可以在聊天中引用所有工具 #例如。#clojure-eval.
主控程序
Copilot不需要MCP,但对于其他AI线束,Calva Backseat Driver实现了 模型上下文协议 (MCP),在AI助手和REPL之间架起一座桥梁。
替代方案
一些项目/工具可以用来补充后座司机,或代替它:
- nREPL MCP服务器,提供了连接到正在运行的nREPL服务器并评估代码(以及更多)的AI工具
- Babashka AI编码工具,用于AI代理的Clojure测试运行器。
在制品
正如我们所有人一样,我正在学习使用人工智能,一次弄清楚一件事。一直以来,整个空间的移动速度都比我学的快。后座驱动程序是我尽最大努力为Clojure开发人员提供强大的AI工具,这些工具可以在零配置的情况下使用。
后座驾驶员的基本设计已被证明是有效的,并且随着时间的推移是有用的。但随着我学到了新东西,我也在逐步改进它。我从用户那里学到了很多东西。
请告诉我您使用后座司机的情况,以及您想看到的功能。 🙏
贡献
欢迎投稿!问题,公关,无论什么。在公关之前,我很欣赏一个说明正在解决的问题的问题。在开始处理这个问题之前,你可能还想联系一下讨论这个问题。
许可证🍻🗽
请赞助我的开源工作♥️
欢迎您使用此链接鼓励我的工作:
- https://github.com/sponsors/PEZ
