开发辅助工具

rubber-duck-mcp 是一个项目感知的持久化编码助手,帮助开发者记忆、自动化和协调项目任务。

  • by kencanak
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 kencanak/rubber-duck-mcp

使用说明

橡胶鸭mcp

我是你坚持不懈、有项目意识的编码助理。它帮助开发人员记住、自动化和编排项目任务。(最终,哈)

把它想象成你代码的智能橡皮鸭——它会倾听、记忆,并帮助你高效地完成任务。

在当地经营橡胶鸭mcp

先决条件

  1. 安装和设置 非易失性存储器 - 可选的
  2. 安装节点版本v24.13.1。 nvm install v24.13.1
  3. 你需要python2来编译 better-sqlite3 包裹。如果你有pyenv,你可以设置python2和python3版本

运行服务器的步骤

  1. 克隆仓库 git@github.com:kencanak/rubber-duck-mcp.git
  2. 通过运行以下命令启动服务器 ./run.sh 在终端中,此工具在节点24上运行,并使用nvm设置节点版本。

在项目中使用橡胶鸭mcp

  1. 重命名 .mcp.json.sample > .mcp.json,然后将其复制到相应的项目文件夹中。您想将此mcp服务器与哪个项目一起使用
  2. 复制 claude.md 从 .claude 文件夹到相应的项目文件夹。
  3. 出于某种原因,克劳德并不总是读 claude.md 文件。所以,我们可能需要推动它。
  4. 视频参考

可用工具

1.鸭子召回

一个特定于项目的持久开发人员记忆系统。它允许开发人员和像Claude这样的人工智能助手在会话中存储、回忆和管理重要的项目知识。把它想象成一只“橡皮鸭”,它能记住项目的关键决策、约定、调试发现和工具偏好,这样你就不必重复了。

a.为什么?

  • 获取机构知识:存储有关架构、工具或编码惯例的决策。
  • 加快入职流程:新团队成员或助理可以立即回忆起之前的决定。(尽管如此,它仍然存储在本地数据库中——有待改进)
  • 减少重复:避免重复解释重复出现的问题或解决方案。
  • 支持人工智能辅助开发:人工智能代理可以回忆相关记忆,提供更智能的建议和情境感知指导。

b.怎么做?

  • 存储内存:您或AI可以存储包含摘要、类别、置信度和可选文件的内存以供参考。
  • 回忆记忆:可以检索当前项目的记忆,按置信度和最近使用情况排序。
  • 搜索记忆:可以通过查询搜索记忆。这样,我们就避免了将所有搜索结果都用作令牌
  • 强化或反驳:根据确认或纠正来更新信心,保持记忆的相关性。
  • 存档:删除过时或无关的记忆。
  • 每个项目都有作用域,因此内存会自动与当前工作目录相关,而不需要全局标识符。这使得AI助手能够提供上下文感知的响应,并保持对项目特定知识的持久理解。

c.与克劳德:

我们设置了一个基本提示。可用 .claude/claude.md

d.背后的动机:

  • 与其将内存写入markdown文件,我发现如果我们将其存储到DB中,它会更干净
  • 矢量化数据库存储内存内容的嵌入向量,并允许语义相似性搜索,而不是文字文本匹配。当然,这也伴随着复杂性
  • 希望我们能用更少的代币?哈

2.一切:

添加更多工具:

  1. 并行开发编排中心——每个“代理”都是一个轻量级的进程,作用于一个单独的工作区(Git工作树)来执行并行任务。
  • 每个代理都有自己的Git工作树(或分支)以避免冲突。
  • MCP使用任务队列编排代理:
    • 棉绒&固定
    • 功能开发
    • 漏洞调查
    • 测试和部署
  • 代理可以从Duck Recall读取项目内存,并在需要时进行更新。
  • 结果是PR
  1. 创建工作流运行器?
  2. 任务调度器?
  • 每日代码分析:每晚运行linters、测试和代码复杂性报告。
  • 记忆清理:定期归档或强化老鸭子的回忆记忆。
  • 自动部署分支:在提交到临时分支时,触发构建和部署的工作流。