693cd952cd6decd9cfb45432ea42f613c03e7ee0
仓库首次入库(此前仅存在于本地工作区与测试服构建产物中,未上传)。 改动(src/knowledge_adapter/asset_content_processor.py): - 新增 _TRUNCATED_TRAILING_MARKDOWN_RESOURCE_IMAGE 规则,清除 chunk 末尾被截断的  - 回归测试 tests/test_asset_content_processor.py:: test_truncated_trailing_markdown_resource_image_is_removed 验证证据: - 测试服 120.76.217.51,镜像 knowledge-adapter-service:reviewed-test-aeab4b5fca2d (release aeab4b5fca2d8661):KB d015d05c-25c8-4d63-b2ab-e8590d3c2dfb 5 个查询全部 http=200、records=5、残留 resource:// = 0;KB b9dacd62 无退化;容器日志无 error/exception - 本地:pytest 141 项全通过、ruff 全通过 - 该文件与 258c31e0fe07fd08 源码的差异经逐文件 md5 比对,为唯一变更文件
Knowledge Adapter Service
Small Python 3.12/FastAPI adapter for Dify External Knowledge retrieval through an existing WeKnora deployment, with stable UUID image URLs backed by a Private Alibaba Cloud OSS bucket.
Status
Slices 1–8 provide implementation, automated tests, and prepared delivery artifacts. Production deployment is not authorized. Slice 9 must complete real test-environment Dify → Adapter → WeKnora → OSS E2E and produce an audit report before a production decision.
Documentation
- Architecture
- Security model
- Test deployment and rollback
- Key and credential rotation
- Slice 9 verification and E2E audit
Local validation
make check
Compose rendering requires an external non-secret env file:
make compose-config ENV_FILE=/absolute/path/to/adapter.env
Neither target starts containers. image-build is explicit and requires Docker access; no target deploys or modifies production.
Description
Languages
Python
96.6%
Shell
2.2%
Dockerfile
0.5%
Makefile
0.4%
PLpgSQL
0.3%