2026-05-20 21:39:12 +08:00

115 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Wiki Schema
created: 2026-04-13
updated: 2026-04-13
---
# Wiki Schema
## 领域
Neta AI 电商平台代码知识库 — 覆盖 Neta-monorepo 项目的架构设计、模块职责、数据流、技术选型和开发规范。项目基于 Midway.js + Vue 3 的 Monorepo 架构,核心是 NetaClaw AI Agent 引擎。
## 约定
- 文件名:小写、连字符、无空格(如 `netaclaw-agent-runtime.md`
- 所有 wiki 页面以 YAML frontmatter 开头(见下方模板)
- 页面之间使用 `[[wikilinks]]` 互相链接(每页至少 2 个出站链接)
- 更新页面时必须更新 `updated` 日期
- 每个新页面必须添加到 `index.md` 对应分区下
- 每次操作必须追加到 `log.md`
- 所有内容使用中文编写
## Frontmatter 模板
```yaml
---
title: 页面标题
created: YYYY-MM-DD
updated: YYYY-MM-DD
type: entity | concept | comparison | query
tags: [从下方标签体系中选择]
sources: [代码路径或参考来源]
---
```
## 标签体系
新增标签前必须先添加到此处,禁止随意创建标签。
### 架构层
- `architecture`: 系统架构、整体设计
- `module`: 业务模块
- `runtime`: 运行时核心逻辑
- `gateway`: 网关/通信层
### 技术层
- `backend`: 后端相关
- `frontend`: 前端相关
- `database`: 数据库/Entity
- `api`: 接口/协议
- `websocket`: 实时通信
- `auth`: 认证/权限
### AI 层
- `agent`: AI Agent 相关
- `llm`: 大语言模型
- `tool`: 工具系统
- `skill`: 技能系统
- `memory`: 记忆系统
### 业务层
- `project`: 项目管理
- `data`: 数据管理(药品/医保)
- `user`: 用户系统
- `dict`: 字典/配置
- `notification`: 通知
- `plugin`: 插件
### 开发层
- `convention`: 开发规范/约定
- `config`: 配置相关
- `deploy`: 部署/构建
- `tech-stack`: 技术栈选型
## 页面阈值
- **创建页面**:当一个实体/概念在项目中承担独立职责(独立的模块、服务、核心流程)
- **添加到已有页面**:当信息是某个已有实体的补充细节
- **不创建页面**:工具函数、辅助类、临时逻辑、与领域无关的内容
- **拆分页面**:超过 200 行时,按子主题拆分并用 wikilink 互联
- **归档页面**:代码已删除或完全重构后,移到 `_archive/`,从 index 移除
## Entity 页面规范
每个关键模块/服务/组件一个页面,包含:
- 概述 / 职责
- 目录结构和关键文件路径
- 核心 API / 接口
- 与其他模块的关系([[wikilinks]]
- 数据模型(如有 Entity
## Concept 页面规范
每个架构模式/数据流/设计决策一个页面,包含:
- 定义 / 解释
- 工作流程(文字或图表)
- 关键代码路径
- 相关概念([[wikilinks]]
## Comparison 页面规范
并列分析,包含:
- 对比什么、为什么对比
- 对比维度(表格形式优先)
- 结论或综合判断
- 来源
## 更新策略
当代码变更导致 wiki 内容过时时:
1. 检查 git log 确认变更时间
2. 更新页面内容,标注变更日期
3. 如果是破坏性变更,标注 `breaking: true` 到 frontmatter
4. 在 lint 报告中标记需要用户确认的内容