divinesense

module
v0.80.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2026 License: MIT

README

DivineSense (神识)

AI 驱动的个人第二大脑 — 通过智能代理自动化任务、过滤高价值信息、以技术杠杆提升生产力

License Go React

快速开始功能特性部署指南开发文档


为什么选择 DivineSense?

🎯 效率 🧠 知识 🤖 AI 代理 📦 分发
自动化任务 智能存储 意图路由 单机运行
节省时间 语义搜索 多代理协作 零依赖部署

功能特性

📝 笔记管理
  • Markdown 编辑器:完整支持 KaTeX 数学公式、Mermaid 图表、GFM
  • 智能标签系统:AI 自动推荐相关标签
  • 语义搜索:BM25 + 向量混合检索,精准定位内容
  • 笔记关联:自动检测重复内容,建立知识网络
  • 附件管理:支持图片、文档等多类型附件
  • 版本历史:笔记修改全程可追溯
📅 日程管理
  • 自然语言创建:「明天下午3点开会」一句话搞定
  • 智能冲突检测:自动发现时间冲突并建议调整
  • 多视图日历:月/周/日/列表视图随心切换
  • 周期事件:支持每日/每周/每月/自定义重复
  • 时区支持:跨时区日程自动转换
🦜 AI 智能代理

五位「鹦鹉」代理,协同处理你的任务:

代理 名称 类型 定位 工作目录 产出
🦜 灰灰 常规 知识检索 搜索结果
🦜 时巧 常规 日程管理 日程创建/查询
🦜 折衷 常规 综合助理 笔记+日程组合
🦜 极客 特殊 通用任务助手 用户沙箱 代码产物(用户下载)
🧬 进化 特殊 系统自我进化引擎 源代码根目录 GitHub PR(需审查)

特殊模式详解

维度 🤖 极客模式 (Geek Mode) 🧬 进化模式 (Evolution Mode)
定位 AI 帮你写代码 AI 修改系统自身代码
目标用户 所有已登录用户 仅管理员
工作目录 ~/.divinesense/claude/user_{id} DivineSense 源代码根目录
产出物用途 用户浏览/下载 强制 GitHub PR
安全等级 中(沙箱隔离) 高(权限+PR审核)
视觉风格 Matrix 绿 / 终端 DNA 紫 / 科幻
📚 研究与最佳实践

智能路由

  • 规则匹配(0ms)—— 常见模式瞬间响应
  • 历史感知(~10ms)—— 结合对话上下文
  • LLM 降级(~400ms)—— 复杂语义理解

模式路由优先级

EvolutionMode (最高) → GeekMode → 常规代理路由

会话记忆

  • 跨会话上下文持续
  • 30天自动保留
  • 每个代理独立记忆空间
🤖 CC Runner 异步架构 (Geek Mode 核心)

v0.80.0 重大升级:Geek Mode 从一次性执行升级为全双工持久化架构。

组件 功能
SessionManager 持久化会话管理,30分钟空闲超时自动清理
Streamer 双向事件流式传输(stdin/stdout/stderr)
DangerDetector 危险操作检测(rm -rf, format 等)
SessionStats 实时指标收集(思考时间、Token、工具调用)
StopChat RPC 会话停止端点(所有权验证)

前端组件

  • EventBadge:事件类型可视化指示器(thinking, tool_use, answer)
  • ToolCallCard:工具调用详情展示
  • SessionSummaryPanel:会话指标摘要(时长、Token、工具、文件)
  • TerminalOutput:实时 CLI 输出显示

架构优势

  • 🔄 持久化会话:Claude Code CLI 进程保持存活,避免重复启动
  • 🌊 全双工交互:执行过程中随时注入用户反馈
  • 毫秒级流式:Token 级输出和工具状态实时更新

详细规格:CC Runner 异步架构说明书

🧠 AI 增强功能
  • 间隔重复复习:基于记忆曲线的智能复习系统
  • 知识图谱:可视化笔记与日程的关联网络
  • 每日回顾:AI 生成的每日总结与洞察
  • 向量检索:pgvector 驱动的语义搜索
  • 结果重排:BGE-reranker 优化搜索精度

快速开始

Docker 一键启动(基础笔记功能)
docker run -d --name divinesense \
  -p 5230:5230 \
  -v ~/.divinesense:/var/opt/divinesense \
  hrygo/divinesense:stable

访问 http://localhost:5230

完整 AI 功能(需要 PostgreSQL)
# 1. 克隆仓库
git clone https://github.com/hrygo/divinesense.git && cd divinesense

# 2. 配置环境变量
cp .env.example .env
# 编辑 .env,添加你的 API Keys

