# DMContextService **Repository Path**: ring2012/dmcontext-service ## Basic Information - **Project Name**: DMContextService - **Description**: 上下文服务,用于做上下文工程的管理 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-05-06 - **Last Updated**: 2026-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DMContextService Agent User Management - 智能对话上下文管理服务 ## 项目简介 DMContextService 是一个用于智能对话系统的上下文管理服务,主要提供对话历史的存储、检索、摘要生成等功能,支持多轮对话场景下的上下文理解与记忆检索。 ## 系统架构 ``` ┌───────────────────────────┐ │ controller │ ← 用户界面/网络接口控制层,处理输入输出,不包含业务逻辑 ├───────────────────────────┤ │ business │ ← 业务逻辑层,处理核心业务逻辑,实现业务规则和流程控制 ├───────────────────────────┤ │ domain │ ← 模型层,封装了应用程序的数据结构和业务对象 ├───────────────────────────┤ │ common │ ← 公共层,封装公共函数 ├───────────────────────────┤ │ infrastructure │ ← 基础设施层,负责技术实现细节 └───────────────────────────┘ ``` ### 核心模块 - **controller**: 网络路由管理,处理 HTTP 请求分发 - **business**: 核心业务逻辑 - `context`: 对话上下文管理 - `memory`: 短记忆管理 - `rewrite_query`: 查询改写 - `rewrite_rules`: 规则引擎 - `config`: 配置服务 - **domain**: 数据模型与业务对象 - `bean`: 实体对象 - `datatable`: 数据表操作 - `config`: 配置管理 - `microservice`: 微服务管理 - **infrastructure**: 基础设施层 - `database`: 数据库操作 (RAG) - `embedding`: 向量化服务 - `model`: 模型推理 - `python_service`: Python 服务集成 - `queue`: 消息队列 ## 设计原则 1. **依赖倒置原则(DIP)**: 高层模块定义抽象接口,低层模块实现接口 2. **分层通信规范**: 上层可以调用下层接口,禁止下层直接调用上层(通过观察者模式等实现反向通信) 3. **跨层访问处理**: 使用依赖注入 ## 命名规则 - 文件命名: 小驼峰,中间通过 `_` 分割 - 类名: 大驼峰 - 类成员: `m_` 前缀 - 全局变量: `g_` 前缀 ## 本地编译 ```bash # 首次编译 ./build/local-build.sh # 后续编译(二选一) ./build/compile.sh # 或 ./service/build/build.sh ``` ## 配置说明 配置文件位于 `deployment/conf/` 目录: - `dmcontextservice_config.json`: 服务主配置 - `database/`: 数据库 Schema 配置 - `model/`: 模型配置 - `log.json`: 日志配置 ## 目录结构 ``` . ├── build/ # 构建脚本 ├── deployment/ # 部署配置 │ ├── conf/ # 配置文件 │ ├── scripts/ # 部署脚本 │ └── Helm/ # Kubernetes 配置 ├── docs/ # 开发文档 ├── input/ # Docker 配置 └── service/ # 服务源码 ├── include/ # 头文件 └── src/ # 源代码 ``` ## 技术栈 - C++17 - CMake - PostgreSQL (支持向量搜索) - Docker ## 许可 本项目遵循相关开源许可协议。