# 知识晶石 **Repository Path**: ichipos/knowledge-crystal ## Basic Information - **Project Name**: 知识晶石 - **Description**: 知识晶石——从碎片信息到结构性知识的AI压缩铸造器 想解决什么问题: 在手机上刷到大量好文章、播客、视频,收藏后永不回顾,知识无法内化。 为什么会想到做这个: 收藏夹里躺着3000篇“未来会看”的内容,就像松鼠囤坚果,需要一只AI松鼠帮忙把果仁取出来压成能量棒。 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: main - **Homepage**: https://www.ichipo.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 知识晶石 - 项目总览 **知识晶石** - AI 碎片信息压铸成永久笔记 ## 项目结构 ``` KnowledgeCrystal/ ├── KnowledgeCrystal.sln # .NET 解决方案 ├── src/ │ ├── KnowledgeCrystal.Domain # 领域层 │ │ ├── Entities/ # 领域实体 │ │ │ ├── Crystal.cs # 知识晶体 │ │ │ ├── RawItem.cs # 原始收藏条目 │ │ │ └── TreeNode.cs # 知识树节点 │ │ └── Services/ # 领域服务(规则引擎) │ │ ├── CrystalExtractDomainService.cs │ │ └── TreeClassifyDomainService.cs │ │ │ ├── KnowledgeCrystal.Domain.Shared # 领域共享层 │ │ └── Enums/ # 枚举 │ │ ├── CrystalStatus.cs │ │ └── SourceType.cs │ │ │ ├── KnowledgeCrystal.Application.Contracts # 应用服务契约 │ │ ├── Dtos/ # DTO 定义 │ │ └── Interfaces/ # 服务接口 │ │ │ ├── KnowledgeCrystal.Application # 应用服务层 │ │ └── Services/ # 应用服务实现 │ │ ├── CrystalAppService.cs │ │ ├── RawItemAppService.cs │ │ └── TreeNodeAppService.cs │ │ │ ├── KnowledgeCrystal.EntityFrameworkCore # EF Core 基础设施 │ │ └── DbContext/ │ │ └── KnowledgeCrystalDbContext.cs │ │ │ ├── KnowledgeCrystal.HttpApi # HTTP API 层 │ │ └── Controllers/ │ │ │ └── KnowledgeCrystal.HttpApi.Host # 启动项目 │ ├── Program.cs │ ├── appsettings.json │ └── Middleware/ │ └── uni-app/ # 前端 UniApp 项目 ├── src/ │ ├── pages/ # 页面 │ │ ├── index/index.vue # 首页(晶体列表) │ │ ├── crystal/detail.vue # 晶体详情 │ │ ├── tree/tree.vue # 知识树 │ │ ├── search/search.vue # 搜索 │ │ ├── user/user.vue # 个人中心 │ │ └── collect/collect.vue # 收藏页面 │ ├── components/ # 组件 │ │ ├── CrystalCard.vue │ │ ├── EmptyState.vue │ │ └── TreeNodeItem.vue │ ├── stores/ # Pinia 状态管理 │ │ ├── auth.ts │ │ ├── crystal.ts │ │ └── tree.ts │ ├── services/ # API 请求层 │ │ ├── request.ts │ │ ├── crystal.ts │ │ ├── treeNode.ts │ │ └── rawItem.ts │ └── styles/ # 全局样式 │ ├── variables.scss │ └── global.scss └── manifest.json ``` ## 技术栈 ### 后端 - **框架**: ABP vNext 8.3 (.NET 8) - **数据库**: SQLite(可切换 PostgreSQL) - **ORM**: Entity Framework Core - **规则引擎**: jieba.NET(中文分词 + TF-IDF) - **认证**: MVP 阶段简易认证(x-user-id 请求头) ### 前端 - **框架**: UniApp (Vue 3 + Vite + TypeScript) - **状态管理**: Pinia - **样式**: SCSS - **支持平台**: H5 / 微信小程序 / App (iOS/Android) ## 快速启动 ### 后端启动 ```bash cd KnowledgeCrystal/src/KnowledgeCrystal.HttpApi.Host dotnet restore dotnet run ``` 访问 Swagger: http://localhost:5000/swagger ### 前端启动 (H5) ```bash cd KnowledgeCrystal/uni-app npm install npm run dev:h5 ``` 访问: http://localhost:5173 ## 核心功能 - 💎 **一键收藏** - 浏览器/APP 一键收藏内容,AI 自动提炼 - 🌳 **知识树** - 智能分类归档,构建个人知识体系 - 📊 **核心提炼** - 论点/数据/案例结构化提取 - 🔍 **搜索** - 全文搜索 + 标签筛选 - 📱 **多端同步** - H5 / 小程序 / APP 全平台支持 ## API 接口 ### 晶体接口 - `GET /api/app/crystals` - 获取晶体列表 - `GET /api/app/crystals/{id}` - 获取晶体详情 - `POST /api/app/crystals` - 创建晶体 - `PUT /api/app/crystals/{id}` - 更新晶体 - `DELETE /api/app/crystals/{id}` - 删除晶体 ### 知识树接口 - `GET /api/app/tree-nodes` - 获取完整知识树 - `POST /api/app/tree-nodes` - 创建节点 - `PUT /api/app/tree-nodes/{id}` - 更新节点 - `DELETE /api/app/tree-nodes/{id}` - 删除节点 ### 收藏接口 - `POST /api/app/raw-items/collect` - 一键收藏 - `GET /api/app/raw-items` - 获取收藏列表 ## MVP 阶段特性 ✅ 使用 jieba.NET 规则引擎(零 AI 接口成本) ✅ SQLite 数据库(零配置,便携) ✅ 简易用户认证(自动生成用户ID) ✅ UniApp 一套代码,多端运行 ✅ 完整的增删改查功能 ## 后续规划 - [ ] 接入 LLM AI 接口(Qwen / GPT) - [ ] 晶体融合(每周知识摘要) - [ ] 邮件摘要推送 - [ ] 浏览器插件 - [ ] 完整的用户认证系统 - [ ] PostgreSQL 生产环境切换