# 3. 安装依赖
make deps-all

# 4. 启动所有服务(PostgreSQL + 后端 + 前端)
make start

访问 http://localhost:25173

服务管理命令
make status   # 查看服务状态
make logs     # 查看日志
make stop     # 停止服务
make restart  # 重启服务

部署指南

Docker 部署(推荐)
docker run -d --name divinesense \
  -p 5230:5230 \
  -v ~/.divinesense:/var/opt/divinesense \
  hrygo/divinesense:stable
二进制部署(Geek Mode 专用)

二进制部署提供更高性能和原生 Geek Mode 支持。

# 一键安装(默认 Docker 模式)
curl -fsSL https://raw.githubusercontent.com/hrygo/divinesense/main/deploy/aliyun/install.sh | sudo bash

# 二进制模式(支持 Geek Mode)
curl -fsSL https://raw.githubusercontent.com/hrygo/divinesense/main/deploy/aliyun/install.sh | sudo bash -s -- --mode=binary

核心优势

  • 🚀 单二进制架构:前端、后端、数据库迁移逻辑全部打包入一个文件。
  • 极致优化:支持 Gzip 实时压缩,Vite 哈希资产强缓存,秒级加载。
  • 原生 Geek Mode:支持 Claude Code CLI 集成,自动 Host 极客工作空间产物。
  • 零依赖:无需 Nginx 或 Node.js 环境,直接拷贝运行。

详细文档二进制部署指南


技术架构

技术栈
层级 技术选型
后端 Go 1.25+, Echo 框架, Connect RPC
前端 React 18, Vite 7, TypeScript, Tailwind CSS 4, Radix UI
数据库 PostgreSQL 16+ (pgvector) [生产] / SQLite [开发,无 AI]
AI 模型 DeepSeek V3, Qwen2.5-7B, bge-m3, bge-reranker-v2-m3
混合 RAG 检索
查询 → 查询路由器 → BM25 + pgvector (HNSW) → 重排器 → RRF 融合
组件 技术 用途
向量搜索 pgvector + HNSW 索引 语义相似度
全文搜索 PostgreSQL FTS + BM25 关键词匹配
结果重排 BAAI/bge-reranker-v2-m3 结果精炼
文本向量化 BAAI/bge-m3 (1024维) 文本向量化
大语言模型 DeepSeek V3 / Qwen2.5 响应生成
AI 代理架构
ChatRouter (意图分类)
    ├── EvolutionMode? ─Yes→ EvolutionParrot (进化) - 自我进化
    ├── GeekMode? ─Yes→ GeekParrot (极客) - Claude Code CLI 直接执行
    ├── 规则引擎 (0ms) - 关键词、模式匹配
    ├── 历史感知 (~10ms) - 对话上下文
    └── LLM 降级 (~400ms) - 语义理解

路由到:
    ├── EvolutionParrot (进化) - 源代码修改 + PR 创建
    ├── GeekParrot (极客) - Claude Code CLI 通信层(零 LLM)
    ├── MemoParrot (灰灰) - memo_search 工具
    ├── ScheduleParrotV2 (时巧) - schedule_add/query/update/find_free_time
    └── AmazingParrot (折衷) - 并发多工具编排

开发指南

make start     # 启动所有服务
make stop      # 停止服务
make status    # 查看服务状态
make logs      # 查看日志
make test      # 运行测试
make check-all # 运行所有检查(构建、测试、i18n)

开发文档


数据库架构

表名 用途
memo 笔记主体内容
memo_embedding 笔记向量嵌入(语义搜索)
schedule 日程主体
ai_conversation AI 对话历史
episodic_memory 长期用户记忆和偏好
user_preference 用户沟通设置
agent_metrics 代理性能追踪(A/B 测试)

