deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
析问是一个面向中文业务问数的开源 Data Agent。它把人工维护的表、字段和指标语义层,与 Qdrant 向量召回、Elasticsearch 枚举值召回及固定的 SQL 生成链路结合起来,将自然语言业务问题转换为 MySQL 分析查询。
本项目仍处于早期开发阶段,适合本地验证和二次开发;生产部署前请完成权限隔离、安全审计和真实数据集评估。
Vue 3 工作台 / DeepSeek Harness 插件
│ HTTP + SSE
▼
FastAPI / LangGraph
│
┌────────────────┼────────────────┐
▼ ▼ ▼
MySQL 元数据与数仓 Qdrant 字段/指标 Elasticsearch 枚举值
│
▼
Embedding + LLM 服务
DeepSeek Harness 适配层位于 plugins/dsh-xiwen,只负责把 xiwen_query 工具请求转发给析问服务;它不会安装或托管 Python 后端及其数据依赖。
data-agent/ Python 3.12+ / FastAPI 后端
data-agent-fronted/ Vue 3 / Vite 工作台(保留历史目录名)
plugins/dsh-xiwen/ DeepSeek Harness 插件适配层
docs/ 项目计划与补充文档
BAAI/bge-large-zh-v1.5 模型文件,或可替代的兼容 Embedding 服务复制示例配置并填写本地连接信息。活动配置 data-agent/conf/app_config.yaml 已被 Git 忽略,请勿提交其中的密码或 Token。
cd data-agent
cp .env.example .env
cp conf/app_config.example.yaml conf/app_config.yaml
.env 为 Docker Compose 提供本地 MySQL 凭据,app_config.yaml 中的元数据库和只读数仓账号必须与其保持一致。MySQL 初始化脚本只会在新数据卷首次创建时配置 xiwen_meta 和 xiwen_readonly;已有数据卷需要手动创建这两个账号,或在备份数据后主动重建。
至少需要配置 llm.model_name、llm.base_url 和 llm.api_key。远程部署还应设置非空的 api.auth_token。示例配置中的占位密码不能用于生产环境;应用层认证不能替代 TLS 和网络访问控制。
Embedding 容器默认从以下目录读取模型,模型权重不会进入 Git:
data-agent/docker/embedding/models/bge-large-zh-v1.5
cd data-agent
docker compose up -d
uv sync
uv run python main.py
python main.py 默认绑定 0.0.0.0:8000,本机可通过 http://127.0.0.1:8000 访问。若不需要局域网访问,请改用仅绑定 127.0.0.1 的 Uvicorn 启动参数。首次问数前,需要在工作台中确认数据源和语义配置,并完成一次知识构建。
cd data-agent-fronted
npm install
npm run dev
Vite 开发服务器通常监听 http://127.0.0.1:5173,并将 /api 转发到后端的 8000 端口。
更完整的链路和配置说明见 data-agent/docs/技术架构.md。
插件 0.1.0 已发布到 npm,也可以从本地检出或本地 tarball 安装,并通过独立的 Harness profile 启用:
dsh plugin --profile xiwen add @kaiwangleo/dsh-xiwen@0.1.0
dsh --profile xiwen --dump-config
本地检出安装仍可使用:
npm --prefix plugins/dsh-xiwen ci
npm --prefix plugins/dsh-xiwen run build
dsh plugin --profile xiwen add ./plugins/dsh-xiwen
安装、配置、安全边界和卸载方法见 plugins/dsh-xiwen/README.md。
示例只包含本机地址和明显的占位凭据。请通过受控的本地配置或密钥管理系统提供真实凭据。
本项目采用 MIT License。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。