docs: rewrite README for v0.9.0

- Add Debug Subagent (Debug2Fix paper), DAG TaskCompiler (LLMCompiler),
  Prompt Optimizer (SICA), Reflexion persistence
- Remove all Ollama-specific mentions, generalize to "any OpenAI-compatible API"
- Add /multi command usage examples
- Update reference table with all 9 papers and their applications in KWCode
- Update project structure, test count (292), version badge
- Clean up tone, remove personal rant section

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Val-sss
2026-04-29 15:30:17 +08:00
parent 1266591951
commit 22773f6586

359
README.md
View File

@@ -9,8 +9,8 @@
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://python.org)
[![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Mac%20%7C%20Linux-lightgrey.svg)]()
[![Tests](https://img.shields.io/badge/Tests-282%2F282-brightgreen.svg)]()
[![Version](https://img.shields.io/badge/Version-0.7.0-blue.svg)]()
[![Tests](https://img.shields.io/badge/Tests-292%2F292-brightgreen.svg)]()
[![Version](https://img.shields.io/badge/Version-0.9.0-blue.svg)]()
</div>
@@ -18,47 +18,35 @@
## 为什么做这个
很多人问我为什不用ollama+claude code 还担心我不知道命令 教我怎么设置cc的本地api
我表达感谢🙏🏻🙏🏻🙏🏻世界上还是好人多
现有 coding agent 框架Claude Code、Cursor、OpenCode都是给强 LLM 设计的——靠模型的强推理能力调用工具、自主决策、完成任务。本地开源模型8B-30B做不到这些会出错会有幻觉。
也有人建议 用opencode做框架就行了呀
KWCode 的思路不同:**LLM 只做分类和生成,确定性流水线做决策和验证。** 专家系统承载领域知识,飞轮从使用中自动积累经验。小模型只需要在极小的 context 里做一件明确的事。
我觉得如果真的给本地模型用 现阶段这些框架不太合适
因为我理解这些框架都是给强llm用的他要能用他强推理能力调用工具、推理、测试、找问题然后完成整个项目。而参数低的本地开源模型做不到会出错会有幻觉。
这也是为什么现在那么多人一说本地模型就觉得垃圾。
我很好奇 为什么不用moe框架呢llm只负责gate专家组来完成任务llm根据自然语言指令分派专家这个能力10b以上模型应该都是有的。然后只要优化专家完善体验小模型跑赢大模型机会是有的呀。
我还想了一个方案我用opus经常找不到解决方案我就让他webserch然后就有思路了那我只要coding agent配备强大搜索引擎搞不定的问题问google 问github问axvir不就有解决方案了吗所以我弄了个搜索引擎做辅助不过搜索引擎写得是屎山代码别介意
所以我觉得只要把问题摆出来都有方案可以解决。最受不了群嘲好像我是呆子似的不知道30b模型体验没opus好。我一个月六七千token费我会不知道算了 不说了,介绍项目:
### 本地模型跑 Coding Agent有五个核心痛点
### 本地模型跑 Coding Agent 的五个核心痛点
**痛点一:上下文爆炸**
小模型窗口只有 8K-32K。对话几轮后 context 塞满,模型开始胡说。现有工具没有上下文管理,用着用着就废了。
小模型窗口只有 8K-32K。对话几轮后 context 塞满,模型开始胡说。
> KWCode 解法:**纯算法上下文压缩**(头尾保留 + 中间关键词提取,<10ms自动在 context 快满时压缩历史对话。你能一直聊下去,不会突然变傻。
> KWCode 解法:**纯算法上下文压缩**(头尾保留 + 中间关键词提取,<10ms自动在 context 快满时压缩历史对话。
**痛点二:错误重复回复**
**痛点二:错误重复**
小模型修 bug 失败后,用同样的方式再试一遍,三次机会全浪费在同一个错误上。
> KWCode 解法:**三阶段重试策略**——第一次正常描述,第二次从错误信息出发,第三次最小化修改。每次重试前先做 ReflectionLLM 一句话分析上次为什么失败),绝不重复同样的错。失败模式还会记录到 PATTERN.md下次遇到类似任务直接提高风险等级
> KWCode 解法:**三阶段重试 + Reflection + Debug Subagent**——第一次正常描述,第二次从错误信息出发(注入运行时调试数据),第三次最小化修改。每次重试前先做 ReflectionLLM 分析上次为什么失败)+ Debug Subagentsys.settrace 捕获真实变量值),绝不重复同样的错。
**痛点三:不能调用工具**
大部分本地 agent 框架只能生成代码文本,不能真正执行命令、读写文件、跑测试。生成的代码对不对,全靠人肉验证。
大部分本地 agent 框架只能生成代码文本,不能真正执行命令、读写文件、跑测试。
> KWCode 解法:**内置 5 个确定性工具**read_file / write_file / run_bash / list_dir / gitGenerator 生成 patch 后 Verifier 自动执行语法检查 + pytest失败立即重试。不是"建议你跑一下测试",而是真的帮你跑了。
> KWCode 解法:**内置 5 个确定性工具**read_file / write_file / run_bash / list_dir / gitGenerator 生成 patch 后 Verifier 自动执行语法检查 + pytest失败立即重试。
**痛点四:数据安全**
Claude Code、Cursor 把代码发到海外服务器。公司代码、内网项目走不通。
> KWCode 解法:**全部本地运行**,代码不出你的电脑。模型跑在 Ollama,搜索跑在本地 SearXNG统计数据存本地 SQLite。零网络依赖搜索增强可选
> KWCode 解法:**全部本地运行**,代码不出你的电脑。模型跑在本地,搜索跑在本地 SearXNG统计数据存本地 SQLite。零网络依赖搜索增强可选
**痛点五:代码定位靠猜**
@@ -74,83 +62,95 @@ Claude Code、Cursor 把代码发到海外服务器。公司代码、内网项
**理论来源**AgentlessICSE 2025——确定性流水线在 SWE-bench 上同时达到最高通过率和最低成本,优于复杂 agent 架构。
不让 LLM 自主决定下一步,而是走确定性的专家流水线:
```
用户输入
└─► Gate 任务分类,毫秒级路由
└─► Locator 精准定位文件和函数BM25+调用图不调LLM
└─► Generator 只生成修改部分从文件读originalLLM只写modified
└─► Verifier 语法检查 + pytest 自动验证
└─► SearchAugmentor 失败时自动搜索补充信息
└─► DebugSubagent 失败时捕获运行时变量值
└─► SearchAugmentor 搜索补充信息
```
小模型只需要在极小的 context 里做一件明确的事。失误可以被及时发现和纠正,不会滚雪球。
---
### 原理二BM25 + AST 调用图定位(核心差异化)
### 原理二BM25 + AST 调用图定位
**理论来源**
- CodeCompassarXiv:2602.200482026258 次实验证明隐藏依赖任务G3类图遍历准确率 **99.4%** vs BM25 **76.2%**,相差 23.2 个百分点
- KGCompassarXiv:2503.217102025SWE-bench Lite 成功率 **58.3%**89.7% 的成功定位来自多跳图遍历
- CodeCompassarXiv:2602.200482026图遍历 G3 任务准确率 **99.4%** vs BM25 **76.2%**
- KGCompassarXiv:2503.217102025SWE-bench Lite 成功率 **58.3%**
**什么是 G3 类任务**bug 所在的文件名和函数名,与错误描述没有任何关键词重叠,只能通过调用链追踪发现。这是真实项目里最常见、最难定位的一类 bug。
**KWCode 的两阶段检索**
**两阶段检索**
```
用户描述 "修复登录失败的 bug"
├─► 阶段1BM25 关键词召回(毫秒级,不调 LLM
│ 从代码库所有函数/类中,按关键词相关性
│ 召回 top-20 候选函数
└─► 阶段2AST 调用图展开(毫秒级,不调 LLM
对每个候选函数,沿调用图向上向下各展开 2 跳
发现那些名字和 bug 毫无关联但实际是根因的隐藏函数
结果:精准的相关函数集合,直接注入 Generator
沿调用链追踪隐藏依赖
```
技术实现:`tree-sitter` 多语言 AST + `rank-bm25` + `SQLite` 调用图持久化。不需要 Neo4j不需要 Docker不需要 embedding 模型。
技术实现:`tree-sitter` 多语言 AST + `rank-bm25` + `SQLite` 调用图持久化。
支持语言Python已完成· JavaScript/TypeScript/Java/Go/Rust规划中
### 原理三Debug Subagent运行时调试
---
### 原理三:专家飞轮(越用越懂你的项目)
**理论来源**EE-MCPNeurIPS 2025——从任务执行轨迹自动提取经验验证可显著提升后续同类任务成功率。
KWCode 的专家会随使用自动生长:
**理论来源**Debug2FixMicrosoftICML 2026——弱模型 + 交互式调试器 > 强模型裸跑。GPT-5 + Debug2Fix 匹配 Claude Sonnet 基线性能。
```
第1天15 个预置专家开箱即用
Verifier 失败
└─► LLM 决定断点位置和要检查的变量
└─► sys.settrace 非侵入式捕获运行时变量值
└─► 真实调试数据注入下一轮 Generator retry
```
不用交互式 PDB不修改源文件。用 `sys.settrace` 在目标行捕获变量值,失败时 fallback 到 `pytest --tb=long` 获取完整堆栈。
### 原理四DAG 多任务编排
**理论来源**LLMCompilerICML 2024——任务分解 + 并行调度显著提升复杂任务完成率。
KWCode 实现了轻量 DAG 调度器零新依赖ThreadPoolExecutor + Kahn 拓扑排序):
```
/multi task1 ; task2 ; task3 ← 全部并行
/multi task1 -> task2 -> task3 ← 串行链
/multi ← 交互式混合
+ 给函数add加注释 (并行)
+ 给函数sub加注释 (并行)
+ >给修改后的代码写测试 (串行,依赖上面两个)
```
### 原理五:专家飞轮 + Prompt 自动优化
**理论来源**
- EE-MCPNeurIPS 2025——从任务轨迹自动提取经验
- SICAarXiv:2504.15228)——自我改进编码代理
- Reflexion——失败模式持久化
```
使用过程中,飞轮在后台静默积累:
同类任务成功 ≥5 次 → 触发专家草稿生成
回测门:新专家成功率 ≥ 原流水线
AB 测试门10 次真实对比,提升 >10%
三道门全过 → 专家正式投产,弹出通知
三道门全过 → 专家正式投产
一个月后:你的项目有了专属专家池
Prompt Optimizer可选需 Anthropic API key
分析成功轨迹 → 生成经验规则 → 追加到专家 YAML system_prompt
下次同类任务 Generator 拿到更准确的领域知识
```
专家可以导出分享:
### 原理六Reflexion 持久化
```bash
kwcode expert export SpringBootExpert
# → SpringBootExpert-1.0.0.kwx
失败不白费。每次任务完成后(成功/失败),结构化记录到 `REFLECTION.md`
kwcode expert install path/to/Vue3Expert.kwx
```
## bugfix 失败模式
- [2026-04-29] JWT验证失败 → 根因token过期时间单位错误
## codegen 注意事项
- [2026-04-29] FastAPI路由 → 注意必须include_router
```
---
`/plan` 时自动读取历史 Reflection 作为风险提示,避免重蹈覆辙。
### 原理:模型能力自适应
KWCode 是全球唯一针对本地小模型能力差异做自适应的 coding agent。
### 原理:模型能力自适应
| 模型规模 | 自动策略 |
|---------|---------|
@@ -158,8 +158,6 @@ KWCode 是全球唯一针对本地小模型能力差异做自适应的 coding ag
| 10-30Bqwen3:14b | 可选计划 · 任务范围≤4文件 · 第2次失败触发搜索 |
| >30Bqwen3:72b | 宽松策略 · 任务范围≤8文件 · 自动处理复杂任务 |
切换模型,策略自动切换,无需配置。
---
## 功能特性
@@ -167,34 +165,36 @@ KWCode 是全球唯一针对本地小模型能力差异做自适应的 coding ag
### 代码能力
- BM25 + 调用图两阶段定位G3 隐藏依赖准确率 99.4%(论文验证)
- Generator 只改必要部分,从文件读 originalLLM 只生成 modified
- 三阶段重试:正常描述 → 从错误出发 → 最小化修改,不重复同样的错
- Reflection 机制:第一次失败先分析根因再重试
- 三阶段重试 + Reflection + Debug Subagent,不重复同样的错
- Cross-Encoder 搜索结果重排(可选,`pip install kwcode[rerank]`
### 多任务执行
- `/multi` 命令:串行(依赖链)+ 并行(独立任务)混合执行
- DAG 拓扑排序 + ThreadPoolExecutor 并行调度
- 依赖上下文自动注入:前置任务结果传递给后续任务
### 流程控制
- `/plan 计划模式`:显示执行步骤+风险等级High/Medium/Low确认后才动文件
- `Checkpoint 快照`:任务开始前自动备份,失败一键还原,降级建议
- `KWCODE.md 项目规则`:写项目约定,按任务类型分段注入,永远不忘
- `Checkpoint 快照`:任务开始前自动备份,失败一键还原
- `KWCODE.md 项目规则`:写项目约定,按任务类型分段注入
### 知识积累
- 三层记忆PROJECT.md(项目结构)/ EXPERT.md(专家记录)/ PATTERN.md(失败模式)
- 非代码文件读取PDF 需求文档 / Word 规范 / MarkdownBM25 匹配相关段落注入
- 失败模式记录:历史失败积累,/plan 时作为风险评估依据
- 三层记忆PROJECT.md / EXPERT.md / PATTERN.md
- Reflexion 持久化REFLECTION.md 结构化记录失败模式和注意事项
- 非代码文件读取PDF / Word / MDBM25 匹配相关段落注入
### 搜索增强
- 默认 DuckDuckGo零配置pip install 就能用
- 可选 SearXNG 自部署:`kwcode setup-search` 一键安装,数据完全不出网
- 四级内容提取trafilatura → newspaper3k → readabilipy → BeautifulSoup
- 并行搜索 + BM25 重排:结果质量优先
- 默认 DuckDuckGo零配置
- 可选 SearXNG 自部署:`kwcode setup-search` 一键安装
- 四级内容提取 + BM25 重排 + Cross-Encoder 精排
- 意图感知:代码/论文/包/debug 自动优化搜索词
### Office 文档
- Excelopenpyxl 样式模板,深色表头,斑马纹,公式,冻结首行
- PPTpython-pptx商务配色三明治结构不用默认白底
- Wordpython-docx中文首行缩进规范字体表格样式
- Excel / PPT / Word 生成
### 价值可见
- `kwcode stats`:完成任务数、节省时间估算、专属专家数
- 飞轮通知:专家投产时弹出,显示成功率提升和速度对比
- `kwcode stats`:完成任务数、节省时间估算
- 飞轮通知:专家投产时弹出
- 里程碑提醒:完成 50/100/200 个任务时自动汇报
### 中国本地化
@@ -215,12 +215,12 @@ KWCode 是全球唯一针对本地小模型能力差异做自适应的 coding ag
| 数据安全 | ❌ 代码上传云端 | ✅ 本地 | ✅ 本地 |
| Windows 原生 | ✅ | ❌ 仅 WSL2 | ✅ |
| 小模型专家流水线 | ❌ | ❌ | ✅ 独有 |
| 模型能力自适应 | ❌ | ❌ | ✅ 独有 |
| 运行时调试Debug Subagent | ❌ | ❌ | ✅ 独有 |
| 多任务串并行 | ❌ | ❌ | ✅ 独有 |
| AST 调用图定位 | ❌ | ❌ | ✅ 独有 |
| 专家飞轮三道门 | ❌ | ❌ | ✅ 独有 |
| 专家飞轮 + Prompt 自动优化 | ❌ | ❌ | ✅ 独有 |
| /plan 风险评估 | ✅ | ❌ | ✅ |
| Checkpoint 回滚 | ✅ | ❌ | ✅ |
| 非代码文件读取 | 部分 | ❌ | ✅ |
| 价值量化仪表盘 | ❌ | ❌ | ✅ 独有 |
| 开源 | ❌ | ✅ MIT | ✅ MIT |
@@ -231,12 +231,12 @@ KWCode 是全球唯一针对本地小模型能力差异做自适应的 coding ag
### 系统要求
- Python 3.10+
- 任意 OpenAI 兼容 API本地 Ollama / DeepSeek / 硅基流动 / Qwen 云端 等)
- 任意 OpenAI 兼容 API本地模型 / DeepSeek / 硅基流动 / Qwen 云端 等)
- Docker可选用于 SearXNG 搜索增强)
| 使用方式 | 说明 |
|---------|------|
| 本地模型 | 安装 [Ollama](https://ollama.com/download),拉取 qwen3:8b 等模型 |
| 本地模型 | 安装本地推理引擎,拉取 qwen3:8b 等模型 |
| 云端 API | `/api default https://api.deepseek.com your-key`,无需本地显卡 |
本地模型显存参考:
@@ -257,6 +257,9 @@ pip install kwcode
# 国内加速:
pip install kwcode -i https://pypi.tuna.tsinghua.edu.cn/simple
# 可选Cross-Encoder 搜索重排
pip install kwcode[rerank]
# 启动
kwcode
```
@@ -274,7 +277,7 @@ kwcode
kwcode setup-search
```
需要 Docker Desktop 已安装并运行。会自动拉取 SearXNG 镜像(约 200MB并启动容器。不装也能用,默认走 DuckDuckGo 搜索。
需要 Docker Desktop 已安装并运行。会自动拉取 SearXNG 镜像并启动容器。不装也能用,默认走 DuckDuckGo 搜索。
---
@@ -294,6 +297,27 @@ kwcode
> 把 calculate_price 拆成更小的函数
```
### 多任务模式
```
> /multi 给函数add加注释 ; 给函数sub加注释 ; 给函数mul加注释
```
三个任务并行执行。用 `->` 表示串行依赖:
```
> /multi 重构extract_data函数 -> 给新函数写测试
```
交互式输入(`>` 前缀表示依赖前面的任务):
```
> /multi
+ 给函数add加注释
+ 给函数sub加注释
+ >给修改后的代码写测试
```
### 单次执行
```bash
@@ -305,42 +329,24 @@ kwcode --plan "重构数据库连接层"
```
/plan <任务> 计划模式,显示步骤和风险后再执行
/model qwen3:14b 切换模型
/api API 配置(见下方说明)
/experts 查看已注册专家
/memory 查看项目记忆
/init 初始化项目规则文件
/cd <路径> 切换项目目录
/help 显示帮助
/multi 多任务模式(串行+并行)
/model qwen3:14b 切换模型
/api API 配置
/experts 查看已注册专家
/memory 查看项目记忆
/init 初始化项目规则文件
/cd <路径> 切换项目目录
/help 显示帮助
```
### 接入任意 API
KWCode 支持任何 OpenAI 兼容的 API包括 DeepSeek、Qwen 云端、硅基流动、零一万物、Groq 等。
**临时切换**(当前窗口有效,关掉就恢复):
```
/api temp https://api.deepseek.com your-api-key
/api temp https://api.siliconflow.cn/v1 your-api-key
```
**永久保存**(写入配置文件,下次启动自动使用):
```
/api default https://api.deepseek.com your-api-key
```
**查看当前配置**
```
/api show
```
也可以在启动时通过命令行指定:
```bash
kwcode --ollama-url https://api.deepseek.com
/api temp https://api.deepseek.com your-api-key # 临时切换
/api default https://api.deepseek.com your-api-key # 永久保存
/api show # 查看当前配置
```
### 项目规则文件
@@ -363,32 +369,6 @@ kwcode --ollama-url https://api.deepseek.com
KWCode 启动时自动加载,按任务类型注入对应规则。
### Office 文档生成
```
> 做一个季度销售报表 Excel包含月份、销售额、环比增长
> 做一个项目汇报 PPT商务风格5页
> 写一份技术方案 Word包含架构图描述和接口设计
```
### 专家管理
```bash
kwcode expert list # 查看所有专家
kwcode expert info BugFix # 查看专家详情
kwcode expert export BugFix # 导出为 .kwx 文件
kwcode expert install path/to/x.kwx # 安装外部专家
kwcode expert create MyExpert # 创建自定义专家
```
### 价值报告
```bash
kwcode stats
```
显示过去 30 天的任务完成数、节省时间估算、最活跃专家。数据仅存本地。
---
## 开发者安装
@@ -398,50 +378,58 @@ git clone https://github.com/val1813/kwcode.git
cd kwcode
pip install -e ".[dev]"
python -m pytest kaiwu/tests/ -v --ignore=kaiwu/tests/bench_tasks
# 282 tests should pass
# 292 tests should pass
```
### 项目结构
```
kaiwu/
├── cli/main.py # CLI 入口REPLspinner结果摘要
├── cli/main.py # CLI 入口REPL/multi 命令
├── core/
│ ├── gate.py # LLM 任务分类
│ ├── orchestrator.py # 确定性流水线编排
│ ├── task_compiler.py # DAG 多任务调度器
│ ├── planner.py # /plan 计划模式 + 风险评估
│ ├── checkpoint.py # 文件快照git stash / 文件复制)
│ ├── kwcode_md.py # KWCODE.md 规则加载
│ ├── checkpoint.py # 文件快照
│ └── model_capability.py # 模型能力自适应
├── experts/
│ ├── locator.py # BM25 + 调用图定位
│ ├── generator.py # 代码生成(只改必要部分)
│ ├── verifier.py # 语法检查 + pytest
── search_augmentor.py # 搜索增强 + BM25 重排
── debug_subagent.py # 运行时调试sys.settrace
│ └── search_augmentor.py # 搜索增强 + BM25 + CE 重排
├── search/
│ ├── reranker.py # Cross-Encoder 可选重排
│ ├── duckduckgo.py # SearXNG + DDG 并行搜索
│ ├── extraction_pipeline.py # 四级内容提取
│ └── intent_classifier.py # 意图感知分类
├── knowledge/doc_reader.py # PDF/Word/MD 文档读取
├── flywheel/ # 专家飞轮轨迹→模式→生成→AB测试
├── registry/ # 专家注册表 + .kwx 打包
├── memory/ # 三层记忆系统
├── flywheel/
│ ├── trajectory_collector.py # 轨迹记录
│ ├── pattern_detector.py # 模式检测Gate 1
│ ├── ab_tester.py # 三道门验证
│ └── prompt_optimizer.py # YAML system_prompt 自动优化
├── memory/
│ └── pattern_md.py # PATTERN.md + REFLECTION.md
├── registry/ # 15 个预置 YAML 专家
├── ast_engine/ # tree-sitter AST + 调用图
── notification/ # 飞轮通知
├── stats/ # 价值量化SQLite
└── llm/ # Ollama + llama.cpp 双后端
── stats/ # 价值量化SQLite
```
---
## 参考文献
1. **Agentless**Xia et al. *ICSE 2025* — 确定性流水线优于复杂 agent
2. **CodeCompass***arXiv:2602.20048, 2026* — 图遍历 G3 任务 99.4% vs BM25 76.2%
3. **KGCompass**Yang et al. *arXiv:2503.21710, 2025* — SWE-bench Lite 58.3%
4. **AgentCoder**Huang et al. *EMNLP 2023* — 多专家分工验证
5. **EE-MCP***NeurIPS 2025* — 任务轨迹经验提取机制
6. **Agent Psychometrics***arXiv:2604.00594, 2026* — 任务特征预测 agent 成功率
| 论文 | 会议 | KWCode 中的应用 |
|------|------|----------------|
| Agentless | ICSE 2025 | 确定性流水线优于复杂 agent |
| CodeCompass | arXiv:2602.20048, 2026 | 图遍历 G3 任务 99.4% |
| KGCompass | arXiv:2503.21710, 2025 | 多跳图遍历定位 |
| Debug2Fix | ICML 2026 | 弱模型+调试器 > 强模型裸跑 |
| LLMCompiler | ICML 2024 | DAG 任务分解+并行调度 |
| EE-MCP | NeurIPS 2025 | 任务轨迹经验提取 |
| SICA | arXiv:2504.15228 | 自我改进编码代理 |
| AgentCoder | EMNLP 2023 | 多专家分工验证 |
| Reflexion | NeurIPS 2023 | 失败模式持久化 |
---
@@ -449,8 +437,6 @@ kaiwu/
**KWCode 是中国开发者做的,也需要中国开发者一起来完善。**
不管你在北京还是新加坡,在上海还是旧金山,只要你是华人开发者,都欢迎参与。
### 最需要的贡献
**新增预置专家**(最简单,编辑一个 YAML 文件):
@@ -462,43 +448,18 @@ K8sExpert / DockerExpert / RedisExpert / MySQLExpert
```
```bash
kwcode expert create MyExpert
# 用自己真实项目测试 ≥5 个任务,跑通率 ≥80%
# 提 PR
kwcode expert create MyExpert # 生成模板
# 编辑 ~/.kaiwu/experts/MyExpert.yaml
# 提 PR
```
**语言支持扩展**PHP · C# · Kotlin · Swift · DartAST 调用图)
**B 站视频教程 / 技术博客**
### 贡献流程
```bash
git clone https://github.com/val1813/kwcode.git
cd kwcode
pip install -e ".[dev]"
python -m pytest kaiwu/tests/ -v --ignore=kaiwu/tests/bench_tasks
git checkout -b feat/your-feature
# 开发 → 测试 → PR
```
**Issues**Bug 报告、功能建议
**Discussions**:技术讨论、专家设计
**其他贡献方向**
- 多语言 AST 支持JavaScript/TypeScript/Java/Go
- bench_tasks 补齐bugfix 类、跨文件类)
- 文档翻译(英文 README
---
## License
MIT — 自由使用、修改、分发。
---
<div align="center">
**如果 KWCode 对你有帮助,请给一个 ⭐**
这不只是一个工具,是华人开发者社区共同的技术资产。
*天工开物 · KWCode*
</div>
MIT