Skip to content

Releases: ccch713/deepddw

deepDDW v0.5.0 — DSH for Teams 🚀

Choose a tag to compare

@ccch713 ccch713 released this 19 Aug 01:12

deepDDW v0.5.0 — DSH for Teams 🚀

架构重写:从"有独立页面的团队插件"进化为"DSH 原生插件,100% DSH UI 风格"

What's New in 0.5.0

🏗️ 架构重写 — 纯 DSH Cordis 插件

  • 删除独立 Launcher,deepDDW 完全嵌入 DSH 作为原生插件——0.4.0→0.5.0 的核心变化
  • 所有管理通过 DSH 设置面板(设置 → 多用户设置)完成,与 DSH 生态完全一致
  • 100% DSH 原生 UI(--dsw-alias-* 语义 Token,零自定义 CSS)
  • 客户端引入 tsdown 构建管线,TypeScript → __ModuleLoader__ 格式

👥 多用户团队版功能

  • 三种部署模式(一人多设备 / 家庭多人 / 小团队)
  • 成员管理三页签:活跃成员(🟢/⚪在线状态)/ 已吊销 / 已删除
  • 安全成员识别:手动输入成员名称验证绑定(非列表选择,防冒充)
  • 成员记忆提取:多选已吊销成员 → 提取记忆到团队共享空间
  • 设备心跳:每次页面加载自动注册,确保在线状态实时准确

⚠️ IMPORTANT — Before Installing

deepDDW implements its own memory and knowledge-base isolation. Before installing:

  1. Back up your existing memory and knowledge-base contents;
  2. Uninstall/disable any other memory or knowledge-base plugins;
  3. Then install deepDDW — running alongside other memory/KB plugins may cause data conflicts or memory mixing.

Upgrading

git pull origin main
./install.sh --with-dsh
dsh --profile web  # restart

What's Next (v0.6.0)

  • English/Chinese multilingual menu support (following DSH locale)
  • Custom icon for "多用户设置" settings section

Changes since v0.4.0: Pure DSH Cordis plugin (no standalone launcher), React-based client component, tsdown build pipeline, member identification (manual input, not list selection), device heartbeat registration, member memory extraction, DSH native UI with --dsw-alias-* tokens.

Full changelog: CHANGELOG.md
Architecture: README.md


🙏 Thanks to Our Early Stargazers

Shout-out to everyone who starred this repo — you helped shape deepDDW into what it is today:

@longka2024 @ychulin @zhangpeihao @bjvgukv25842-cmyk @menglol @alanOO7 @kingbill

If you starred but haven't installed yet — v0.5.0 is the version to try. It's a complete rewrite as a native DSH plugin with multi-user memory/KB isolation.

📌 Listed in awesome-deepseek-harness

deepDDW is listed in awesome-deepseek-harness — the curated directory of DSH ecosystem plugins (500+ stars, the go-to resource for DSH users). deepDDW appears in the Memory & Knowledge section as a unique multi-device/team solution.


🙏 Thanks to Our Early Stargazers

Shout-out to everyone who starred this repo:

@longka2024 @ychulin @zhangpeihao @bjvgukv25842-cmyk @menglol @alanOO7 @kingbill

If you starred but haven't installed — v0.5.0 is the version to try. It's a complete architecture rewrite as a native DSH plugin with multi-user memory/KB isolation.

deepDDW 0.3.0 — Defect Fixes + Memory Polish

Choose a tag to compare

@ccch713 ccch713 released this 16 Aug 21:06

deepDDW 0.3.0 — Defect Fixes + Memory Polish

第 3 轮迭代:3 项缺陷修复 + 2 项记忆能力打磨。质量门禁全绿(146 passed、ruff 净 0、CI 双 workflow)。

Fixed

  • DEF-003POST /api/v1/backup/restore 对无效备份文件(非 SQLite / 完整性失败)返回 400 而非 500;主库与 .pre-restore 安全副本不受影响
  • DEF-004/api/v1/backup/create 不再暴露服务器绝对路径,仅返回文件名
  • DEF-002token_gate.py 文档与实现一致:局域网免密默认关闭(需显式开启)

