[{"data":1,"prerenderedAt":263},["ShallowReactive",2],{"ki-code-radar-repository-opencode-5711":3},{"schemaVersion":4,"dataset":5,"generatedAt":6,"trackingSince":7,"source":8,"coverage":15,"methodology":23,"kind":39,"entity":40},"ki-code-radar\u002Fv1","german-public-sector-ai-code-radar","2026-07-19T07:21:04.623Z","2026-07-18T20:36:34.579Z",{"platform":9,"host":10,"catalogueUrl":11,"apiUrl":12,"guideUrl":13,"publicProjectCount":14},"openCode","gitlab.opencode.de","https:\u002F\u002Fgitlab.opencode.de\u002Fexplore\u002Fprojects","https:\u002F\u002Fgitlab.opencode.de\u002Fapi\u002Fv4","https:\u002F\u002Fguide.opencode.de\u002Fen\u002Fsoftwareverzeichnis\u002F",3317,{"discoveryCandidateCount":16,"scannedCandidateCount":16,"completeTreeCount":17,"incompleteTreeCount":18,"evidenceRepositoryCount":19,"complete":20,"candidateDiscovery":21,"evidenceThreshold":22},58,56,2,30,false,"exact_ai_terms_in_project_name_path_description_or_topics","exact_allowlisted_manifest_dependency_or_container_coordinate",{"projectIdentity":24,"snapshotIdentity":25,"fileIdentity":26,"descriptionKeywordsUsedForDiscovery":27,"descriptionKeywordsUsedForClassification":20,"fuzzyMatchingUsed":20,"generativeAiUsed":20,"deploymentInference":20,"observationBoundary":28,"parserVersion":29,"manifestAllowlist":30,"lockfilesCollected":20,"generatedOrVendorDirectoriesExcluded":27,"perRepositoryTreeEntryCeiling":38},"exact_opencode_gitlab_project_id","exact_default_branch_commit_sha","exact_git_blob_sha_and_path",true,"first_and_last_observation_are_collection_bounds_not_exact_upstream_change_times","3",[31,32,33,34,35,36,37],"publiccode.yml (root only; publisher metadata, not code evidence)","pyproject.toml","requirements.txt \u002F requirements-*.txt \u002F requirements.in","package.json","Dockerfile* \u002F Containerfile*","compose.yml \u002F compose.yaml \u002F docker-compose.yml \u002F docker-compose.yaml","Helm values.yml \u002F values.yaml beside Chart.yaml",2000,"repository",{"id":41,"slug":42,"gitlabProjectId":43,"namespaceId":44,"namespaceFullPath":45,"name":46,"pathWithNamespace":47,"description":48,"webUrl":49,"visibility":50,"createdAt":51,"lastActivityAt":52,"defaultBranch":53,"commitSha":54,"commitUrl":55,"headCommittedAt":56,"archived":20,"topics":57,"publiccodePresent":20,"publiccode":58,"evidenceCount":60,"technologyCount":61,"evidenceKinds":62,"technologies":64,"evidence":111,"tree":260,"firstObservedAt":7,"lastObservedAt":6},"opencode:5711","opencode-5711",5711,15512,"f13\u002Fmicroservices","Chat","f13\u002Fmicroservices\u002Fchat","Chat-Microservice mit lokal deployten oder extern verfügbaren Sprachmodellen","https:\u002F\u002Fgitlab.opencode.de\u002Ff13\u002Fmicroservices\u002Fchat","public","2025-07-08T13:26:29.081Z","2026-07-17T14:54:38.218Z","dev","a93870fdf9bd76e9b0e5000a4c35906b58dc77d5","https:\u002F\u002Fgitlab.opencode.de\u002Ff13\u002Fmicroservices\u002Fchat\u002F-\u002Fcommit\u002Fa93870fdf9bd76e9b0e5000a4c35906b58dc77d5","2026-07-13T14:12:05.000Z",[],{"present":20,"aiClaim":20,"version":59,"sourceUrl":59},null,28,10,[63],"manifest_dependency",[65,72,76,80,84,88,92,97,102,106],{"id":66,"slug":67,"identity":66,"label":68,"category":69,"ecosystem":70,"evidenceCount":71},"pypi:langchain","langchain-2b3b6a0b","LangChain","orchestration","python",3,{"id":73,"slug":74,"identity":73,"label":75,"category":69,"ecosystem":70,"evidenceCount":71},"pypi:langchain-linkup","langchain-linkup-d50e0d4b","LangChain · Linkup",{"id":77,"slug":78,"identity":77,"label":79,"category":69,"ecosystem":70,"evidenceCount":71},"pypi:langchain-mcp-adapters","langchain-mcp-adapters-1c0e13c7","LangChain · MCP Adapters",{"id":81,"slug":82,"identity":81,"label":83,"category":69,"ecosystem":70,"evidenceCount":71},"pypi:langchain-tavily","langchain-tavily-432e1c93","LangChain · Tavily",{"id":85,"slug":86,"identity":85,"label":87,"category":69,"ecosystem":70,"evidenceCount":71},"pypi:langchain-core","langchain-core-82117efb","LangChain Core",{"id":89,"slug":90,"identity":89,"label":91,"category":69,"ecosystem":70,"evidenceCount":71},"pypi:langchain-openai","langchain-openai-4985188e","LangChain OpenAI",{"id":93,"slug":94,"identity":93,"label":95,"category":96,"ecosystem":70,"evidenceCount":71},"pypi:langgraph","langgraph-6c1c645e","LangGraph","agents",{"id":98,"slug":99,"identity":98,"label":100,"category":101,"ecosystem":70,"evidenceCount":71},"pypi:openai","openai-0dd26ac5","OpenAI SDK","model-api",{"id":103,"slug":104,"identity":103,"label":105,"category":69,"ecosystem":70,"evidenceCount":18},"pypi:langchain-protocol","langchain-protocol-2715aeed","LangChain · Protocol",{"id":107,"slug":108,"identity":107,"label":109,"category":110,"ecosystem":70,"evidenceCount":18},"pypi:tiktoken","tiktoken-06b251a3","tiktoken","tokenization",[112,124,131,140,146,150,155,161,165,169,174,178,182,188,192,197,202,207,212,216,220,226,230,235,241,245,250,256],{"id":113,"stableKey":114,"kind":63,"identity":66,"label":68,"category":69,"ecosystem":70,"version":115,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":120,"parserVersion":29,"ruleId":121,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:f6d88b6ad3b91fea06800b7e","5711|requirements-dev.txt|pypi:langchain|manifest_dependency|runtime|false","==1.3.8","requirements-dev.txt","python-requirements","cb5de92f20847716cb1365424c1487ef7737c5a3","8dc3ab10acda52e99874bc0ed247f919b08b6e80343a666ed2e6d522c0971b5b",132,"pypi-langchain","runtime","https:\u002F\u002Fgitlab.opencode.de\u002Ff13\u002Fmicroservices\u002Fchat\u002F-\u002Fblob\u002Fa93870fdf9bd76e9b0e5000a4c35906b58dc77d5\u002Frequirements-dev.txt",{"id":125,"stableKey":126,"kind":63,"identity":66,"label":68,"category":69,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":61,"parserVersion":29,"ruleId":121,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:07b2354a22436b0a42a4ca50","5711|requirements.in|pypi:langchain|manifest_dependency|runtime|true","requirements.in","fed9436b0a478e57f17b776c81a1c60b24318aea","e772beba6fd60e3acd642a4b3da9d4578cf2e119521928692c45e6a700eb4745","https:\u002F\u002Fgitlab.opencode.de\u002Ff13\u002Fmicroservices\u002Fchat\u002F-\u002Fblob\u002Fa93870fdf9bd76e9b0e5000a4c35906b58dc77d5\u002Frequirements.in",{"id":132,"stableKey":133,"kind":63,"identity":66,"label":68,"category":69,"ecosystem":70,"version":134,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":138,"parserVersion":29,"ruleId":121,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:f4c77286326e345ecf693d06","5711|requirements.txt|pypi:langchain|manifest_dependency|runtime|false","==1.3.11","requirements.txt","a6eda97cd26e2e09417c240a3db1e9a304e099d2","76d221b1d7c79496f7d7c75342ef187cf18b5a4d11c48923f02aaf71ca5b5245",91,"https:\u002F\u002Fgitlab.opencode.de\u002Ff13\u002Fmicroservices\u002Fchat\u002F-\u002Fblob\u002Fa93870fdf9bd76e9b0e5000a4c35906b58dc77d5\u002Frequirements.txt",{"id":141,"stableKey":142,"kind":63,"identity":85,"label":87,"category":69,"ecosystem":70,"version":143,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":144,"parserVersion":29,"ruleId":145,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:c5e277919e36085878434fdf","5711|requirements-dev.txt|pypi:langchain-core|manifest_dependency|runtime|false","==1.4.6",136,"pypi-langchain-core",{"id":147,"stableKey":148,"kind":63,"identity":85,"label":87,"category":69,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":149,"parserVersion":29,"ruleId":145,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:2a61eaead8a2876e5afc3b39","5711|requirements.in|pypi:langchain-core|manifest_dependency|runtime|true",12,{"id":151,"stableKey":152,"kind":63,"identity":85,"label":87,"category":69,"ecosystem":70,"version":153,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":154,"parserVersion":29,"ruleId":145,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:f773f34ac73a22b3c39e2ec0","5711|requirements.txt|pypi:langchain-core|manifest_dependency|runtime|false","==1.4.8",95,{"id":156,"stableKey":157,"kind":63,"identity":73,"label":75,"category":69,"ecosystem":70,"version":158,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":159,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:af96f6b8d4c531fdf6f1c864","5711|requirements-dev.txt|pypi:langchain-linkup|manifest_dependency|runtime|false","==0.2.1",148,"pypi-langchain-family",{"id":162,"stableKey":163,"kind":63,"identity":73,"label":75,"category":69,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":164,"parserVersion":29,"ruleId":160,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:9a010e57ebc9be99adee19eb","5711|requirements.in|pypi:langchain-linkup|manifest_dependency|runtime|true",14,{"id":166,"stableKey":167,"kind":63,"identity":73,"label":75,"category":69,"ecosystem":70,"version":158,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":168,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:69bd2a7390c57ffb430d5089","5711|requirements.txt|pypi:langchain-linkup|manifest_dependency|runtime|false",107,{"id":170,"stableKey":171,"kind":63,"identity":77,"label":79,"category":69,"ecosystem":70,"version":172,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":173,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:89c23e0355a8fc43b804ee8f","5711|requirements-dev.txt|pypi:langchain-mcp-adapters|manifest_dependency|runtime|false","==0.3.0",150,{"id":175,"stableKey":176,"kind":63,"identity":77,"label":79,"category":69,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":177,"parserVersion":29,"ruleId":160,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:0c81d0454e19f21a229ad596","5711|requirements.in|pypi:langchain-mcp-adapters|manifest_dependency|runtime|true",15,{"id":179,"stableKey":180,"kind":63,"identity":77,"label":79,"category":69,"ecosystem":70,"version":172,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":181,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:09ba916fbb725ba77ef24085","5711|requirements.txt|pypi:langchain-mcp-adapters|manifest_dependency|runtime|false",109,{"id":183,"stableKey":184,"kind":63,"identity":89,"label":91,"category":69,"ecosystem":70,"version":185,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":186,"parserVersion":29,"ruleId":187,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:46862909f156df22cc538d00","5711|requirements-dev.txt|pypi:langchain-openai|manifest_dependency|runtime|false","==1.3.0",152,"pypi-langchain-openai",{"id":189,"stableKey":190,"kind":63,"identity":89,"label":91,"category":69,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":191,"parserVersion":29,"ruleId":187,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:d5651cb0cbdf3da274fdd166","5711|requirements.in|pypi:langchain-openai|manifest_dependency|runtime|true",11,{"id":193,"stableKey":194,"kind":63,"identity":89,"label":91,"category":69,"ecosystem":70,"version":195,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":196,"parserVersion":29,"ruleId":187,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:d4717170eade96d43e27b9fb","5711|requirements.txt|pypi:langchain-openai|manifest_dependency|runtime|false","==1.3.3",111,{"id":198,"stableKey":199,"kind":63,"identity":103,"label":105,"category":69,"ecosystem":70,"version":200,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":201,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:d748371d72ac3232c670141e","5711|requirements-dev.txt|pypi:langchain-protocol|manifest_dependency|runtime|false","==0.0.16",154,{"id":203,"stableKey":204,"kind":63,"identity":103,"label":105,"category":69,"ecosystem":70,"version":205,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":206,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:d2e04a5795b4f89e478bb1b6","5711|requirements.txt|pypi:langchain-protocol|manifest_dependency|runtime|false","==0.0.18",113,{"id":208,"stableKey":209,"kind":63,"identity":81,"label":83,"category":69,"ecosystem":70,"version":210,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":211,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:5e69b476e76a3e3ef64fd93c","5711|requirements-dev.txt|pypi:langchain-tavily|manifest_dependency|runtime|false","==0.2.18",158,{"id":213,"stableKey":214,"kind":63,"identity":81,"label":83,"category":69,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":215,"parserVersion":29,"ruleId":160,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:0c520d2486af19209c5efa97","5711|requirements.in|pypi:langchain-tavily|manifest_dependency|runtime|true",13,{"id":217,"stableKey":218,"kind":63,"identity":81,"label":83,"category":69,"ecosystem":70,"version":210,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":219,"parserVersion":29,"ruleId":160,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:4952257a259b5f687416ff7d","5711|requirements.txt|pypi:langchain-tavily|manifest_dependency|runtime|false",117,{"id":221,"stableKey":222,"kind":63,"identity":93,"label":95,"category":96,"ecosystem":70,"version":223,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":224,"parserVersion":29,"ruleId":225,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:806d82ab44239cca51bb6774","5711|requirements-dev.txt|pypi:langgraph|manifest_dependency|runtime|false","==1.2.4",160,"pypi-langgraph",{"id":227,"stableKey":228,"kind":63,"identity":93,"label":95,"category":96,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":229,"parserVersion":29,"ruleId":225,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:164d1510eee98894bb57609e","5711|requirements.in|pypi:langgraph|manifest_dependency|runtime|true",16,{"id":231,"stableKey":232,"kind":63,"identity":93,"label":95,"category":96,"ecosystem":70,"version":233,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":234,"parserVersion":29,"ruleId":225,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:b88a56186b0e88f6b3ee45fe","5711|requirements.txt|pypi:langgraph|manifest_dependency|runtime|false","==1.2.7",119,{"id":236,"stableKey":237,"kind":63,"identity":98,"label":100,"category":101,"ecosystem":70,"version":238,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":239,"parserVersion":29,"ruleId":240,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:555ecf2b2d09f1546251abcd","5711|requirements-dev.txt|pypi:openai|manifest_dependency|runtime|false","==2.41.1",192,"pypi-openai",{"id":242,"stableKey":243,"kind":63,"identity":98,"label":100,"category":101,"ecosystem":70,"version":59,"filePath":127,"manifestType":117,"blobSha":128,"contentSha256":129,"line":244,"parserVersion":29,"ruleId":240,"direct":27,"scope":122,"sourceUrl":130,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:b621b3b61629ede6656078b7","5711|requirements.in|pypi:openai|manifest_dependency|runtime|true",1,{"id":246,"stableKey":247,"kind":63,"identity":98,"label":100,"category":101,"ecosystem":70,"version":248,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":249,"parserVersion":29,"ruleId":240,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:553b9e7af357bf9ace1a5eed","5711|requirements.txt|pypi:openai|manifest_dependency|runtime|false","==2.44.0",143,{"id":251,"stableKey":252,"kind":63,"identity":107,"label":109,"category":110,"ecosystem":70,"version":253,"filePath":116,"manifestType":117,"blobSha":118,"contentSha256":119,"line":254,"parserVersion":29,"ruleId":255,"direct":20,"scope":122,"sourceUrl":123,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:7dfc3e631e24da96d1df0d4c","5711|requirements-dev.txt|pypi:tiktoken|manifest_dependency|runtime|false","==0.13.0",330,"pypi-tiktoken",{"id":257,"stableKey":258,"kind":63,"identity":107,"label":109,"category":110,"ecosystem":70,"version":253,"filePath":135,"manifestType":117,"blobSha":136,"contentSha256":137,"line":259,"parserVersion":29,"ruleId":255,"direct":20,"scope":122,"sourceUrl":139,"commitSha":54,"firstObservedAt":7,"lastObservedAt":6},"evidence:d4c262722a66cb04f6a19676","5711|requirements.txt|pypi:tiktoken|manifest_dependency|runtime|false",224,{"complete":27,"entryCount":261,"manifestCount":262,"truncated":20},133,8,1784445977219]