Files
kwcode/STATUS.md
Val-sss 7f2f74fbb6 feat: DAG task compiler + prompt optimizer, remove Python expert system
- Add TaskCompiler (kaiwu/core/task_compiler.py): lightweight DAG scheduler
  with ThreadPoolExecutor + topological sort for serial/parallel multi-task
- Add PromptOptimizer (kaiwu/flywheel/prompt_optimizer.py): analyzes trajectories
  via Opus/Sonnet API, appends learned rules to expert YAML system_prompt
- Add Cross-Encoder reranker (kaiwu/search/reranker.py): optional BM25+CE pipeline
- Add Reflexion persistence (kaiwu/memory/pattern_md.py): REFLECTION.md structured
  pattern memory with /plan integration
- Remove Python expert system (ExpertBase, BugFixExpert.py, SelfImprovingOptimizer)
- Revert registry to YAML-only loading
- Remove _get_python_expert/_run_python_expert from orchestrator
- Replace run_self_improvement with run_prompt_optimization in ab_tester
- 277 tests passing (265 regression + 12 new task_compiler tests)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 11:12:13 +08:00

8.3 KiB
Raw Blame History

KWCode 项目状态记录

项目路径D:\program\codeagent2604\kwcode GitHubhttps://github.com/val1813/kwcode 启动日期2026-04-26 目标:本地模型 coding agent通过确定性专家流水线让本地模型达到最高任务完成率


当前状态v0.8.0 (2026-04-29)

全部功能已实现265/265 单元/回归测试全绿。自我强化专家系统已集成。

v0.8.0 新增:自我强化专家系统

Python专家升级

  • ExpertBase基类experts/base.py_locate/_generate/_verify三阶段helper
  • BugFixExpert Python版本builtin_experts/bugfix_expert.pyTRIGGER+run()+test()三段式
  • Registry支持Python专家加载Python优先级高于同名yaml
  • SE-RED-1保护TRIGGER和test()不可被LLM修改

SelfImprovingOptimizer飞轮自我强化

  • 积累5次成功轨迹 → Opus/Sonnet API分析 → 生成新run()代码
  • 三道门验证:语法检查 → 后端测试(test()) → 回测
  • SE-RED-3修改前备份失败自动回滚
  • SE-RED-4离线执行不在用户任务流程中
  • FLEX-1无API key时跳过基本功能不受影响

Reflexion持久化

  • 任务完成后(成功/失败自动写入REFLECTION.md
  • SE-RED-5结构化格式日期+摘要+根因/注意)
  • /plan时自动读取历史Reflection作为风险提示
  • 每section最多20条防止无限增长

Cross-Encoder搜索重排

  • search/reranker.pycross-encoder/ms-marco-MiniLM-L-6-v282MB CPU
  • 集成到搜索管道BM25重排后再Cross-Encoder精排
  • FLEX-2sentence-transformers未安装或CPU慢(>2s)时自动跳过
  • 可选依赖:pip install kwcode[rerank]

已完成功能清单

MVP 核心流水线

  • Gate LLM分类 → 6种流水线路由locator_repair/codegen/refactor/doc/office/chat
  • BM25+AST调用图两阶段定位零LLM毫秒级
  • Generator 从文件读originalLLM只生成modified
  • Verifier 语法检查 + pytest 自动验证
  • 三阶段重试(正常→从错误出发→最小化修改)+ Reflection根因分析
  • 5个确定性工具read_file/write_file/run_bash/list_dir/git

P1 四大功能v0.5.0

  • KWCODE.md 项目规则文件(分段加载+按任务类型注入+token上限15%
  • /plan 计划模式 + 三档风险评估High/Medium/Low基于历史失败记录
  • Checkpoint 文件快照git stash主路径+文件复制兜底+失败自动还原+降级建议)
  • 非代码文件读取PDF/Word/MD/TXT + BM25Plus段落匹配 + Locator自动注入

P2 三大功能v0.6.0

  • 模型能力自适应SMALL/MEDIUM/LARGE三档策略自动检测小模型强制plan
  • 飞轮可见性通知专家投产Panel+积累进度+里程碑,不打断任务)
  • 价值量化仪表盘SQLite本地统计+kwcode stats命令+启动周报)

搜索模块重构v0.6.1

  • 四级内容提取管道trafilatura→newspaper→readabilipy→soup质量评分选最佳
  • SearXNG + DDG 并行搜索ThreadPoolExecutor + URL去重合并
  • kwcode setup-search 一键安装SearXNG

意图感知搜索v0.6.2

  • 意图分类器增强5类意图+关键词扩充+LLM fallback语义分类
  • ChatExpert搜索门控follow-up/推理不搜索,实时数据始终搜索)
  • QueryGenerator按意图生成更精准搜索词
  • BM25Plus搜索结果重排

UI全面优化v0.7.0

  • 删掉所有机器内部信息logger只写~/.kwcode/kwcode.logwarnings静默
  • 执行过程spinner动画rich.progresstransient=True完成后消失
  • 完成后用户友好结果摘要(修改文件+改动bullet+测试结果)
  • 重影大字KAIWU Header + 状态栏深色背景
  • kwcode setup-search 一键安装SearXNG搜索引擎

