本文说明 Aisee team knowledge 的仓库边界、读取模型和沉淀流程。
Team knowledge 解决跨项目复用工程经验的问题。它向 AI 提供少量经审查的 guardrails,避免重复踩坑。
它不负责:
- 替代 OpenSpec specs 或 active changes;
- 保存完整项目 memory;
- 复制
docs/solutions/正文; - 做通用知识问答;
- 作为向量库或缓存事实源。
推荐独立仓库。默认 onboarding 入口是 aisee knowledge init-repo,由 CLI 直接生成最小 contract-valid 仓库骨架;marketplace plugin 的 skills/aisee-knowledge-curate/assets/team-knowledge/ 保留为 contract-valid 示例模板。PyPI CLI 不再从 wheel 复制本地 scaffold。
aisee-team-knowledge/
.aisee-team-knowledge
AGENTS.md
README.md
knowledge/
cards/
frontend/
backend/
cli/
openspec/
security/
testing/
packs/
web-app.yaml
backend-service.yaml
openspec.yaml
aisee-plugin.yaml
deprecated/
schemas/
knowledge-card.schema.json
knowledge-pack.schema.json
docs/
authoring-guide.md
review-policy.md
indexes/
lexical-index.json
vector-index/
team knowledge 仓库内可解析、可审查的持久来源只有 knowledge/cards/** 和 knowledge/packs/**。indexes/** 是可删除、可重建缓存。它不改变 OpenSpec change、baseline specs、tasks、contracts 和 source-map 的规范事实源地位。
.aisee-team-knowledge 是 team repo 的写入保护 marker。任何会写入 team repo worktree 的 CLI 命令都应先校验 marker 和基础目录结构,避免误把业务项目根目录当作知识库。
业务项目使用 aisee/knowledge.yaml pin 所需 packs:
repo: git@github.com:org/aisee-team-knowledge.git
path: .aisee/team-knowledge
ref: v0.1.0
packs:
- web-app
- openspec
retrieval:
max_cards: 3
include_project_candidates: true
vector: optionalV1 可以只支持本地 path,不自动 clone 远程仓库。
推荐通过 aisee knowledge configure --path <path> --enable-pack <id> --json 写入或更新该文件,而不是手工编辑。configure 只修改项目侧 pin,不 clone、update 或写入 team repo。
当前 CLI 也提供 aisee knowledge install --json 和 aisee knowledge update --json,按 repo/ref/path 同步本地 Git checkout。同步命令默认拒绝 dirty checkout,避免覆盖人工编辑的 card 或 pack。
CLI 负责 knowledge retrieval 的全部边界控制:
- 读项目配置。
- 读 pack manifest。
- 读 pack 声明的 card frontmatter。
- 做 status、pack、schema、phase、surface、stack 硬过滤。
- 对通过过滤的候选做 lexical scoring。
- 按需做 semantic rerank。
- 执行 project-local / team knowledge 去重。
- 输出 top N guardrails。
card frontmatter 还应声明 scope_level:
pattern:可跨项目复用的工程模式。policy:团队约束或流程规则。project-fact:只适用于特定项目的事实,默认不得跨项目召回。
Skill 和 AI 提示不得直接扫描 knowledge/cards/**/*.md。所有调用都应通过:
aisee knowledge query ...Semantic matching 只能作用于硬过滤后的候选集。它不能绕过 pack、status、phase、surface、stack 和可用 risk signals 做全库召回。
默认输出最多 3 条 matches。安全、权限、公开接口、架构类知识宁可少召回,不做宽召回。
知识沉淀分三层:
aisee:reflect:用户主动触发,生成项目内 reusable knowledge candidate。aisee:knowledge-curate:用户主动或阶段性触发,批量去敏、泛化、去重、补边界并产出 card drafts。- Team knowledge repo 写入:必须用户明确授权,且应以 batch PR 为默认策略。
aisee knowledge promote-batch --curation <path> --team-path <path> --pack <id> --json 只负责把已审查 draft 写入本地 team knowledge worktree,并可幂等更新 pack。它不自动创建分支、commit、push、merge 或 PR。写入前会校验 .aisee-team-knowledge marker、knowledge/packs 和 knowledge/cards 是否存在。
人工审查流程或 aisee:reflect 可以提示候选信号,但不得自动写入项目候选或 team knowledge。
ce-compound 继续记录具体工程问题和解决方案。Team knowledge card 可以引用 solution 作为 evidence,但不复制 solution 正文。
ce-compound-refresh 继续维护 docs/solutions/。Team knowledge refresh 是后续独立流程,不混入 Compound refresh。
检索输出优先级:
- OpenSpec/current change facts 最高。
- Project-local evidence 是本地上下文。
- Team active card 是经审查 guardrail。
如果 project-local candidate 与 team active card 重叠,默认只输出 team card,并在 dedupe 中说明。如果 project-local evidence 更新或更具体,输出 stale candidate 提示,避免重复注入两份知识。
aisee knowledge check --team-path <path> --json 校验 card / pack 的最小机器协议,包括必填字段、status、glob 安全、重复 ID 和 deprecated replacement。它还会返回 team_knowledge.write_ready,用于表达该仓库是否满足 promote-batch 的写入前置条件。
aisee knowledge index --json 写项目侧 cache:
aisee/cache/knowledge-index.json
aisee knowledge index --team-path <path> --json 写 team repo cache:
indexes/lexical-index.json
两类 index 都必须标记 cache_is_fact_source: false,删除后 CLI 必须能回退到 pack/card 文件读取。