@c4a/context-cli 0.6.8 → 0.6.10
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/README.md +156 -220
- package/README.zh-CN.md +120 -160
- package/cli.js +265 -58
- package/docs/quickstart.md +57 -70
- package/docs/quickstart.zh-CN.md +79 -0
- package/package.json +4 -4
- package/plugins/.agents/plugins/marketplace.json +1 -1
- package/plugins/.claude-plugin/marketplace.json +2 -2
- package/plugins/.cursor-plugin/marketplace.json +2 -2
- package/plugins/README.md +79 -66
- package/plugins/README_CN.md +62 -57
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +3 -3
- package/plugins/claude/commands/context.md +121 -0
- package/plugins/codex/.codex-plugin/plugin.json +4 -4
- package/plugins/codex/skills/context/SKILL.md +133 -0
- package/plugins/cursor/.cursor-plugin/plugin.json +3 -3
- package/plugins/cursor/README.md +2 -2
- package/plugins/cursor/commands/c4a-context.md +125 -0
- package/plugins/skills/c4a-context/SKILL.md +133 -0
- package/providers/context/graphs/workspace.yaml +40 -1
- package/providers/context/manifest.json +27 -9
- package/providers/context/provider.yaml +2 -2
- package/providers/context/resources/dialogue/workflow-mode-after-capture.md +22 -0
- package/providers/context/resources/dialogue/workflow-mode-after-creation.md +25 -0
- package/providers/context/resources/manuals/guides/package-outputs.md +1 -1
- package/providers/context/resources/manuals/reference/package-templates.md +1 -1
- package/plugins/claude/commands/continue.md +0 -109
- package/plugins/claude/commands/init.md +0 -36
- package/plugins/codex/skills/continue/SKILL.md +0 -121
- package/plugins/codex/skills/init/SKILL.md +0 -48
- package/plugins/cursor/commands/context-continue.md +0 -113
- package/plugins/cursor/commands/context-init.md +0 -40
- package/plugins/skills/context-continue/SKILL.md +0 -121
- package/plugins/skills/context-init/SKILL.md +0 -48
package/README.zh-CN.md
CHANGED
|
@@ -1,215 +1,175 @@
|
|
|
1
|
-
# Context
|
|
1
|
+
# Context Agent 运行时
|
|
2
2
|
|
|
3
3
|
[English](./README.md)
|
|
4
4
|
|
|
5
|
-
`@c4a/context-cli` 提供
|
|
5
|
+
`@c4a/context-cli` 提供 Context 知识生产工作流的本地运行时和 Agent 接入。虽然
|
|
6
|
+
包名中包含 CLI,但它面向用户的主要体验不是终端命令清单:用户调用一个 Agent
|
|
7
|
+
入口,用自然语言说明要生产的知识,再在对话中完成必要决策。
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
运行时执行确定性工作,包括观察工作区、采集来源、索引代码、校验证据、暂存候选、
|
|
10
|
+
应用审核决定、验证质量和构建知识包;Agent 负责语义工作,用户负责权限和重要内容
|
|
11
|
+
决定。运行时本身不会调用 LLM。
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
## 安装
|
|
13
|
+
## 安装 Agent 接入
|
|
12
14
|
|
|
13
15
|
```bash
|
|
14
|
-
npm install -g @c4a/context-cli
|
|
16
|
+
npm install -g @c4a/context-cli@latest
|
|
15
17
|
context plugin install
|
|
16
18
|
```
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
面向用户的 Agent 入口是:
|
|
21
|
-
|
|
22
|
-
- `/context:init`:创建一个本地 Context workspace。
|
|
23
|
-
- `/context:continue`:读取已有工作区的状态,并从下一步继续。
|
|
24
|
-
|
|
25
|
-
`/context:continue` 是 Agent 工作指引,不是 CLI 子命令;不存在 `context continue` 命令。
|
|
26
|
-
|
|
27
|
-
最简安装后流程参见 [CLI 快速开始](./docs/quickstart.md)。
|
|
28
|
-
|
|
29
|
-
工作区调试追踪默认关闭。仅在需要观察命令调用与 Agent Graph 路由时,使用
|
|
30
|
-
`context init context --debug` 或 `context debug enable` 开启;日志只写入已忽略的
|
|
31
|
-
`.tmp/context-runtime/debug/`。协议与回放说明见
|
|
32
|
-
[工作区调试追踪](./docs/debug-tracing.md)。
|
|
20
|
+
安装后重启或刷新 Agent 宿主。同一份入口源会被安装器投影到支持的 Claude、Codex、
|
|
21
|
+
Cursor 和 Skill-compatible 目录。
|
|
33
22
|
|
|
34
|
-
|
|
23
|
+
社区版公开入口是 `/c4a:context`。它可以创建用户请求的工作区、定位已有工作区,
|
|
24
|
+
或从当前状态继续流程。用户应该从知识意图开始,而不是内部命令:
|
|
35
25
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
| 来源授权、知识分类、审核决定和打包方式 | 用户 |
|
|
26
|
+
```text
|
|
27
|
+
/c4a:context 请把这些产品文档和当前仓库整理成经过审核的 Agent 知识包,所有代码
|
|
28
|
+
结论都要保留可追溯引用。
|
|
29
|
+
```
|
|
41
30
|
|
|
42
|
-
Agent
|
|
31
|
+
如果 Agent 入口已经存在但缺少 `context` 可执行文件,入口会给出准确的安装恢复
|
|
32
|
+
方法并停止。它不会为每次调用增加安装预检,也不会把普通工作流中的 `not found`
|
|
33
|
+
诊断误判成可执行文件缺失。
|
|
43
34
|
|
|
44
|
-
##
|
|
35
|
+
## 一个 Agent 入口如何驱动整套工作流
|
|
45
36
|
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
37
|
+
```text
|
|
38
|
+
用户知识目标
|
|
39
|
+
↓
|
|
40
|
+
单一 Agent 入口
|
|
41
|
+
↓
|
|
42
|
+
context entry ── 观察工作区位置和状态
|
|
43
|
+
↓
|
|
44
|
+
workflow.current ── 当前 Route、资源、Gate 和精确命令
|
|
45
|
+
↓
|
|
46
|
+
Agent 阅读 / 判断 / 执行一个选中动作
|
|
47
|
+
↓
|
|
48
|
+
工作区事实变化 ── 再次求值
|
|
54
49
|
```
|
|
55
50
|
|
|
56
|
-
|
|
51
|
+
`context entry --format json` 是只读的启动解析器,可以返回初始化动作、进入已有
|
|
52
|
+
工作区的动作,或当前工作流求值。不存在 `context continue` primitive,也不会为
|
|
53
|
+
source、review、build 或 status 提供第二个公开入口。
|
|
57
54
|
|
|
58
|
-
|
|
59
|
-
node_modules/@c4a/context/docs/README.md
|
|
60
|
-
node_modules/@c4a/context/docs/guides/agent-guide.md
|
|
61
|
-
node_modules/@c4a/context/docs/reference/project-api.md
|
|
62
|
-
node_modules/@c4a/context/docs/reference/package-templates.md
|
|
63
|
-
```
|
|
55
|
+
工作区就绪后,`workflow.current` 是当前步骤的权威协议:
|
|
64
56
|
|
|
65
|
-
|
|
57
|
+
- 执行动作前完整读取所有标记为 `read-required` 的必需资源;
|
|
58
|
+
- 只执行 Route 返回的命令,并保留 revision 和 authority 参数;
|
|
59
|
+
- 人工 Gate 先解释用户在决定什么以及影响范围,再收集选择;
|
|
60
|
+
- 项目配置修改只发生在 Route 指定的文件中;
|
|
61
|
+
- 每个动作后重新观察事实,过期命令不能推进已经变化的工作区。
|
|
66
62
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- `.tmp/context-runtime/lifecycle/`:一个开放生命周期轮次中的、被忽略且仅由 CLI 管理的草稿候选和已确认结构快照。
|
|
70
|
-
- `knowledge/`:已批准的 Markdown、close 后的 `structure.yaml` 结构投影,以及存在时用于记录被拒候选 fingerprint 的精简 `decisions.json`。已批准页面引用的资源位于内容寻址的 `knowledge/assets/`。
|
|
71
|
-
- `dist/`:构建生成的知识包。
|
|
72
|
-
- `.tmp/context-runtime/`:其他被忽略的日志、预览、报告、锁和缓存。
|
|
63
|
+
长篇操作说明、Schema、诊断和来源视图继续作为 Workflow Provider 中可寻址的文件。
|
|
64
|
+
Agent 只加载当前 Route 选择的内容,不把完整生命周期长期塞在 Prompt 中。
|
|
73
65
|
|
|
74
|
-
|
|
66
|
+
## 知识生产生命周期
|
|
75
67
|
|
|
76
|
-
|
|
68
|
+
| 阶段 | 用户体验 | 运行时保护内容 |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| 目标和来源 | 确认要生产什么知识、哪些资料属于范围 | 来源身份、权限边界、固定的仓库或文档输入 |
|
|
71
|
+
| 采集和提取 | Agent 阅读文档或检查已确认的代码边界 | 完整正文、资源、符号、关系、指纹和新鲜度 |
|
|
72
|
+
| 结构和编译 | 审阅知识组织方式和候选正文 | 绑定来源的 Node/Section、覆盖度、连续性和稳定身份 |
|
|
73
|
+
| 审核和关闭 | 批准、拒绝或调整候选 | 原子化审核应用、持久决定和关闭后的结构投影 |
|
|
74
|
+
| 验证和构建 | 选择产物并得到可复用知识包 | 质量校验、知识包模板、资源策略和构建清单 |
|
|
77
75
|
|
|
78
|
-
|
|
76
|
+
构建完成的是当前正式状态,不会冻结工作区。以后新增或变化的来源可以开启下一轮
|
|
77
|
+
知识生产。
|
|
79
78
|
|
|
80
|
-
|
|
81
|
-
`wikis/`、`guides/`、`rules/` 和 `feats/` 作为包内 OKF 根目录,不再在这些目录下重复包名。
|
|
82
|
-
旧工作区即使仍声明 `distribution.knowledgeNamespace` 也可以继续加载,但该兼容字段不再改变
|
|
83
|
-
知识包输出路径。
|
|
84
|
-
新建 KB 时优先选择 Git raw 资源分发:构建器将链接改写到仓库 raw 地址;资源的
|
|
85
|
-
提交和发布由知识包作者负责。非 Git 工作区可以配置另一个资源仓库的显式 Raw
|
|
86
|
-
前缀;没有可用 Git 或显式前缀时,可以选择随包复制到 `others/assets/`,或显式
|
|
87
|
-
不输出资源并保留失效引用。随包模式可以安装 `sharp` 并通过
|
|
88
|
-
`kbPackage().assets.optimize` 仅优化生成文件;Context 本身不依赖图片处理器。
|
|
79
|
+
## 普通对话与全托管对话
|
|
89
80
|
|
|
90
|
-
|
|
81
|
+
普通模式是默认模式,保留显式的来源、范围、结构、审核和知识包决定,并可在内容
|
|
82
|
+
审核 Gate 提供 HTML 检查报告。
|
|
91
83
|
|
|
92
|
-
|
|
93
|
-
- [知识包模板](../context/docs/reference/package-templates.md)
|
|
84
|
+
只有用户在当前对话明确授权全托管时,Agent 才使用:
|
|
94
85
|
|
|
95
|
-
|
|
86
|
+
```bash
|
|
87
|
+
context run --managed --until blocked-or-complete --format json
|
|
88
|
+
```
|
|
96
89
|
|
|
97
|
-
|
|
90
|
+
它会合并连续的确定性动作和可 delegated 的 Gate;遇到 Agent 阅读、项目配置、
|
|
91
|
+
额外权限、诊断修复或非唯一计划时立即停止。它复用同一张 Workflow Graph,不会
|
|
92
|
+
删除普通模式的审核能力。授权只对当前对话生效,不会持久化,也不能授权新的来源
|
|
93
|
+
边界、未读取外部内容、仓库操作、失败的校验或失败的验证。
|
|
98
94
|
|
|
99
|
-
|
|
100
|
-
|---|---|
|
|
101
|
-
| 来源设置 | `context source add repo/file/lark`、`context source add batch`、`context source ensure` |
|
|
102
|
-
| 文档读取 | 通过 `context run <phase-id>` 执行声明好的 capture 阶段 |
|
|
103
|
-
| 代码提取 | 通过 `context run <phase-id>` 执行声明好的 `extractTs` 阶段 |
|
|
104
|
-
| 文档结构 | `context run align:<type>:<source>:<collection> ...` 的证据和校验视图 |
|
|
105
|
-
| 文档编译 | `context run compile:<type>:<source>:<collection> ...` 的证据和校验视图 |
|
|
106
|
-
| 人工审核 | `context review html`、范围化决定和 `context review apply` |
|
|
107
|
-
| 收口与质量 | `context close`、`context verify` |
|
|
108
|
-
| 知识包输出 | `context build` |
|
|
95
|
+
## 工作区状态
|
|
109
96
|
|
|
110
|
-
|
|
97
|
+
```text
|
|
98
|
+
context/
|
|
99
|
+
├── src/ # 声明式项目配置和知识包模板
|
|
100
|
+
├── sources/ # 来源登记和采集证据
|
|
101
|
+
├── knowledge/ # 正式 Markdown 和持久决定
|
|
102
|
+
├── dist/ # 构建产物
|
|
103
|
+
└── .tmp/context-runtime/
|
|
104
|
+
├── lifecycle/ # 当前轮候选和结构
|
|
105
|
+
├── debug/ # 可选调试轨迹
|
|
106
|
+
└── logs/ # 可选运行事件 outbox
|
|
107
|
+
```
|
|
111
108
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
隔离在子进程中。
|
|
109
|
+
这些目录具有不同的持久性契约。`sources/` 和 `knowledge/` 是项目状态,`dist/` 是
|
|
110
|
+
可重复构建产物,lifecycle 和 debug 目录是被忽略的运行状态。成功 close 会清理
|
|
111
|
+
已经完成的 lifecycle 暂存区。不要通过手工编辑或删除 CLI-owned 状态修复流程,
|
|
112
|
+
应执行当前 Route 返回的恢复动作。
|
|
117
113
|
|
|
118
|
-
|
|
119
|
-
知识、快照、审核决定和知识包产物属于持久状态,继续使用原有的 revision 校验、项目写锁、
|
|
120
|
-
原子写入、close 和 verify 契约。执行作用域不会回滚或替代这些契约,工作区文件协议也不改变。
|
|
114
|
+
## 证据和安全边界
|
|
121
115
|
|
|
122
|
-
|
|
116
|
+
- 登记来源不等于授权读取来源正文。
|
|
117
|
+
- 运行时不会静默在来源仓库中 clone、checkout、reset、fetch、install、build、
|
|
118
|
+
test 或运行脚本。
|
|
119
|
+
- Markdown 解析只保留结构证据,不推断产品含义,也不选择知识分类。
|
|
120
|
+
- 代码提取只生成结构事实;知识含义和范围由 Agent 与用户决定。
|
|
121
|
+
- `source_ref` 是不透明、可验证的证据身份,应完整复制,不能当作文件路径解析。
|
|
122
|
+
- 审核决定只能通过原子化 review apply 变成正式 Markdown;Agent 不手写生命周期
|
|
123
|
+
产物。
|
|
124
|
+
- 知识包模板只决定分发形态,不会替代正式知识成为事实来源。
|
|
123
125
|
|
|
124
|
-
|
|
125
|
-
# 插件安装与诊断
|
|
126
|
-
context plugin install
|
|
127
|
-
context plugin status
|
|
126
|
+
## 知识包产物
|
|
128
127
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
context run --managed --until blocked-or-complete --format json
|
|
128
|
+
声明好的知识包构建到 `dist/<package-name>/`。Agent 知识包可以包含 `wikis/`、
|
|
129
|
+
`guides/`、`rules/`、`feats/`、Skills、索引和包专属检索工具;LLM 包则把所选
|
|
130
|
+
知识聚合为一个文本产物。
|
|
133
131
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
context resource acknowledge-current --help
|
|
137
|
-
|
|
138
|
-
# 知识来源
|
|
139
|
-
context source add repo [YYYYMMDD] --module <module> --local <repo-or-subdir>
|
|
140
|
-
context source add file [YYYYMMDD] --module <module> --local <file-or-folder>
|
|
141
|
-
context source add lark [YYYYMMDD] --module <module> --url <lark-url>
|
|
142
|
-
context source add batch [YYYYMMDD] --input <yaml-or-json>
|
|
143
|
-
context source remove <source-id> --format json # 预览
|
|
144
|
-
context source remove <source-id> --yes --plan-digest <预览摘要> --format json
|
|
145
|
-
context source ensure [source]
|
|
146
|
-
context source inspect [source]
|
|
147
|
-
|
|
148
|
-
# 声明阶段与审核
|
|
149
|
-
context run --list
|
|
150
|
-
context run <phase-id> --dry-run
|
|
151
|
-
context run <phase-id>
|
|
152
|
-
context review html [collection] --open
|
|
153
|
-
context review apply <payload-file>
|
|
154
|
-
|
|
155
|
-
# 知识包模板决策
|
|
156
|
-
context package template accept --help
|
|
157
|
-
|
|
158
|
-
# 最终质量与输出
|
|
159
|
-
context close
|
|
160
|
-
context verify
|
|
161
|
-
context build
|
|
162
|
-
|
|
163
|
-
# 可选的工作区调试追踪
|
|
164
|
-
context debug enable
|
|
165
|
-
context debug status
|
|
166
|
-
context debug export
|
|
167
|
-
|
|
168
|
-
# 开发与缓存维护
|
|
169
|
-
context clean-cache --dry-run
|
|
170
|
-
```
|
|
132
|
+
每份构建清单都会将分发路径映射回工作区正式知识。资源可以使用仓库 raw URL、
|
|
133
|
+
显式 URL 前缀或随包分发;项目在构建前选择策略。
|
|
171
134
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
约束的资源和知识包命令通常应直接复制 `workflow.current` 返回的命令;上面的例子只用于
|
|
175
|
-
发现命令入口,不能替代当前路由。
|
|
135
|
+
详见 [Package Outputs](../context/docs/guides/package-outputs.md) 和
|
|
136
|
+
[Package Templates](../context/docs/reference/package-templates.md)。
|
|
176
137
|
|
|
177
|
-
##
|
|
138
|
+
## 诊断和直接使用 CLI
|
|
178
139
|
|
|
179
|
-
|
|
180
|
-
- 登记来源和读取来源正文是两次独立授权。
|
|
181
|
-
- 写入知识候选前,需要确认代码提取范围和文档分类。
|
|
182
|
-
- 普通模式下,审核决定来自用户,Agent 不能自行编造批准或拒绝结果;只有当前对话明确启用全托管时,才可执行 `workflow.current` 返回的原子批准命令。
|
|
183
|
-
- 正式知识准备好后再选择打包方式;知识包模板是项目配置,不是第二份事实来源。
|
|
140
|
+
普通用户应跟随 Agent 入口。直接命令继续供维护、自动化和诊断使用:
|
|
184
141
|
|
|
185
|
-
|
|
142
|
+
- `context status --format json` 检查当前 Route;
|
|
143
|
+
- `context <command> --help` 是当前参数的权威来源;
|
|
144
|
+
- `context plugin status` 检查已安装的 Agent 投影;
|
|
145
|
+
- `context debug enable` 在 `.tmp/context-runtime/debug/` 记录可选轨迹;
|
|
146
|
+
- `context clean-cache --dry-run` 预览 Context-owned 过期插件缓存清理。
|
|
186
147
|
|
|
187
|
-
|
|
148
|
+
绑定 revision 的命令应从 `workflow.current` 原样复制;文档示例只用于理解入口,
|
|
149
|
+
不能替代当前 Route。参见[安装后快速说明](./docs/quickstart.zh-CN.md)和
|
|
150
|
+
[debug tracing](./docs/debug-tracing.md)。
|
|
188
151
|
|
|
189
|
-
|
|
190
|
-
- [SDK 文档索引](../context/docs/README.md)
|
|
191
|
-
- [快速开始](../context/docs/getting-started.md)
|
|
192
|
-
- [Agent 指南](../context/docs/guides/agent-guide.md)
|
|
193
|
-
- [Agent 对话指南](../context/docs/guides/agent-dialogue.md)
|
|
194
|
-
- [飞书资源物化](../context/docs/guides/lark-resources.md)
|
|
195
|
-
- [项目 API](../context/docs/reference/project-api.md)
|
|
196
|
-
- [知识包模板](../context/docs/reference/package-templates.md)
|
|
152
|
+
## 文档与开发
|
|
197
153
|
|
|
198
|
-
|
|
154
|
+
- [插件契约](./plugin/README_CN.md)
|
|
155
|
+
- [Workflow Provider 内部说明](./context-workflow/README.zh-CN.md)
|
|
156
|
+
- [SDK 文档索引](../context/docs/README.zh-CN.md)
|
|
157
|
+
- [知识项目完整示例](../context/docs/getting-started.md)
|
|
158
|
+
- [Agent Guide](../context/docs/guides/agent-guide.md)
|
|
159
|
+
- [Project API](../context/docs/reference/project-api.md)
|
|
199
160
|
|
|
200
|
-
|
|
201
|
-
[`DEVELOPMENT.md`](
|
|
202
|
-
[`DEVELOPMENT.md`](./DEVELOPMENT.md)。
|
|
161
|
+
源码、link、打包安装和发布流程参见 [`DEVELOPMENT.md`](../../DEVELOPMENT.md)
|
|
162
|
+
以及本包的 [`DEVELOPMENT.md`](./DEVELOPMENT.md)。
|
|
203
163
|
|
|
204
164
|
```bash
|
|
205
|
-
./start.sh link
|
|
206
165
|
bun run --filter @c4a/context-cli build
|
|
207
166
|
bun run --filter @c4a/context-cli typecheck
|
|
208
167
|
bun run --filter @c4a/context-cli lint
|
|
209
168
|
bun run --filter @c4a/context-cli test
|
|
210
169
|
```
|
|
211
170
|
|
|
212
|
-
|
|
171
|
+
构建会在 `dist/plugins` 生成可安装的宿主投影;只修改 `plugin/` 和 Workflow
|
|
172
|
+
Provider 源码,不要直接编辑生成产物。
|
|
213
173
|
|
|
214
174
|
## License
|
|
215
175
|
|