chore: 导入旧记忆备份供恢复
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
---
|
||||
title: MemRelay Project Overview
|
||||
type: curated
|
||||
permalink: main/projects/ebb54e31-5afe-4f9b-a291-4e3b03ca3b21/curated/mem-relay-project-overview
|
||||
stable_id: eebf38d3-36dc-4b57-b8d7-1f2c8be2f234
|
||||
scope: project
|
||||
project_id: ebb54e31-5afe-4f9b-a291-4e3b03ca3b21
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: overview
|
||||
revision: 8
|
||||
source_memory_ids: []
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 20
|
||||
source_revisions:
|
||||
memory:7ab8ac01-9e4d-4222-b224-7735fdeafdc8: '1'
|
||||
memory:23bcc4c0-4992-41d6-b70e-210937a76a0f: '1'
|
||||
source_dispositions:
|
||||
processed: 20
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:eebf38d3-36dc-4b57-b8d7-1f2c8be2f234
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- curated_baseline:6b2d8349-7a95-4a18-8e4b-20dd2ab95e2f
|
||||
- curated_baseline:b54bd6b0-bbdd-4ab2-92d3-a4f5d58e8f83
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- memory:7ab8ac01-9e4d-4222-b224-7735fdeafdc8
|
||||
- memory:23bcc4c0-4992-41d6-b70e-210937a76a0f
|
||||
- global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:eebf38d3-36dc-4b57-b8d7-1f2c8be2f234
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 0
|
||||
source_hash: cd96d5b27b5d1ef34ff30350e40c12b9d9b7e389c5813755521578d1f2597d9c
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 4379a1f9-25d0-4c99-ae7e-6fd930239187
|
||||
created_at: '2026-08-08T09:52:17.157448+00:00'
|
||||
updated_at: '2026-08-16T18:34:02.725477+00:00'
|
||||
tags:
|
||||
- overview
|
||||
- project
|
||||
---
|
||||
|
||||
# MemRelay 项目概览
|
||||
|
||||
## 目标
|
||||
- 为多个设备、项目、AI 客户端和聊天窗口提供可继承的个人规则、项目记忆、开发历史、密码库和文件仓储。
|
||||
|
||||
## 技术栈
|
||||
- **后端**: Python 3.12, FastAPI, FastMCP, SQLAlchemy, SQLite
|
||||
- **前端**: Vue 3, TypeScript, Vite, Element Plus, Vue I18n
|
||||
- **记忆引擎**: Basic Memory v0.22.1(Markdown 存储),MiniLM 语义检索(必要时降级为全文搜索)
|
||||
- **容器化**: Docker Desktop (Windows) & Docker‑Compose (Linux),支持 amd64 与 arm64 双平台
|
||||
|
||||
## 部署拓扑
|
||||
- 公网入口: `https://mr.asio.asia`(OpenResty 终止 TLS 并转发至 FRPS)
|
||||
- 应用主机: Armbian ARM64 `192.168.32.100`,监听端口 `3003`
|
||||
- 持久化目录: `/data/memrelay-stack`(MemRelay 与 Basic Memory 共享挂载)
|
||||
- FRP 栈: OpenWrt FRPC `0.70.1` 使用 WebSocket 连接 FRPS,映射 `mr.asio.asia → 192.168.32.100:3003`
|
||||
- 会话 Cookie: 根据请求协议动态决定 `Secure` 标记,局域网 HTTP 与公网 HTTPS 均可使用
|
||||
- 缓存策略: OpenResty 对登录、API、MCP、密码库等端点不启用代理缓存;静态资源使用 ETag 与浏览器缓存
|
||||
- 备份: `/data/memrelay-backups/memrelay-20260805T234836Z.tar.gz`
|
||||
|
||||
## 开发实施原则 (KISS & YAGNI)
|
||||
- 使用最简单且正确的实现
|
||||
- 优先复用已有框架、服务、工具和约定,避免重复实现
|
||||
- 不添加仅服务于假设未来需求的依赖、抽象或基础设施
|
||||
- 修改范围与当前目标一致,测试覆盖随风险扩大;完成前清理临时内容和无用代码
|
||||
- 前端以真实工作流、桌面可用性、信息层级和无重叠为验收标准
|
||||
|
||||
## 项目记忆与 Git 工作流
|
||||
- 项目本地记忆位于 `aidocs/project_context.md`,文件顶部保留固定标题,随后按 **最新优先**、秒级时间戳倒序追加记录,描述 **做了什么、为什么、验证、问题与下一步**
|
||||
- `aidocs/` 已加入 `.gitignore`,记忆文件不提交至 Git
|
||||
- 完成任务后:清理临时文件 → 更新记忆 → 检查工作树 → 使用 `type: 中文说明` 格式提交有意义的代码改动
|
||||
|
||||
## 凭证与记忆边界
|
||||
- 登录、SSH、数据库和 API 操作前先查询 Vaultwarden;唯一匹配时直接使用,不重复询问
|
||||
- 新获得、生成或修改的账号、密码、Token、API 密钥和 TOTP 种子立即写入密码库
|
||||
- 普通记忆仅记录密码库条目 **名称、用途、使用方式**,不保存秘密值
|
||||
|
||||
## 可选功能(默认禁用)
|
||||
- AI 驱动的记忆整理(AI Curation)和 Memory‑Git 为可选增强,默认关闭。未开启时系统完整工作,不会探测模型、不创建 `.git` 目录或报错。
|
||||
|
||||
## UI 交互指南
|
||||
- 表单采用 “标题在左、控件在右” 紧凑横向布局;多行/大块内容使用 “标题在上、内容在下”
|
||||
- 页面顶部标题区域在滚动时保持可见,操作按钮固定在标题右侧
|
||||
- 滚动区域局限于控件内部(如 Markdown 预览),避免整页滚动
|
||||
- 表单标签列、控件列和分组间距保持紧凑一致,避免大面积留白
|
||||
|
||||
## 语言与工作方式
|
||||
- 默认使用中文沟通,除非明确要求使用其他语言
|
||||
- 开发环境为 Windows,所有命令、路径和验证步骤需兼容 Windows
|
||||
- 在充分理解现有项目后实施,持续告知关键进展,可独立完成的工作直接完成并验证
|
||||
|
||||
## 密码库索引
|
||||
| 条目 | 用途 |
|
||||
|------|------|
|
||||
| `MemRelay Administrator` | Web 管理员 |
|
||||
| `BDYG18Pro Armbian SSH` | 部署主机 |
|
||||
| `OpenWrt Router SSH` | FRPC 与局域网路由 |
|
||||
| `Public FRPS Server SSH` | 公网 FRPS 与 OpenResty |
|
||||
| `FRP ali.asio.asia Token` | FRPC/FRPS 认证 |
|
||||
| `Gitea git.asio.asia OAuth` | Git 访问与令牌刷新 |
|
||||
| `Armbian MySQL Root` | Docker MySQL |
|
||||
|
||||
**来源**: `curated_baseline:eebf38d3-36dc-4b57-b8d7-1f2c8be2f234`, `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`, `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`, `global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d`
|
||||
Reference in New Issue
Block a user