Plasius-LTD/ai-rag
GitHub: Plasius-LTD/ai-rag
为 Plasius AI RAG 提供检索溯源、context 打包、信任感知截断和 prompt 注入防护的 TypeScript 契约层 npm 包。
Stars: 0 | Forks: 0
# @plasius/ai-rag
用于 Plasius AI RAG 的检索、context 打包、溯源以及 prompt 注入防护契约。
## 范围
本包是分层 `@plasius/ai-*` 包家族的一部分。它定义了检索溯源、context 打包、信任感知截断以及 prompt 注入防护行为的外部契约。
## 安装
```
npm install @plasius/ai-rag
```
## 契约
- `AI_RAG_FEATURE_FLAGS` 声明了 RAG、溯源和注入防护行为的 feature flags。
- `resolveAiRagContext` 从已评分的 chunk 构建确定性的打包 context,并输出信任/溯源原因代码。
- `isAiRagChunkSafe` 为非阻塞调用者提供了一个简单的信任实用工具。
- `packageDescriptor` 暴露了包名称、主要 flag、env 前缀和摘要。
## 用法
```
import {
AI_RAG_FEATURE_FLAGS,
resolveAiRagContext,
} from "@plasius/ai-rag";
const result = resolveAiRagContext({
query: "What happened in the last hour?",
chunks: [
{
chunkId: "chunk-1",
sourceScope: "knowledge-base",
sourceId: "kb-2026",
text: "A major weather event was recorded near the delta.",
trust: 0.93,
citation: "https://knowledge-base/docs/delta",
},
],
featureFlags: {
[AI_RAG_FEATURE_FLAGS.rag]: true,
[AI_RAG_FEATURE_FLAGS.provenance]: true,
[AI_RAG_FEATURE_FLAGS.injectionGuard]: true,
},
maxContextChars: 1200,
});
console.log(result.packedContext);
console.log(result.status);
```
## 开发
```
npm install
npm run build
npm test
npm run test:coverage
npm run pack:check
```
## 发布工作流
受保护的 `main` 分支发布使用两步流程:
1. 运行 `.github/workflows/cd.yml` 并设置 `bump=patch|minor|major`,以打开或刷新 `release/vX.Y.Z` 准备 PR。
2. 将该 PR 合并到 `main`。
3. 在 `main` 分支上重新运行 `.github/workflows/cd.yml` 并设置 `bump=none`,以打 tag、起草 GitHub release 并发布到 npm。
## 治理
- 安全策略:[SECURITY.md](./SECURITY.md)
- 行为准则:[CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
- ADR:[docs/adrs](./docs/adrs)
- CLA 与法律文档:[legal](./legal)
## 许可证
Apache-2.0
标签:LLM安全防护, NPM包, OSV-Scalibr, RAG, 上下文处理, 人工智能, 提示词注入防御, 暗色界面, 用户模式Hook绕过, 自动化攻击