specmate
io.github.Alele496由 GitHub 帳號 Alele496 發布v0.2.1更新於 Oct 24, 2026
BSV coding knowledge engine for AI agents — pre-compile traps and post-compile diagnosis.
概覽
一套在本機執行的 BSV(Bluespec SystemVerilog)編碼知識引擎,可在撰寫程式前預測常見陷阱,並在編譯後診斷 BSC 編譯錯誤。
- 可以做什麼
- specmate 為 AI 助理提供 8 個面向 BSV 硬體設計的工具:specmate_scan 在撰寫程式前預測陷阱並提出設計建議,specmate_check 以 19 條規則靜態掃描 .bsv 檔案且不呼叫 bsc,specmate_diagnose 解析完整的 BSC 編譯輸出並說明根本原因。specmate_capture 與 specmate_resolve 會把新的編譯錯誤與修正方式寫入 SQLite 知識庫,specmate_analyze 則用 tree-sitter 解析 BSV 語法樹,以排查排程與相依性衝突。specmate_diff 可比較編譯快照,specmate_guide 提供分階段指引。
- 適用情境
- 當助理撰寫或審查 Bluespec SystemVerilog 程式、且反覆遇到同類編譯錯誤時值得加入,因為這套伺服器會跨工作階段累積錯誤記憶。它在撰寫程式前(陷阱預測)與 bsc 編譯失敗後(診斷)最有用,對一般軟體專案幫助不大。
- 執行需求
- 透過 stdio 在本機執行,通常以 npx 啟動 npm 套件 bsv-specmate,需要 Node.js 18 或更新版本。README 也提到可從 GitHub Packages 安裝,這需要設定 npm registry。未宣告任何帳號、API 金鑰或環境變數,但知識庫依賴使用者提供的 bsc 編譯輸出。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 specmate,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
specmate 🤝
[npm version] [CI] [License] [Node.js] [Site]
BSV 终于有个 mate 了——一个懂 BSV、记得住你的翻车现场、会在编译前喊你看路的编码搭子。
🌟 它能做什么
AI 写 Python 很顺手。写 BSV?一编译满屏红——不是 AI 笨,是 BSV 太冷门,训练数据全是老版本。specmate 不替 Agent 写代码,它在 Agent 落笔之前先把坑指出来。
- 陷阱预测 — 你做 FIFO pipeline?上一个 Agent 在这翻了三次,我给你标出来。基于 30 个领域知识图谱节点,提前扫雷。
- 静态检查 — 19 条规则扫一遍
.bsv,方法顺序、Bool 运算符误用、SV 保留字冲突、字面量溢出。不调 bsc,秒出结果。 - 错误诊断 — 把 BSC 那满屏红丢进来,29 篇编码记忆逐一比对,告诉你根因和怎么修。不认识的新错误?自动入库记下来。
- 记仇的 code buddy — 编译报错 → capture 记一笔 → 修好 → resolve 归档。SQLite 驱动,每次命中自动 +1。同一条坑不踩两次——它真记仇。
- 代码审查 — tree-sitter 真解析 BSV 语法树,不是正则匹配。调度冲突矩阵、跨 rule 冲突、依赖图——给你画出来。
🚀 快速开始
安装
specmate 有两个发布渠道,根据你的需求选择:
GitHub Packages(推荐) — 主力发布渠道,每个版本都第一时间发布,始终最新:
npm — 稳定发行版,仅在经过充分验证后发布,版本更新可能滞后:
如何选择? 追求新功能和最新陷阱知识选 GitHub Packages;在关键项目中使用、优先稳定性选 npm。两者功能完全一致,区别仅在于发布节奏。
需要 Node.js >= 18。使用 GitHub Packages 前需要先配置 npm registry,见 新手指南。
配置 MCP
在 BSV 项目根目录创建 .mcp.json:
启动 AI 客户端(Claude Code / OpenCode 等),Agent 自动发现 specmate 工具。
📡 通过 MCP Registry 发现:specmate 已注册到 MCP Registry(
Developer Tools类别)。在支持 Registry 的客户端中,可通过mcp add bsv-specmate一键安装,无需手动编写配置文件。
🎚️ 三级干预强度:
验证
让 Agent 写一段 BSV 代码,specmate 会自动介入。有返回结果就说明配置成功。详细步骤和常见问题见 新手指南。
🔧 MCP 工具一览
specmate 通过 8 个 MCP 工具供 AI Agent 调用。
specmate_scan 是推荐统一入口,替代旧的多次分步调用。完整集成说明(AGENTS.md 模板、OpenCode 配置、角色提示词)见 Agent 集成手册。
📋 Agent 工作流
Agent 不知道 specmate?你不是第一个。 第一场实验里 Agent 全程 0 次调 specmate——不是工具不好,是它不知道有这个 mate。在对话里说一句"试试用
specmate_scan扫一下你的任务"就够了。
📊 效果速览
不是随口说的——我们做了五场对照实验。Agent 完成同一个 BSV 项目,唯一区别是带了 specmate 还是裸写。
第一场,Agent 连 specmate 都不知道存在,全程 0 次调用——问题不在工具,在 Agent 不认识这个 mate。第二场 Agent 开始主动调用了,但时机不对——写完代码才 scan,等于考试交卷了才看复习笔记。第三场我们拉了不认识双方的 Agent 做双盲评审——带 specmate 的方案代码质量盲审高出 16%,评审人不知道哪份是谁写的。第四场优化了模板约束,首次编译通过率显著提高。第五场聚焦审查角色——最有效的不是堆更多规则,而是给 Agent 一个审查角色,让它知道该在什么时候调哪个工具。
核心结论:specmate 的价值不是替 Agent 写代码,而是替 Agent 记住那些它学一次忘一次的 BSV 冷知识。
完整数据、实验设计和方法论分析见 SHOWDOWN 报告。
📈 当前状态
- 版本 0.2.0,通过 GitHub Packages 主力发布(
@Alele496/[email protected]),npm 频道发布经过验证的稳定版本 - 8 个 MCP 工具全部可用,CI 自动化验证
- 12 条 BSV 陷阱已验证(fixture 文件 + bsc 编译双重验证),62 条 backlog 按天推进
- 29 篇编码记忆覆盖常见 BSC 编译错误
- 30 个领域知识图谱节点,19 条静态检查规则
- pre-commit hook 拦截 + GitHub Actions CI 双保险
📂 项目结构
核心思路:MCP 工具层承接 Agent 调用 → 知识图谱做匹配 → SQLite 持久化经验。代码量不大,重在知识积累。
📖 文档
- 第一次用? 读 新手指南 — 安装、配置、三步走完。
- 接入 Agent? 读 Agent 集成手册 — AGENTS.md 模板、OpenCode 配置、角色提示词。
- 想了解设计? 读 架构文档 — 设计决策、模块关系、数据流。
- 想看数据? 读 SHOWDOWN 报告 — 五场对照实验完整设计和分析。
- 深入源码? 读 内部总览 — 源码结构、数据库 schema、工具实现细节。
🤝 贡献
specmate 的知识来自实战踩坑。你遇到 bsc 报错了,Agent 用 specmate_diagnose 诊断 → specmate_capture 记下来 → 修好以后 specmate_resolve 固化 → 补一篇文档说清根因和修复方案。每条知识都让下一个写 BSV 的人少踩一个坑。
欢迎提 Issue 和 PR。规则和陷阱的 fixture 贡献尤其欢迎。fixture 是什么?每条检查规则配两个 .bsv 文件——pass.bsv 是通过用例(写对了不该报),fail.bsv 是失败用例(故意触发规则应该报)。新增规则时跑 node test/fixtures/run-fixtures.mjs 验证全部 fixture,不通过不能合并——这是议会定的铁律,谁来都一样。具体目录结构和示例看 test/fixtures/check/ 下面已有的规则。
🔗 相关项目
- Kova — DKE 领域知识引擎框架,specmate 是它的第一个 BSV 实例
- bsc — Bluespec 官方编译器,specmate 的 knowledge base 依赖 bsc 的编译输出来积累经验
- bsc-contrib — Bluespec 社区库和工具集,写 BSV 时常配合使用
MIT License | Alele496
來源:README.md,提交 34ad08b
工具
0版本歷史
1- v0.2.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分