Files
MemRelay/projects/ebb54e31-5afe-4f9b-a291-4e3b03ca3b21/curated/Key Decisions and Guiding Rules.md
T

4.0 KiB
Raw Blame History

title, type, permalink, stable_id, scope, project_id, workspace_type, usage_profile_id, preference_context, document_type, revision, source_memory_ids, source_checkpoint_ids, source_file_ids, source_git_commit, source_git_commits, source_agent_sync_ids, model_connection, model_name, source_count, source_revisions, source_dispositions, cited_source_ids, job_cited_source_ids, conflicts, supersedes, preferences, source_cursor, source_hash, prompt_version, schema_version, curation_job_id, created_at, updated_at, tags
title type permalink stable_id scope project_id workspace_type usage_profile_id preference_context document_type revision source_memory_ids source_checkpoint_ids source_file_ids source_git_commit source_git_commits source_agent_sync_ids model_connection model_name source_count source_revisions source_dispositions cited_source_ids job_cited_source_ids conflicts supersedes preferences source_cursor source_hash prompt_version schema_version curation_job_id created_at updated_at tags
Key Decisions and Guiding Rules curated main/projects/ebb54e31-5afe-4f9b-a291-4e3b03ca3b21/curated/key-decisions-and-guiding-rules 08fb4703-1527-4983-bb8e-e4ca735e4316 project ebb54e31-5afe-4f9b-a291-4e3b03ca3b21 development null development decisions 8
null
Sub2API openai/gpt-oss-120b 20
memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca memory:6bb35bdc-e44f-4b8e-af69-b82961cd7c6c memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136
1 1 1
processed unchanged unsupported skipped
20 0 0 0
curated_baseline:08fb4703-1527-4983-bb8e-e4ca735e4316
global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca
memory:6bb35bdc-e44f-4b8e-af69-b82961cd7c6c
memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136
global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270
global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
curated_baseline:08fb4703-1527-4983-bb8e-e4ca735e4316
0 cd96d5b27b5d1ef34ff30350e40c12b9d9b7e389c5813755521578d1f2597d9c 2026-08-12.3 3 4379a1f9-25d0-4c99-ae7e-6fd930239187 2026-08-08T09:52:21.764309+00:00 2026-08-16T18:34:17.613727+00:00
decisions

决策记录

1. 生产级 MCP JSON 序列化

  • 决策:memrelay://capabilities 含 datetime、UUID 或 Pydantic 对象时,必须先使用 FastAPI jsonable_encoder 再进行 JSON 编码,以避免生产环境序列化错误。
  • 验证:回归测试使用真实时间字段,并通过 Streamable HTTP MCP 验证资源输出与 capabilities_get 一致。

2. 密码库读取性能优化

  • 决策:VaultService 引入进程内 Bitwarden 条目快照(启动、手动同步、周期同步刷新),列表、搜索、详情、密码读取与唯一匹配读取均走快照;写入操作即时更新快照;TOTP 仍实时调用 CLI。
  • 结果:ARM64 列表响应时间降至约 420‑431 ms。
  • 决策:管理端同时支持局域网 HTTP 与公网 HTTPS;Cookie Secure 标记依据当前请求协议动态决定(HTTPS 设置,HTTP 清除),解决 HTTPS 后局域网 HTTP 会话失效的问题。

4. 代理缓存策略

  • 决策:OpenResty 对登录、API、MCP、密码库、上传下载及签名地址不启用代理缓存;静态资源使用 ETag 与浏览器缓存。

5. ARM64 构建迁移方案

  • 决策:提供可选构建时代理与 Debian 镜像参数以加速依赖下载(不改变默认/运行时网络)。
  • 其他:Windows tar 的符号链接问题通过 Linux 容器只读挂载方式解决;首次迁移启动延迟通过保留一致性备份并待容器恢复健康后再验证。

6. 数据库迁移与 UI 统一

  • 决策:数据库迁移 20260805_0010 在 mcp_tokens 表加入 all_profiles,支持全档案 Token 自动覆盖后续创建的使用档案。
  • UI 改动:删除独立进度页,检查点统一在项目开发时间线管理并支持删除;操作语义统一为项目“停用/永久删除”,记忆“移入回收站”。

来源: curated_baseline:08fb4703-1527-4983-bb8e-e4ca735e4316