其他

  • 专家注册表15个预置专家YAML + .kwx导入导出
  • 专家飞轮三道门轨迹→模式检测→回测→AB测试→投产
  • 3层记忆系统PROJECT.md/EXPERT.md/PATTERN.md
  • Office文档生成Excel/PPT/Word
  • MCP Routerkwcode serve-mcp
  • 上下文压缩(纯算法,头尾保留+中间关键词提取,<10ms
  • 中文分词BM25DocReader CJK tokenizer
  • /api 命令(临时/永久切换任意OpenAI兼容API

E2E 验收结果2026-04-28gemma3:4b

  • P1: KWCODE.md注入✓ /plan风险评估✓ Checkpoint还原✓ DocReader注入✓ (8/8)
  • P2: 模型自适应(4b→SMALL)✓ 飞轮通知✓ ValueTracker✓ (6/6)
  • 集成: Gate分类✓ Chat流水线✓ Codegen流水线(2.9s)✓ (3/3)

测试统计

类别 数量 状态
核心单元测试 38 PASS
回归测试 173 PASS
P1 功能测试 33 PASS
P2 功能测试 21 PASS
搜索重构测试 19 PASS
意图搜索测试 19 PASS
E2E 真实模型 17 PASS
合计 282 全绿

待做

  1. SQLite 跨 session 查询spec §7.1 kaiwu.db
  2. 12 个预置专家完整 benchmark目前只跑了 BugFix+TestGen
  3. 实时数据API提示注入codegen涉及天气/股价时prompt注入免费API信息避免模型编造假数据
  4. 多语言AST支持JavaScript/TypeScript/Java/Go/Rust 调用图)
  5. pip publish 到 PyPI
  6. install.ps1 / install.sh 一键安装脚本

已知问题

  • qwen3-vl:8b 所有输出在thinking字段content为空已加thinking提取
  • reasoning模型Gate调用慢8x multiplier
  • SearXNG需要Docker Desktop无Docker时降级到DDG
  • codegen生成网页时模型可能用Math.random()假数据需实时数据API提示注入

文件结构

kwcode/
├── pyproject.toml
├── README.md / README_zh.md
├── STATUS.md
└── kaiwu/
    ├── cli/
    │   ├── main.py              # REPL + spinner + 结果摘要 + 重影Header + setup-search
    │   ├── status_bar.py        # 状态栏(4档自适应) + TokPerSecEstimator
    │   └── onboarding.py        # 首次启动引导
    ├── core/
    │   ├── gate.py              # LLM任务分类 → 专家知识叠加
    │   ├── orchestrator.py      # 确定性流水线 + KWCODE.md注入 + Checkpoint + ValueTracker
    │   ├── context.py           # TaskContext数据类
    │   ├── planner.py           # /plan计划模式 + 风险评估
    │   ├── checkpoint.py        # 文件快照(git stash/文件复制)
    │   ├── kwcode_md.py         # KWCODE.md分段加载+注入
    │   ├── model_capability.py  # 模型三档自适应(SMALL/MEDIUM/LARGE)
    │   ├── context_pruner.py    # 上下文压缩(纯算法,<10ms)
    │   ├── network.py           # 网络探测+代理配置
    │   └── sysinfo.py           # 系统信息+VRAM监控
    ├── experts/
    │   ├── locator.py           # BM25+调用图定位 + DocReader注入
    │   ├── generator.py         # 代码生成(original从文件读LLM只写modified)
    │   ├── verifier.py          # 语法检查 + pytest
    │   ├── search_augmentor.py  # 搜索增强 + BM25重排
    │   ├── chat_expert.py       # 聊天(搜索门控follow-up/推理不搜)
    │   └── office_handler.py    # Office文档生成
    ├── search/
    │   ├── duckduckgo.py        # SearXNG+DDG并行搜索
    │   ├── extraction_pipeline.py  # 四级内容提取
    │   ├── intent_classifier.py # 意图感知(5类+LLM fallback)
    │   ├── query_generator.py   # 按意图生成搜索词
    │   ├── content_fetcher.py   # 薄封装→extraction_pipeline
    │   └── quality_filter.py    # 域名黑白名单
    ├── knowledge/doc_reader.py  # PDF/Word/MD读取 + CJK分词BM25
    ├── flywheel/                # 轨迹→模式→生成→AB测试→投产
    ├── registry/                # 专家注册表 + .kwx打包
    ├── notification/            # 飞轮通知(expert_born/progress/milestone)
    ├── stats/                   # 价值量化(SQLite)
    ├── memory/                  # 三层记忆(PROJECT/EXPERT/PATTERN)
    ├── ast_engine/              # tree-sitter AST + 调用图(SQLite)
    ├── mcp/                     # MCP Router
    ├── llm/                     # Ollama + llama.cpp双后端
    ├── tools/                   # 5个确定性工具
    └── tests/                   # 282个测试