Changed

  • 反思与沉淀(LLM 化收尾) — 每日反思按风格指南(自动/专业/随意)生成,强制"进展/问题/明日注意"结构并避免与昨日重复;LLM 判定对话无价值时不再落日志
  • 记忆检索质量 — 结果按相关性评分排序(命中数 × 层权重:用户规则 > 笔记 > 反思 > 日志,近期日志加权),取代原插入序;关键词扩写缓存过期行为已测试

Quality

  • pytest 146 passed(本机 + 16G 双机)、ruff 净 0、F/E9 门禁过、CI 双 workflow 全绿
  • 零信任爆破测试复验通过:restore 4xx、abs_path 脱敏、认证/穿越/越权/输入攻击全拦截

Docs

  • 双语 README(Status v0.3.0,Roadmap 13 项全部交付)、CHANGELOG 更新
  • awesome-deepseek-harness 收录在列

Upgrading

git pull && ./install.sh(数据与配置兼容,无需迁移)。

deepDDW 0.2.0 — Multi-Device on LAN, Fully Shipped

Choose a tag to compare

@ccch713 ccch713 released this 16 Aug 20:22

deepDDW 0.2.0 — Multi-Device on LAN, Fully Shipped

v0.1.0 的"团队可用"承诺,这版全部兑现:最多 20 台设备并发稳定使用,有实测数据支撑。

What's New

🌐 Multi-Device on LAN(P0,0.2.0 核心)

  • 设备身份与在线注册 — 每台浏览器持久化 device_id/api/v1/status 状态面板实时显示在线设备 / 活跃 WebSocket / 请求计数 / DB 大小 / 版本
  • 网关限流 — Token/IP 双维度滑动窗口(标准库实现,零新依赖),超限 429 + Retry-After,全网关过载 503
  • SQLite 并发加固 — 全连接 WAL + busy_timeout + 进程级写锁;20 并发写验证无 database is locked

🧩 P1 — 团队可用

  • 工作区隔离(P1-1) — 设备可选工作区(默认 shared),记忆/MCP 工具按工作区隔离,旧客户端零影响
  • 会话跨设备续接(P1-3) — 最近 5 条会话摘要 + "继续此会话",手机续接电脑端对话
  • 可选 TLS(P1-2) — 一键自签证书;外网访问 Caddy/Nginx 反代文档(docs/tls.md

🛠️ P2 — 运维闭环

  • 备份 / 恢复 API(P2-1) — 一键备份可下载;恢复前校验(SQLite 头 + 完整性检查)+ .pre-restore 安全兜底
  • 并发压测与报告(P2-2) — 可复跑压测脚本;实测 5/10/20 设备 0 错误、P95 ≤ 126ms、约 600 RPS、无锁冲突docs/load-report.md
  • 版本 / 升级检查(P2-3)/api/v1/version 探测最新版(1h 缓存,离线降级),启动页升级横幅

Quality

  • pytest 140 passed(本机 + 16G 双机),ruff 净 0,F/E9 门禁过,CI 双 workflow 全绿
  • 零信任破坏性爆破测试通过:认证边界 / 备份穿越 / 伪造恢复 / 工作区越权 / 超长输入 / 限流全部按预期拦截

Docs

  • 双语 README(新增 "Also in 0.2.0")、CHANGELOG、docs/tls.mddocs/load-report.md
  • 已收录于 awesome-deepseek-harness

Upgrading

v0.1.0 → v0.2.0:git pull && ./install.sh(数据与配置兼容,无需迁移)。

Thanks

Shout-out to our first stargazers — you starred the repo in its very first week, that means a lot: @longka2024 · @ychulin · @zhangpeihao

Feedback, issues and PRs are always welcome.

deepDDW 0.1.0 — First Formal Release

Choose a tag to compare

@ccch713 ccch713 released this 16 Aug 19:27

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.