Install
openclaw skills install @fish1981bimmer/changshu-dev-assistant昌叔专属软件开发助手 - 以达梦数据库工具为核心,专注SQL Server→达梦迁移、代码安全扫描、知识库搜索
openclaw skills install @fish1981bimmer/changshu-dev-assistant为昌叔量身定制的专属软件开发助手,以达梦数据库工具为核心,专注SQL Server→达梦迁移、代码安全扫描、知识库检索。
基于v2.3.0全面重构:删除6个stub/冗余脚本,重写全部6个核心模块,确保每个功能都真实可用。
# 兼容性检测
python3 scripts/dameng_tool.py check input.sql
# SQL优化
python3 scripts/dameng_tool.py optimize input.sql output.sql
# SQL Server→达梦转换
python3 scripts/dameng_tool.py convert input_dir output_dir schema_prefix
# SQL格式化
python3 scripts/dameng_tool.py sql format input.sql
# 达梦连接测试
python3 scripts/dameng_tool.py test connect host port user password
# 知识库tag搜索
python3 scripts/dameng_tool.py search "sql conversion" --path ~/wiki --type tags
# 安全+质量全扫描
python3 scripts/code_scanner.py /path/to/project
# 仅安全扫描
python3 scripts/code_scanner.py /path/to/project --security-only
# 仅质量分析
python3 scripts/code_scanner.py /path/to/project --quality-only
# 排除目录
python3 scripts/code_scanner.py /path/to/project --whitelist-dir tests --whitelist-dir docs
# 内容搜索
python3 scripts/knowledge_searcher.py content "达梦转换" --path ~/wiki
# Tag搜索
python3 scripts/knowledge_searcher.py tags "sql" "database" --path ~/wiki
# 语义搜索
python3 scripts/knowledge_searcher.py semantic "SQL Server迁移达梦" --path ~/wiki
# 交互式对话(接入LLM)
python3 scripts/changshu_assistant_main.py chat
# SQL子命令
python3 scripts/changshu_assistant_main.py sql analyze input.sql
python3 scripts/changshu_assistant_main.py sql optimize input.sql
python3 scripts/changshu_assistant_main.py sql check input.sql
python3 scripts/changshu_assistant_main.py sql convert input_dir output_dir prefix
python3 scripts/changshu_assistant_main.py sql format input.sql
python3 scripts/changshu_assistant_main.py sql connect host port user pass
# 扫描子命令
python3 scripts/changshu_assistant_main.py scan security /path/to/project
python3 scripts/changshu_assistant_main.py scan quality /path/to/project
# 搜索子命令
python3 scripts/changshu_assistant_main.py search content "关键词" --path ~/wiki
python3 scripts/changshu_assistant_main.py search tags "tag1" "tag2" --path ~/wiki
LLM配置方式:环境变量优先于config.yaml,不硬编码模型名/API地址。
export LLM_PROVIDER=openai # openai兼容格式(默认)/anthropic/custom
export LLM_API_KEY=*** # 勿明文写文件
export LLM_API_BASE=https://xxx/v1
export LLM_MODEL_NAME=your-model
# 模型使用统计
python3 scripts/model_monitor.py stats
# 推荐最佳模型
python3 scripts/model_monitor.py recommend
# Prompt模板使用
python3 scripts/prompt_template_manager.py list
python3 scripts/prompt_template_manager.py get code review
python3 scripts/prompt_template_manager.py render code review --var code="SELECT * FROM users" --var language=SQL
python3 scripts/prompt_template_manager.py add mycategory mytask "模板内容{var}" --desc "描述"
python3 scripts/prompt_template_manager.py delete mycategory mytask
changshu-dev-assistant/
├── SKILL.md
├── scripts/
│ ├── changshu_assistant_main.py # 主程序 v3.0 (交互+LLM+统一入口)
│ ├── dameng_tool.py # 达梦数据库工具 v3.0 (核心模块)
│ ├── code_scanner.py # 代码安全扫描+质量分析
│ ├── knowledge_searcher.py # 知识库搜索(中文分词+tag)
│ ├── model_monitor.py # 模型性能监控(持久化)
│ └── prompt_template_manager.py # Prompt模板管理(变量替换+CRUD)
├── templates/
│ └── config.example.yaml
├── references/
│ ├── dameng_database_guide.md
│ └── audit-2026-06-06.md
└── config/
└── (可选配置)
| 原脚本 | 删除原因 |
|---|---|
| code_generator.py | Stub — 只做文本插值,无智能代码生成 |
| ai_enhanced_client.py | Stub — API调用返回假数据,会污染主程序 |
| ai_model_selector.py | 冗余 — 与enhanced_client重复,功能过简 |
| test_automation_tool.py | 致命BUG — 文件以markdown标记开头无法执行 |
| test_automation_example.py | Stub — 仅打印说明文本 |
| test_automation_integration.py | 冗余 — 纯包装层无额外价值 |
ai_enhanced_client.py 的 _call_provider_api() 返回硬编码假字符串"这是模拟的AI响应"。主程序 try: from ai_enhanced_client import EnhancedLLMClient 优先使用它 → 一旦import成功,所有AI调用都返回假数据。原则:宁可不写模块也不要写返回假数据的模块——假数据模块会被import后污染真实流程。
v2.x的SKILL.md声称有"错误诊断系统"、"DevOps自动化"、"项目管理助手"等8大功能,但代码中没有一个实现。FAQ中的命令(diagnose-error, security-scan, docker-gen, cicd, project-plan)在代码中不存在。原则:SKILL.md只写已实现的功能,虚构功能描述会误导用户且增加维护债。
v2.x的main()调用assistant.init(), assistant.test_generate(), assistant.test_run(), assistant.test_analyze()但ChangshuAssistant类没有这些方法 → 运行直接AttributeError。原则:每次修改类接口后必须grep检查所有调用点。
v2.x有12个脚本但6个是stub/冗余,不如6个全部真实可用的脚本。原则:重构时优先删虚功能而不是加新功能——一个可信赖的小工具集比一堆半成品更有价值。
v3.0的LLMClient默认model_name为gpt-3.5-turbo,api_base回退到https://api.openai.com/v1和https://api.anthropic.com/v1;config.yaml明文暴露NVIDIA API Key;model_selection.json列出已淘汰模型(gemma-7b/mistral-7b/llama2-70b/yi-34b)且无代码引用。原则:
LLM_PROVIDER / LLM_API_KEY / LLM_API_BASE / LLM_MODEL_NAME