R-2/R-3:Redis 快取層與 LLM 對話品質強化 + pnpm/turbo 遷移 #1

Merged
admin merged 6 commits from develop into master 2026-08-14 04:56:21 +00:00
Owner

變更摘要

這批變更涵蓋三個獨立子系統的更新:

  1. 建置工具遷移:monorepo 由 npm workspaces 改為 pnpm workspace + Turborepo(新增 pnpm-workspace.yaml、turbo.json,移除 package-lock.json 改用 pnpm-lock.yaml)。對外指令介面(restart/smoke)維持不變,但 pnpm run smoke A 不可再加 -- 分隔符。
  2. 記憶與情緒 Redis 快取:新增 apps/api/src/cache/redis-client.ts,讓 working-memory/memory-consolidation/memory.controller/emotion.service 可用 Redis 加速讀寫;Redis 連不到時自動退回原本的 DB/行程記憶體行為,非必要依賴。
  3. LLM 對話品質強化:新增 prompt-builder.ts、few-shot-examples.ts,供 claude-provider.service/context-assembler.service/dialogue.service/llm.module 組裝更完整的 prompt。

另同步更新 scripts/smoke/F.mjs、J.mjs 冒煙測試涵蓋上述新行為,並在 README/.env.example 補上 pnpm 開發流程、Redis/LLM 相關環境變數說明與正式環境部署路徑(不使用 Docker,走 systemd + nginx)。

影響範圍

  • apps/api:llm、memory、emotion、cache 模組
  • 專案根目錄建置工具鏈(package.json 系列、lockfile)
  • 冒煙測試腳本(F、J 兩組)
  • 文件(README、.env.example)

重點檔案/模組

  • apps/api/src/cache/redis-client.ts(新增)
  • apps/api/src/llm/prompt-builder.ts、few-shot-examples.ts(新增)
  • apps/api/src/memory/working-memory.service.ts(改動幅度最大,+91/-)

風險與注意事項

  • pnpm 遷移後 pnpm install 需搭配新 lockfile,正式環境建置指令改為 pnpm install --frozen-lockfile && pnpm run build。
  • Redis 為選用加速層,未設定 REDIS_URL 或連線失敗時應自動退回原行為,建議在無 Redis 環境下額外驗證一次冒煙測試。
  • LLM_PROVIDER=claude 時需確認 CLIProxy(CLAUDE_BASE_URL)已有對應模型的 Worker 註冊,否則會派工失敗。
## 變更摘要 這批變更涵蓋三個獨立子系統的更新: 1. **建置工具遷移**:monorepo 由 npm workspaces 改為 pnpm workspace + Turborepo(新增 `pnpm-workspace.yaml`、`turbo.json`,移除 `package-lock.json` 改用 `pnpm-lock.yaml`)。對外指令介面(`restart`/`smoke`)維持不變,但 `pnpm run smoke A` 不可再加 `--` 分隔符。 2. **記憶與情緒 Redis 快取**:新增 `apps/api/src/cache/redis-client.ts`,讓 `working-memory`/`memory-consolidation`/`memory.controller`/`emotion.service` 可用 Redis 加速讀寫;Redis 連不到時自動退回原本的 DB/行程記憶體行為,非必要依賴。 3. **LLM 對話品質強化**:新增 `prompt-builder.ts`、`few-shot-examples.ts`,供 `claude-provider.service`/`context-assembler.service`/`dialogue.service`/`llm.module` 組裝更完整的 prompt。 另同步更新 `scripts/smoke/F.mjs`、`J.mjs` 冒煙測試涵蓋上述新行為,並在 README/`.env.example` 補上 pnpm 開發流程、Redis/LLM 相關環境變數說明與正式環境部署路徑(不使用 Docker,走 systemd + nginx)。 ## 影響範圍 - `apps/api`:llm、memory、emotion、cache 模組 - 專案根目錄建置工具鏈(package.json 系列、lockfile) - 冒煙測試腳本(F、J 兩組) - 文件(README、.env.example) ## 重點檔案/模組 - `apps/api/src/cache/redis-client.ts`(新增) - `apps/api/src/llm/prompt-builder.ts`、`few-shot-examples.ts`(新增) - `apps/api/src/memory/working-memory.service.ts`(改動幅度最大,+91/-) ## 風險與注意事項 - pnpm 遷移後 `pnpm install` 需搭配新 lockfile,正式環境建置指令改為 `pnpm install --frozen-lockfile && pnpm run build`。 - Redis 為選用加速層,未設定 `REDIS_URL` 或連線失敗時應自動退回原行為,建議在無 Redis 環境下額外驗證一次冒煙測試。 - `LLM_PROVIDER=claude` 時需確認 CLIProxy(`CLAUDE_BASE_URL`)已有對應模型的 Worker 註冊,否則會派工失敗。
jiantw83 added 5 commits 2026-08-14 04:46:06 +00:00
admin added 1 commit 2026-08-14 04:56:14 +00:00
admin merged commit 5e0b426551 into master 2026-08-14 04:56:21 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jiantw83/Kokorone#1