Contextor 是一个以 Go 语言实现的先进"上下文工程"SDK,专为构建具备长期记忆、深度上下文理解能力和严格安全隔离的多租户 AI 应用而设计。
- 三层知识图谱架构: 完整保留原始信息,构建语义网络
- 双时间轴时序管理: 区分"事件发生时间"和"信息获知时间"
- LLM 驱动的冲突解决: 智能处理新旧信息矛盾,保留完整变更历史
- 混合搜索策略: 结合向量搜索、全文搜索和图遍历的三步检索
- 原生多租户隔离: 内置用户级和会话级双重数据隔离
- 异步处理管道: 高性能的数据注入和知识提取
- 语言: Go 1.24+
- 数据库: SurrealDB (图数据库 + 文档存储 + 向量搜索)
- 缓存: Redis (会话状态 + 异步任务队列)
- LLM 集成: 支持 OpenAI、Anthropic 等多种模型
go get github.com/gonewx/contextorpackage main
import (
"log"
"github.com/gonewx/contextor"
)
func main() {
// 初始化客户端
client, err := contextor.NewClient(`{
"surrealdb_url": "ws://localhost:8000",
"redis_url": "redis://localhost:6379",
"openai_api_key": "your-api-key"
}`)
if err != nil {
log.Fatal(err)
}
// 创建会话
session, err := client.Session.Start("tenant-123")
if err != nil {
log.Fatal(err)
}
// 注入数据
err = client.Memory.Ingest(session.ID(), "项目截止日期是2025年12月31日")
if err != nil {
log.Fatal(err)
}
// 检索上下文
results, err := client.Retriever.Search(session.ID(), "截止日期是什么时候?")
if err != nil {
log.Fatal(err)
}
log.Printf("检索结果: %+v", results)
}- Go 1.24+
- Docker & Docker Compose
- Make
# 克隆项目
git clone https://github.com/gonewx/contextor.git
cd contextor
# 启动依赖服务
make dev-env
# 运行测试
make test
# 构建项目
make build我们欢迎社区贡献!请查看 CONTRIBUTING.md 了解如何参与项目开发。
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
注意: 本项目目前处于开发阶段,API 可能会发生变化。建议在生产环境使用前等待 v1.0 正式版本。