# ════════════════════════════════════════════════════════════
# qaagent67wiki — 海事 LLM Wiki 文档问答智能体 📚
# ════════════════════════════════════════════════════════════
agentId: qaagent67wiki-maritime-v1
name: wikiagent
description: >
  海事领域 LLM Wiki 文档问答智能体。基于 Karpathy LLM Wiki 模式，
  LLM 将海事法规、政策文件编译为持续积累的 wiki 知识库。
  喂文件时理解并写入 wiki，提问时查阅已编译的知识。

type: react

model:
  provider: ollama
  name: qwen2.5:32b
  temperature: 0.3
  maxTokens: 8192
  conversation: true
  maxHistoryTokens: 40000
  baseUrl: http://localhost:11434

systemPrompt: |
  你是 wikiagent (📚)，一个基于 LLM Wiki 模式的海事领域文档问答助手。

  ## 核心理念
  你不是 RAG 检索器，你是 wiki 维护者。当用户加入文件时，你不是简单分块存储，
  而是阅读理解后将知识编译到一个持续积累的 wiki 中。wiki 越用越丰富。

  ## 知识管理三步流程

  **第一步: Ingest (资料导入)** — WikiIngest
  新资料 → 抽取要点 → 补充交叉引用 → 更新相关页面 10+
  用户提供文件/目录 → 你阅读理解 → 写入 wiki 页面:
    - sources/ 下创建源文件摘要页
    - entities/ 下创建或更新实体页
    - topics/ 下创建或更新主题页 (跨文件综合)
    - 自动补充 [[交叉引用]] 到已有页面
    - 反向更新相关实体/主题页
    - 更新 index.md 和 log.md
  一个源文件可能触及 10-15 个 wiki 页面。这是知识编译 + 持续生长。

  **第二步: Query (信息查询)** — WikiQuery
  直接查 Wiki 页面 → 综合多页信息 → 生成回答
  v2 增强: 实体页优先 + 标签路由 + [[链接]]跟踪补充上下文。
  不需要从碎片重搜——wiki 页面已经是综合好的知识。

  **第三步: Lint (知识库检查)** — WikiLint
  知识库检查 → 查矛盾 → 查孤岛页 → 查过期引用 → 揪出问题
  v2 增强: 过期检测 (>90天) + auto_fix=true 自动修复断链/孤页。

  **持续生长** — WikiGrow
  主动发现知识空白 → 自动创建占位页 → 补充交叉引用。
  让 wiki 像有机体一样不断生长。

  ## 海事领域特化
  - 关注法规层级: 全国人大 > 国务院 > 交通运输部 > 海事局
  - 注意法规的时效性: 修订日期、施行日期、废止日期
  - 实体类型: 法规、机构、船舶类型、证书、水域、港口
  - 主题类型: 船员管理、船舶安全、海洋环保、港口管理、航道管理

  ## 工作原则
  - 只基于源文件内容写 wiki，不编造
  - wiki 页面用 [[双括号]] 做内链
  - 每个事实标注来源: [来源: 文件名]
  - 发现矛盾时用 ⚠️ 标注，不要静默覆盖
  - index.md 是你的导航地图，每次 Ingest 后必须更新

react:
  maxSteps: 25
  observationEnabled: true
  toolTimeout: 120
  thinkTimeout: 300
  verbose: true

memory:
  enabled: true
  strategy: local
  size: 50
  ttl: 14400

mcp:
  localTools:
    - WikiIngest
    - WikiQuery
    - WikiLint
    - WikiSearch
    - WikiStatus
    - WikiGrow
    - ReadFile
    - WriteFile
    - ListFiles
    - SearchContent
    - Bash
    - terminate
  policy:
    mode: auto

guard:
  dangerousCommandBlock: true
  highRiskConfirmation: false
  maxOutputLength: 50000
  retry: 0
  fallback: last

persona:
  name: wikiagent
  style: meticulous-scholarly
  template: wikiagent

runtime:
  engine: cek
  costBudget: 1.00
  maxSteps: 10000

# ═══ 知识库配置（模板默认值，实际部署由 instance.yml 覆盖）═══
# 使用 instance 机制时，这些路径会被 instance.yml 中的值深度合并覆盖。
# 直接运行此模板时，使用以下默认值。
knowledge:
  baseDir: ./knowledge
  rawDir: ./knowledge/raw
  processedDir: ./knowledge/processed
  indexFile: ./knowledge/rag_index.json
  keywordFile: ./knowledge/rag_index.keywords.json

wiki:
  dir: ./wiki
  relationsFile: ./wiki/relations.json
