关于 AsDecided
AsDecided 是一个以只读方式为 Agent 提供仓库内工程决策的 MCP 服务。决策以类型化 Markdown 存放在本地仓库中,由原生 Rust 引擎校验并确定性地检索。无需 embedding、模型调用或托管索引,同一仓库状态总是得到相同结果。
主要功能
- 01只读访问仓库中的工程决策
- 02基于 Markdown 的类型化知识校验
- 03确定性检索,无需 embedding 或模型调用
- 04通过 Homebrew、Cargo 或 Scoop 安装
适用场景
- 01让编码 Agent 遵循已记录的工程决策
- 02在 CI 中校验决策文件并检查代码变更
MCP 相关
该项目是一个 MCP 服务,以只读方式向 MCP 客户端提供仓库中的决策内容。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/asdecided/core:mcp-v0.31.2本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/asdecided/core:mcp-v0.31.2stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
AsDecided
Agent 可遵循的工程决策。按决策构建。
AsDecided 将需求、决策、设计、路线图和提示词以类型化 Markdown 的形式保存在你的代码仓库中。其原生 Rust 引擎可验证这些知识,以确定性方式检索相关决策,并通过 MCP 以只读方式提供给 Agent。
无需嵌入、模型调用、托管索引或 Python 运行时。相同的代码仓库状态会产生相同的答案。
安装
通过 Homebrew 安装原生引擎和 MCP 服务:
brew install asdecided/tap/asdecided-core
Rust 用户可以直接从 crates.io 安装 decided CLI:
cargo install decided
cargo install decided-mcp
cargo install 会从源代码编译。如需安装预编译的发行版二进制文件,请改用 cargo binstall。v0.31.0 之后发布的 Crate 会将其指向 GitHub 发行版归档:
cargo binstall decided decided-mcp
Windows 用户可以通过 Scoop 安装这两个原生可执行文件:
scoop bucket add asdecided https://github.com/asdecided/scoop-bucket
scoop install asdecided
原生 decided 和 decided-mcp 归档也会发布在
GitHub Releases 上。
Linux 归档(x86_64 和 aarch64)需要 glibc 2.17 或更高版本,因此可在 RHEL/CentOS 7 及更高版本、Amazon Linux 2 和 2023,以及当前版本的 Debian 和 Ubuntu 上运行。
Python API 使用者应使用
asdecided/sdk 客户端 SDK。它与原生引擎通信;本代码仓库不附带第二个 Python 引擎或 PyPI 软件包。
启动代码仓库
decided quickstart
decided validate decisions/
decided gate decisions/
decided gate decisions/ --code --base origin/main
新代码仓库使用:
.decided/config.yaml
decisions/
现有工件 ID(例如 RAC-ABC123DEF456)是持久身份标识,不会随产品名称变化。
联邦化语料库
清单版本 2 可将多个固定版本、已物化的父语料库组合成一个具备来源信息的 DAG,同时保留每个来源、菱形路径、覆盖项和只读边界:
decided corpus status decisions/
decided corpus explain organization/standards::ADR-01K000000001 decisions/
联邦化完全离线且与代码托管平台无关:引擎使用经过验证的工作树字节,而非 GitHub API 或托管索引。请参阅联邦化指南和可运行的多父项示例。
迁移现有代码仓库
迁移需显式执行,绝不会在常规命令期间运行:
decided migrate layout . --dry-run
decided migrate layout .
迁移会将 .rac/ 移至 .decided/,并将 rac/ 移至 decisions/。如果任一目标位置已存在,迁移会拒绝覆盖。
MCP
官方 MCP Registry 标识为 io.github.asdecided/core。
其 Registry 软件包是 ghcr.io/asdecided/core 下带版本号的本地 MCP 镜像;Homebrew 和 Cargo 仍是同一 Rust 服务的直接原生安装方式。
OCI 服务仍需要显式授予代码仓库访问权限:
docker run --rm -i -v "$PWD:/work:ro" \
ghcr.io/asdecided/core:mcp-latest --root /work
{
"mcpServers": {
"asdecided": {
"command": "decided-mcp",
"args": ["--root", "."]
}
}
}
架构
Rust 是产品引擎,也是本代码仓库中唯一的 CLI/MCP 运行时。权威的语言无关兼容性固件位于
asdecided-spec。实时语料库验证基于有效性、确定性、新鲜度以及缓存与无缓存结果的一致性。
文档摄取仍是辅助性的 Python 连接器,而非核心引擎的一部分。已停用的 Python 引擎保存在不可变的
python-engine-final
标签中,供历史审查;它不再维护,也不会在常规 CI 中运行。
许可证
Apache-2.0。请参阅 LICENSE 和 NOTICE。
治理与延续
AsDecided core 由一位维护者独立维护,并尽力提供支持。该项目不依赖托管服务:使用者将 Markdown 语料库保存在自己的 git 代码仓库中,同时 Apache-2.0 许可的实现和语言无关规范保持公开。有关维护者、发布、支持和延续计划,请参阅 GOVERNANCE.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。