v0.7.0: P1+P2+搜索重构+UI全面优化

P1: KWCODE.md规则注入、/plan风险评估、Checkpoint快照、DocReader
P2: 模型能力自适应、飞轮通知、价值量化仪表盘
搜索: 四级提取管道、并行搜索+BM25重排、意图感知、ChatExpert门控
UI: spinner动画、结果摘要、静默日志、重影大字Header
新增: kwcode setup-search 一键安装SearXNG
测试: 282/282 PASS (含17个E2E真实模型测试)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Val-sss
2026-04-28 17:52:59 +08:00
parent 65cdf9818f
commit c6197d0316
161 changed files with 27699 additions and 1225 deletions

View File

@@ -0,0 +1,22 @@
"""Tests for user service."""
import pytest
from src.service import register, get_user
def test_register():
result = register("alice", "alice@test.com", "secret123")
assert result["username"] == "alice"
assert result["email"] == "alice@test.com"
assert result["is_active"] is True
def test_register_no_password_leak():
result = register("bob", "bob@test.com", "mypassword")
assert "password" not in result, "password should not be in user dict"
def test_get_user():
register("charlie", "charlie@test.com", "pass456")
result = get_user("charlie")
assert result["username"] == "charlie"
assert "password" not in result, "password should not be in user dict"