@c4a/context 0.6.1-beta.1 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/README.zh-CN.md +0 -114
package/package.json
CHANGED
package/README.zh-CN.md
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
# Context SDK
|
|
2
|
-
|
|
3
|
-
[English](./README.md)
|
|
4
|
-
|
|
5
|
-
`@c4a/context` 是 Context workspace 使用的声明式 SDK。它为 `src/index.ts` 提供类型化 API,用来描述知识来源、处理阶段、审核门禁和知识包输出。SDK 本身不写入工作区,也不执行流程;这些操作由 [Context CLI](../context-cli/README.zh-CN.md) 负责。
|
|
6
|
-
|
|
7
|
-
## 项目模型
|
|
8
|
-
|
|
9
|
-
Context 项目使用“来源 → 阶段 → 知识包”的声明模型:
|
|
10
|
-
|
|
11
|
-
```ts
|
|
12
|
-
import {
|
|
13
|
-
defineProject,
|
|
14
|
-
extractTs,
|
|
15
|
-
kbPackage,
|
|
16
|
-
reviewValidity,
|
|
17
|
-
source,
|
|
18
|
-
} from "@c4a/context";
|
|
19
|
-
|
|
20
|
-
const sampleLib = source("20260712", "sample-lib");
|
|
21
|
-
|
|
22
|
-
export default defineProject({
|
|
23
|
-
sources: [sampleLib],
|
|
24
|
-
phases: [
|
|
25
|
-
extractTs({ source: sampleLib, collection: "codegraph" }),
|
|
26
|
-
reviewValidity({ collection: "codegraph" }),
|
|
27
|
-
],
|
|
28
|
-
packages: [
|
|
29
|
-
kbPackage({
|
|
30
|
-
name: "sample-lib-kb",
|
|
31
|
-
template: {
|
|
32
|
-
path: "src/package-templates/kb",
|
|
33
|
-
vars: { displayName: "Sample Library KB" },
|
|
34
|
-
},
|
|
35
|
-
select: { collections: ["codegraph"], okfRoots: ["wikis"] },
|
|
36
|
-
}),
|
|
37
|
-
],
|
|
38
|
-
});
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
`src/index.ts` 有点像知识项目的 Webpack 配置:它定义哪些内容进入项目、经过哪些转换和门禁,以及最终构建什么产物。安装好的 Agent 插件带有编写技能和 SDK 说明文档,可以根据用户需求维护这份配置。
|
|
42
|
-
|
|
43
|
-
## 主要 API
|
|
44
|
-
|
|
45
|
-
| API | 用途 |
|
|
46
|
-
|---|---|
|
|
47
|
-
| `defineProject()` | 声明完整的项目处理图。 |
|
|
48
|
-
| `source()` 和 `allSources()` | 引用已经登记的代码仓库、本地文件或飞书来源边界。 |
|
|
49
|
-
| `extractTs()` | 从 TypeScript/TSX 中提取符号和关系,生成 `codegraph` 候选。 |
|
|
50
|
-
| `alignProse()` 和 `compileProse()` | 整理文档证据,并生成与来源绑定的知识候选。 |
|
|
51
|
-
| `reviewValidity()` | 声明单个知识类型或整个项目的审核门禁。 |
|
|
52
|
-
| `customPhase()` | 在内置阶段无法覆盖时增加项目专用编排。 |
|
|
53
|
-
| `kbPackage()` | 使用审核通过的知识和模板构建 Agent 知识库。 |
|
|
54
|
-
| `llmsPackage()` | 构建供模型上下文或 RAG 导入使用的单文件文本包。 |
|
|
55
|
-
|
|
56
|
-
优先使用内置阶段。`customPhase()` 是项目专用编排的扩展口,不应该绕开来源、提取、审核和打包的生命周期规则。
|
|
57
|
-
|
|
58
|
-
## 知识分类
|
|
59
|
-
|
|
60
|
-
审核通过的 Markdown 会存放在 `knowledge/<collection>/`:
|
|
61
|
-
|
|
62
|
-
| 知识类型 | 主要内容 | 常见来源 |
|
|
63
|
-
|---|---|---|
|
|
64
|
-
| `codegraph` | 代码符号、模块和调用关系 | 代码仓库 |
|
|
65
|
-
| `business` | 业务概念、角色和业务关系 | 业务文档、飞书文档 |
|
|
66
|
-
| `product` | 产品能力、功能行为和产品关系 | 产品文档、需求文档 |
|
|
67
|
-
| `architecture` | 系统结构、模块职责和设计说明 | 架构文档、设计文档 |
|
|
68
|
-
| `sop` | 操作流程、运行手册和处理步骤 | 操作手册、值班文档 |
|
|
69
|
-
| `faq` | 常见问题、解释和排障方法 | FAQ、支持文档、经验记录 |
|
|
70
|
-
| `decision` | 方案选择、取舍和决策背景 | 设计评审、决策记录 |
|
|
71
|
-
| `incident` | 故障过程、处置方式和后续行动 | 故障复盘、事故报告 |
|
|
72
|
-
| `standards` | 必须遵守的规范和约束 | 研发规范、业务规则 |
|
|
73
|
-
| `test` | 验证规则、测试场景和验收标准 | 测试文档、验收说明 |
|
|
74
|
-
| `feats` | 面向具体场景整理的能力记录 | 项目自定义处理和已确认知识 |
|
|
75
|
-
|
|
76
|
-
知识类型是语义分类,不是最终知识包目录。构建时会把选中的类型映射到 `wikis/`、`guides/`、`rules/`、`feats/` 等 OKF 目录。同一份来源可能贡献多种知识,分类应该依据证据和用户确认,而不是文件名。
|
|
77
|
-
|
|
78
|
-
## 知识包模板
|
|
79
|
-
|
|
80
|
-
知识包声明会引用 `src/package-templates/` 下的可编辑模板。安装后的示例位于:
|
|
81
|
-
|
|
82
|
-
```text
|
|
83
|
-
node_modules/@c4a/context/templates/package-templates/
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
默认 KB 模板包含:
|
|
87
|
-
|
|
88
|
-
```text
|
|
89
|
-
kb/
|
|
90
|
-
|-- AGENTS.md
|
|
91
|
-
|-- skills/
|
|
92
|
-
| `-- knowledge-query/SKILL.md
|
|
93
|
-
`-- wikis/index.md
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
`knowledge-query` Skill 会告诉消费知识包的 Agent 如何浏览索引、读取审核通过的知识并引用证据。项目还可以增加更多 Skills,或者在 `wikis/`、`guides/`、`rules/` 等目录中加入模板文件。
|
|
97
|
-
|
|
98
|
-
模板使用 Handlebars 变量,可以作用于文件内容和路径。常用变量包括 `{{packageName}}`、`{{displayName}}`、`{{knowledgeCount}}`、`{{knowledgeGroups}}`、`{{knowledgeItems}}`、`{{knowledgeTree}}` 和 `{{buildInventory}}`。
|
|
99
|
-
|
|
100
|
-
如果需要更强的路由和检索能力,模板可以携带 `query.ts` 一类本地脚本,再由 Skill 约定 Agent 何时、如何调用。Skill 也可以把 Agent 路由到 MCP、CLI 或其他工具,组成适合当前知识包的 Agentic Search 流程。
|
|
101
|
-
|
|
102
|
-
## 状态边界
|
|
103
|
-
|
|
104
|
-
SDK 只负责声明。它可以描述读取、写入、阶段、审核和知识包选择,但来源物化、内容读取、代码提取、审核应用、正式知识写入、质量验证和构建都由 CLI 负责。不要通过直接编辑 `sources/`、`unapproved/`、`knowledge/` 或 `dist/` 来替代 CLI 生命周期操作。
|
|
105
|
-
|
|
106
|
-
## 参考文档
|
|
107
|
-
|
|
108
|
-
- [文档索引](./docs/README.md)
|
|
109
|
-
- [快速开始](./docs/getting-started.md)
|
|
110
|
-
- [Agent 指南](./docs/guides/agent-guide.md)
|
|
111
|
-
- [项目 API](./docs/reference/project-api.md)
|
|
112
|
-
- [知识包输出](./docs/guides/package-outputs.md)
|
|
113
|
-
- [知识包模板](./docs/reference/package-templates.md)
|
|
114
|
-
- [模板变量](./docs/reference/template-variables.md)
|