数据库说明

  • PostgreSQL:生产环境,完整 AI 支持(向量搜索、会话记忆、长期记忆)
  • SQLite:开发环境,仅基础功能(不支持 AI 功能

💡 SQLite AI 支持计划:详见 #9 - 探索 SQLite 向量搜索可行性


开源协议

MIT — 自由使用、修改和分发


致谢

本项目受到优秀的 memos 项目启发。usememos 社区在隐私优先的笔记管理方面的工作,为 DivineSense 的许多核心功能奠定了基础。

Directories

Path Synopsis
cmd
cc-async-test command
divinesense command
schedule-agent-test command
Schedule Agent Test - 测试日程助手
Schedule Agent Test - 测试日程助手
test-agent command
internal
plugin
ai
ai/agent
Package agent provides conversation context management for multi-turn dialogues.
Package agent provides conversation context management for multi-turn dialogues.
ai/agent/tools
Package tools provides resilient tool execution for AI agents.
Package tools provides resilient tool execution for AI agents.
ai/aitime
Package aitime provides the time parsing service interface for AI agents.
Package aitime provides the time parsing service interface for AI agents.
ai/cache
Package cache provides the cache service interface for AI agents.
Package cache provides the cache service interface for AI agents.
ai/context
Package context provides context building for LLM prompts.
Package context provides context building for LLM prompts.
ai/duplicate
Package duplicate provides memo duplicate detection for P2-C002.
Package duplicate provides memo duplicate detection for P2-C002.
ai/genui
Package genui provides Generative UI components for AI agents.
Package genui provides Generative UI components for AI agents.
ai/graph
Package graph - builder implementation for P3-C001.
Package graph - builder implementation for P3-C001.
ai/habit
Package habit provides user habit learning and analysis for AI agents.
Package habit provides user habit learning and analysis for AI agents.
ai/memory
Package memory provides the unified memory service interface for AI agents.
Package memory provides the unified memory service interface for AI agents.
ai/metrics
Package metrics provides the evaluation metrics service interface for AI agents.
Package metrics provides the evaluation metrics service interface for AI agents.
ai/prediction
Package prediction provides predictive interaction capabilities for AI agents.
Package prediction provides predictive interaction capabilities for AI agents.
ai/rag
Package rag provides Self-RAG optimization.
Package rag provides Self-RAG optimization.
ai/reminder
Package reminder provides reminder management for schedules and todos.
Package reminder provides reminder management for schedules and todos.
ai/review
Package review provides intelligent memo review system based on spaced repetition.
Package review provides intelligent memo review system based on spaced repetition.
ai/router
Package router provides the LLM routing service.
Package router provides the LLM routing service.
ai/schedule
Package schedule provides schedule-related AI agent utilities.
Package schedule provides schedule-related AI agent utilities.
ai/session
Package session provides the session persistence service interface for AI agents.
Package session provides the session persistence service interface for AI agents.
ai/tags
Package tags provides intelligent tag suggestion for memos.
Package tags provides intelligent tag suggestion for memos.
ai/timeout
Package timeout defines centralized timeout constants for AI operations.
Package timeout defines centralized timeout constants for AI operations.
ai/vector
Package vector provides the vector retrieval service interface for AI agents.
Package vector provides the vector retrieval service interface for AI agents.
email
Package email provides SMTP email sending functionality for self-hosted DivineSense instances.
Package email provides SMTP email sending functionality for self-hosted DivineSense instances.
idp
idp/oauth2
Package oauth2 is the plugin for OAuth2 Identity Provider.
Package oauth2 is the plugin for OAuth2 Identity Provider.
ocr
Package ocr provides OCR (Optical Character Recognition) functionality using Tesseract.
Package ocr provides OCR (Optical Character Recognition) functionality using Tesseract.
scheduler
Package scheduler provides a GitHub Actions-inspired cron job scheduler.
Package scheduler provides a GitHub Actions-inspired cron job scheduler.
textextract
Package textextract provides full-text extraction functionality using Apache Tika.
Package textextract provides full-text extraction functionality using Apache Tika.
proto
gen/api/v1
Package apiv1 is a reverse proxy.
Package apiv1 is a reverse proxy.
ai
auth
Package auth provides authentication and authorization for the DivineSense server.
Package auth provides authentication and authorization for the DivineSense server.
router/api/v1
Package v1 - duplicate detection handlers for P2-C002.
Package v1 - duplicate detection handlers for P2-C002.
runner/ocr
Package ocr provides a background runner for processing attachments with OCR and text extraction.
Package ocr provides a background runner for processing attachments with OCR and text extraction.
scheduler/rrule
Package rrule provides RRULE (Recurrence Rule) parsing and generation.
Package rrule provides RRULE (Recurrence Rule) parsing and generation.
scheduler/suggestion
Package suggestion provides intelligent schedule time suggestions.
Package suggestion provides intelligent schedule time suggestions.
service/memo
Package memo provides memo-related services including search highlighting.
Package memo provides memo-related services including search highlighting.
service/schedule
Package schedule provides schedule management functionality including creation, querying, updating, and deleting schedules with recurring event support.
Package schedule provides schedule management functionality including creation, querying, updating, and deleting schedules with recurring event support.
stats
Package stats provides simple local usage statistics for personal assistant systems.
Package stats provides simple local usage statistics for personal assistant systems.
timezone
Package timezone provides timezone utilities for the DivineSense application.
Package timezone provides timezone utilities for the DivineSense application.
db

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL