Skip to content

deepDDW 0.1.0 — First Formal Release

Choose a tag to compare

@ccch713 ccch713 released this 16 Aug 19:27
· 60 commits to main since this release

deepDDW 0.1.0 — First Formal Release

deepDDW: memory & knowledge base for DeepSeek Harness, reachable from any device on your LAN.
MIT licensed · Python 3.11+ · No GPU required · Single-server, team-ready (up to ~20 users)

This is the first formal release. Compared to the initial trimmed open-source snapshot, 0.1.0 ships the full stability base, the memory subsystem, and three deployment paths — all verified end-to-end on real hardware.


What's New vs the Initial Version

🚀 Deployment & Packaging

  • Docker one-click deploymentdocker compose -f deepddw-compose.yml up -d --build (gateway + SearXNG), verified end-to-end on a real macOS arm64 host: containers healthy, MCP tools/call and chat verified inside the container
  • Windows standalone exe — PyInstaller one-dir build, auto-produced by the windows-build GitHub Actions workflow (green build + in-container smoke test: /health 200, auth gate 401); data lives under %USERPROFILE%\.deepddw, upgrades = folder replacement
  • GitHub Actions CI — pytest full suite + ruff (F/E9 zero-tolerance) + leak scan, all green on every push

🧠 Memory Subsystem (rebuilt)

  • Layered memory — user rules / project notes / daily logs / daily reflections, plus archive; migrated from the old flat key-value store with a migration script (old data preserved)
  • Automatic memory injection — chat assembles a <memory_system> block into the system prompt (budget-capped at 2400 chars, RAG context first, memory after)
  • LLM-powered memory — keyword expansion for retrieval (natural language → 3–6 search keywords, cached 1h), AI distillation of conversations into daily logs, daily reflection auto-generated from recent logs (all with graceful degradation when the LLM is unavailable)
  • Auto-consolidation — after each chat reply the conversation is distilled into today's memory in the background (skippable via auto_consolidate: false)

🔍 Knowledge Base

  • Hybrid vector + keyword retrieval — LanceDB hash-trick embeddings + SQLite FTS5/LIKE, RRF fusion; auto-degrades to keyword-only when LanceDB is absent
  • Automatic RAG — chat queries hit the knowledge base first (≤3 hits × 600 chars into system context), rag flag on by default
  • Session → document — conversations saved as searchable docs via MCP tools, traceable per session

🛡️ Security Hardening

  • Token gate (Bearer / X-DDW-Token), fail-fast when unconfigured; LAN bypass disabled by default
  • One-time 60s scan-to-pair codes (no long-token exposure in QR/URL)
  • Cross-site proxy request rejection (sec-fetch-site), CORS configurable and narrowed, API keys encrypted at rest (Fernet), keys never returned in plaintext
  • Trusted-proxy aware client-IP detection (strict private ranges)

🔌 MCP (dual protocol)

  • streamable-http (2025-03-26) + classic JSON-RPC (2024-11-05), 14 tools: ddw.llm.chat, ddw.kb.search, ddw.memory.* (9), ddw.docs.save, ddw.session.docs, ddw.docs_portal.search
  • Lenient session mode: stale MCP sessions auto-recreate without restart

Quality Gates (all green at this release)

Gate Result
pytest (tests/ + plugins/) 105 passed (macOS host + 16 GB test device)
ruff --select=F,E9 zero violations
ruff --select=E,W,F net-new vs HEAD 0
py_compile full tree pass
GitHub Actions (CI + windows-build) both green
Leak scan (commercial/business identifiers) none

Quick Start

# Docker (recommended)
cp .env.example .env   # set DDW_ACCESS_TOKEN
docker compose -f deepddw-compose.yml up -d --build
# → http://<server-ip>:8500/

# Or bare metal
pip install -r requirements.txt
uvicorn core.main:app --host 0.0.0.0 --port 8500

# Or Windows
# download deepddw-windows.zip from Actions artifacts → run deepddw.exe

See README.md for details, security notes, and the roadmap.


deepDDW — enterprise-grade capability, open-sourced for everyone.