wip deepseek
This commit is contained in:
@@ -540,12 +540,7 @@ namespace AnotherReplayReader.Utils
|
||||
|
||||
// Check 3: UnitId used as builder vs claim
|
||||
var isBuilderInReplay = factIndex.BuilderUnitIds.Contains(unitId);
|
||||
var claimLooksLikeBuilder = claim.Claim.IndexOf("MCV", StringComparison.OrdinalIgnoreCase) >= 0
|
||||
|| claim.Claim.IndexOf("基地车", StringComparison.OrdinalIgnoreCase) >= 0
|
||||
|| claim.Claim.IndexOf("Nanocore", StringComparison.OrdinalIgnoreCase) >= 0
|
||||
|| claim.Claim.IndexOf("纳米核心", StringComparison.OrdinalIgnoreCase) >= 0
|
||||
|| claim.Claim.IndexOf("builder", StringComparison.OrdinalIgnoreCase) >= 0
|
||||
|| claim.Claim.IndexOf("建造者", StringComparison.OrdinalIgnoreCase) >= 0;
|
||||
var claimLooksLikeBuilder = ClaimLooksLikeBuilder(claim.Claim);
|
||||
if (claimLooksLikeBuilder && !isBuilderInReplay)
|
||||
{
|
||||
issues.Add(new AIValidationIssue(
|
||||
@@ -651,5 +646,31 @@ namespace AnotherReplayReader.Utils
|
||||
}
|
||||
return result.ToImmutableArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if a claim text describes a builder unit (MCV, Nanocore, etc.).
|
||||
/// Uses structured knowledge (knowledge_units.json) when available, falls
|
||||
/// back to heuristic string matching for backward compatibility.
|
||||
/// </summary>
|
||||
private static bool ClaimLooksLikeBuilder(string claimText)
|
||||
{
|
||||
// Primary: structured knowledge lookup
|
||||
var structured = StructuredKnowledge.Instance;
|
||||
if (structured is not null)
|
||||
{
|
||||
foreach (var entity in structured.AllEntities)
|
||||
{
|
||||
if (entity.HasTag(KnowledgeTag.Builder) &&
|
||||
claimText.IndexOf(entity.AssetName, StringComparison.OrdinalIgnoreCase) >= 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback: heuristic string matching
|
||||
var keywords = new[] { "MCV", "基地车", "Nanocore", "纳米核心", "builder", "建造者" };
|
||||
return keywords.Any(kw => claimText.IndexOf(kw, StringComparison.OrdinalIgnoreCase) >= 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user