内容
# 知识编码框架 — 让知识可执行
[](LICENSE)
[](https://github.com/mikec-chi/kcf-oss/actions/workflows/ci.yml)
[](https://www.python.org/)
*来自 [Composable Holdings Inc.](#license) 的开源 **知识编码框架****
**知识编码框架(KCF)帮助您编码和捕捉业务知识 — 实体、关系、生命周期、规则和动作 — 以便使其可执行。** 知识编码是新的振动编码:您将领域建模为完整的、机器检查的语义规范,然后让大型语言模型(LLM)根据该规范构建应用程序,而不是根据文本进行猜测 — **知识编码 = 语义建模 + 振动编码**。
> ### 👉 从这里开始:[**知识编码 — 3分钟快速入门**](kcf-oss/docs/KNOWLEDGE_CODING.md)
> 两种方式: 🌱 **无需安装** — 将您的聊天LLM指向托管的连接器,并描述您的应用程序;或 🛠️ **真正构建** — `pip install` + `kcf init` 一个项目,其中模型是源代码。
KCF 将领域知识 — 实体、关系、生命周期、动作、事件 — 转换为规范的 **语义IR**:一个单一的JSON模型,该模型是 *有效* 的(无悬空引用),*完整* 的(每个实体都有标识,每个必填义务都已满足),并且 *可追踪* 的(在编码过程中不会无声丢弃任何内容)。
```text
需求 ──▶ 检查模型(IR) ──▶ LLM ──▶ 应用 (从规范构建)
▲ │ kcf 评估:有效?有空白?→ 指导
└────────────┘
```
---
## 为什么存在
LLM代码生成器仅在给定领域模型时才有效。给它们一个段落,它们会幻觉字段,发明关系,并删除一半的生命周期。KCF使 *模型* 成为工件:
- **是否格式良好?** 语法/编译器会回答(语法)。
- **是否有效?** 语义分析器会回答(没有关系指向缺失的概念)。
- **是否足够完整以便构建?** `kcf 评估`会用单个判决来回答:**有效** (分析器干净 — 足以生成)和 **就绪** (也是完整的:零必填覆盖空白,模式已证明,角色已解析)。
您从 **有效** 模型中生成;覆盖空白作为丰富指导传递给LLM(`就绪`是完整性目标,而不是硬性门槛)。生成的代码以 **覆盖自我审计** 结束,证明模型中没有内容被丢弃(`丢弃:[]`)。
## 60秒快速入门
```bash
pip install kcf-oss # 提供 `kcf` 命令
# 1. 编译小型领域模型 → 语义IR(从存储库中获取示例)
curl -O https://raw.githubusercontent.com/mikec-chi/kcf-oss/main/kcf-oss/tests/domains/business-application.kcf
kcf compile business-application.kcf --output model-ir.json --validate
# 2. 它是否足够完整以便生成?
kcf assess model-ir.json
# → { "valid": true, "ready": true,
# "checks": { "coverage": { "requiredGaps": 0 } } }
```
一旦 `就绪:true`,生成应用程序。 **KCF停止在IR** — IR是持久规范;您自己的LLM将其转换为任意堆栈的代码,由堆栈无关系统和单次示例引导。
```text
# 3. 生成 — 使用任意LLM,适用于任意堆栈(codegen/)。两个层在OpenAPI处相遇:
# 后端 → generate-backend.md + 后端堆栈 → 默认情况下带有Swagger的服务
# (fastapi-sqlmodel-postgres · typescript-express-prisma · django-drf-postgres)
# 前端 → generate-frontend.md + 后端的/openapi.json + 前端堆栈
# (react-typescript-openapi)→ 绑定到该契约的UI
```
LLM返回实现 **以及覆盖自我审计** ,证明每个IR标识都被实现,并且没有任何内容被丢弃(`丢弃:[]`)。参见
[`kcf-oss/codegen/`](kcf-oss/codegen/) 和 [`kcf-oss/docs/WALKTHROUGH.md`](kcf-oss/docs/WALKTHROUGH.md) 以获取完整的从需求到代码的流程。
KCF **停止在IR** — 完整、机器检查的模型是交付成果。将它转换为运行代码是LLM代码生成包的工作。
> **从源代码开始:** `git clone https://github.com/mikec-chi/kcf-oss.git && cd kcf-oss && pip install -e .`
> 源代码检出还为您提供了贡献者门槛(`kcf check`)和全栈工具,这些工具需要捆绑的 `semantic-core`。
## 在聊天LLM(MCP)中使用
将KCF插入您已经使用的聊天LLM,它会构建一个完整、机器检查的领域模型,然后从中生成应用程序 — 而不是针对文本进行振动编码。
**🌱 无需安装 — 连接到托管服务器。** 将您的LLM指向托管的连接器 `https://kcf-mcp.onrender.com/mcp`:
```bash
claude mcp add --transport http kcf https://kcf-mcp.onrender.com/mcp # Claude Code
# ChatGPT:设置 → 连接器 → 添加该URL。(只读演示;免费层,空闲时休眠。)
```
**🛠️ 真正构建 — 在本地安装并初始化项目:**
```bash
pip install "kcf-oss[mcp]" # `kcf` CLI + `kcf-mcp` 服务器
kcf init my-app # 一个模型是源代码的项目
claude mcp add kcf -- kcf-mcp # 本地Claude Code;参见 kcf-oss/mcp/README.md 获取其他主机
```
无论哪种方式,描述您的领域 — 或调用引导提示( **`model_domain`** 结束到结束, **`build_model`** 仅限建模, **`generate_app`** 仅限生成)。助手草拟一个 `.kcf`,检查它,让您 **批准它推断的任何内容** (批量接受自信的空白,或逐一审查它们),然后生成后端和匹配的前端 — 每个都证明您的模型中没有内容被丢弃。参见 **[知识编码](kcf-oss/docs/KNOWLEDGE_CODING.md)** 获取两种路径的逐步指南。
## 在浏览器中试用
更喜欢UI? **[playground](kcf-oss/playground/)** 是一个零持久性的Web应用程序:粘贴 `.kcf` 模型,查看其IR,就绪判决和用于所选堆栈的即刻粘贴LLM代码生成提示 — 整个循环,实时。
```bash
pip install "kcf-oss[playground]"
uvicorn app:app --app-dir kcf-oss/playground # → http://127.0.0.1:8000
# 或:docker build -f kcf-oss/playground/Dockerfile -t kcf-playground . && docker run -p 8000:8000 kcf-playground
```
## 盒子里有什么
| 组件 | 它是什么 |
| --- | --- |
| **语法** | 29个ISO/IEC 14977 EBNF模块 — 每个模块都有一个主要的语义维度(`ENTITY`、`ACTOR`、`WORK`、`EVENT`、`LIFECYCLE`、`RULE`,...),根植于`KCF`元语法 |
| **编译器** | `.kcf` 文本 → 具有源代码跨度的规范语义IR |
| **分析器** | 有效性 + 覆盖率 + 模式证明 + 角色解析检查 |
| **IR模式** | 版本化的`model-ir-v1` JSON契约,您可以从任何工具中定位它 |
| **代码生成包** | `codegen/` — 一个堆栈无关的系统 + 单次示例,适用于 **后端** (FastAPI、Express/Prisma、Django — 每个都有Swagger)和 **前端** (React/TS绑定到后端的OpenAPI)层,以及完整的每个构造覆盖率审计 |
| **MCP服务器** | `mcp/` — 将工具链插入Claude / ChatGPT / VS Code;以对话方式建模领域并生成代码(`kcf-mcp`) |
| **LLM工作流** | 一个有序的16步提示包(`kcf-oss/workflows/`),用于从需求到有效IR |
## 了解更多
- **[知识编码 — 入门](kcf-oss/docs/KNOWLEDGE_CODING.md)** — 将KCF连接到您的LLM并构建您的第一个应用程序(从这里开始)。
- **[QUICKSTART](kcf-oss/QUICKSTART.md)** — 上面的hello-world,带注释。
- **[codegen/](kcf-oss/codegen/)** — 使用LLM从IR为任意堆栈生成应用程序。
- **[WALKTHROUGH](kcf-oss/docs/WALKTHROUGH.md)** — 需求 → 就绪IR → 生成的应用程序。
- **[CONCEPTS](kcf-oss/docs/CONCEPTS.md)** — 思维模型和四个语义层。
- **[kcf-oss/README](kcf-oss/README.md)** — 完整架构,IR契约和工具链参考。
- **[EXTENDING](kcf-oss/docs/EXTENDING.md)** — 如何更改或添加语法(以及语法RFC流程)。
- **[CHANGELOG](CHANGELOG.md)** — 版本,由移动的契约标记。
## 开放核心
KCF在 **Apache-2.0** 下开放 — 标准、编译器、分析器、IR模式和代码生成包免费使用,并且始终免费。一个单独的商业平台建立在 **这个标准之上** ;它从未减少过。参见 **[OPEN_CORE.md](OPEN_CORE.md)** 获取确切的承诺。
## 贡献
KCF变得更好,因为有更多的人用它建模。有两个轨道 — 从 **[CONTRIBUTING.md](CONTRIBUTING.md)** 开始:
- **在KCF上构建** — 在 **[`community/`](community/)** 区域分享:您构建的 `.kcf` **模型** ,**提示包** (启发式指南 + 代码生成重写),它们为您调整了MCP,**技术** 用于启发和生成良好, **展示** 您发布的应用程序,以及 **实验语法** 。每个区域都有一个模板和快速检查(模型必须有效 — `python community/models/validate.py`)。
- **改进核心** — 新的 **代码生成堆栈** ,**分析器规则** ,**集成** 或 **语法** 更改(阅读 **[EXTENDING](kcf-oss/docs/EXTENDING.md)** 并首先打开 **语法RFC** )。核心由 `kcf check` 保护(在每个PR的CI上运行)。
新来者?您熟悉的领域模型或有效的技术是很好的第一个PR。参见 [good first issues](../../labels/good%20first%20issue)。
## 许可证
[Apache-2.0](LICENSE)。© 2026 **Composable Holdings Inc.** KCF由Composable Holdings Inc.创建和维护。