Files
eryao/docs/references/divination-agent-api-reference.md
T

5.5 KiB

算卦 Agent API Reference

1. API Endpoint

  • URL: POST https://meeyao.com.cn/api/deepseek/chat
  • 认证: 需要通过 AuthInterceptor 注入用户 token

2. 请求结构

2.1 DeepSeekRequest (请求体)

data class DeepSeekRequest(
    val model: String = "deepseek-chat",
    val messages: List<DeepSeekMessage>,
    val temperature: Double = 0.7,
    val max_tokens: Int = 2048,
    val stream: Boolean = false
)

2.2 DeepSeekMessage

data class DeepSeekMessage(
    val role: String,      // "system" 或 "user"
    val content: String    // 系统提示词或用户提示词(含卦象JSON)
)

2.3 DivinationInfo (卦象信息 JSON)

data class DivinationInfo(
    // 用户信息
    val question: String,           // 用户问题
    val questionType: String,       // 问题类型 (如"事业"、"感情"、"健康")

    // 起卦时间信息
    val divinationTime: String,     // 起卦时间 "2024年06月01日 12:00"
    val yearGanZhi: String,         // 年干支 "甲子"
    val monthGanZhi: String,        // 月干支
    val dayGanZhi: String,          // 日干支
    val timeGanZhi: String,         // 时干支

    // 干支空亡信息
    val yearKongWang: String,       // 年空亡 "戌亥"
    val monthKongWang: String,      // 月空亡
    val dayKongWang: String,        // 日空亡
    val timeKongWang: String,       // 时空亡

    // 月建日辰信息
    val yueJian: String,            // 月建 "寅木"
    val riChen: String,             // 日辰 "午火"
    val yuePo: String,              // 月破
    val riChong: String,            // 日冲

    // 五行旺衰
    val wuXingStatuses: Map<String, String>,  // 五行旺相休囚死状态

    // 本卦信息
    val guaName: String,            // 卦名 "坤为地"
    val upperName: String,          // 上卦名称
    val lowerName: String,          // 下卦名称
    val worldPosition: Int,         // 世爻位置 (1-6)
    val responsePosition: Int,      // 应爻位置 (1-6)

    // 六爻信息
    val yaoInfoList: List<YaoDetailInfo>,

    // 变卦信息
    val hasChangingYao: Boolean,    // 是否有动爻
    val targetGuaName: String,       // 变卦名称
    val targetYaoInfoList: List<YaoDetailInfo>
)

2.4 YaoDetailInfo (爻详细信息)

data class YaoDetailInfo(
    val position: Int,          // 爻位置 (1-6: 初爻到上爻)
    val spiritName: String,     // 神煞 (龙/雀/勾/蛇/虎/玄)
    val relationName: String,   // 六亲 (兄弟/父母/官鬼/妻财/子孙)
    val tiganName: String,      // 地支 (子/丑/寅...)
    val elementName: String,    // 五行 (金/木/水/火/土)
    val isYang: Boolean,        // 阴阳属性
    val isChanging: Boolean,   // 是否为动爻
    val specialMark: String     // 特殊标记 (世/应/"")
)

3. 响应结构

3.1 DeepSeekResponse

data class DeepSeekResponse(
    val id: String,
    val choices: List<DeepSeekChoice>
)

data class DeepSeekChoice(
    val message: DeepSeekMessage?,  // 包含 AI 回复内容
    val finish_reason: String?
)

data class DeepSeekMessage(
    val role: String,
    val content: String            // AI 返回的解卦结果
)

4. 系统提示词 (System Prompt)

## 角色
你是一个六爻解卦专家,熟悉六爻解卦步骤以及给出对应的解卦结果...

## 输出格式要求
- 单独在最开头输出一句话概括卦象的吉凶
- 输出顺序:解卦结论、卦象重点、卦象建议、关键词
- 格式:解卦结论:1、… 2、…;卦象重点:1、… 2、…;卦象建议:1、… 2、…;关键词:…
- 关键词:三个四字成语

4.1 吉凶等级

等级 描述
上上签 卦象结果较好,完成某事容易或最终结果好
中上签 卦象结果一般,需很努力才能完成或效果一般
中下签 卦象结果较差,即使很努力也无法完成或结果不好

5. 字段说明

5.1 字段名与含义对照表

字段名 含义 示例
divinationTime 起卦时间 "2024年06月01日 12:00"
yearGanZhi 年柱天干地支 "甲子"
monthGanZhi 月柱天干地支 "丙寅"
dayGanZhi 日柱天干地支 "戊午"
timeGanZhi 时柱天干地支 "庚子"
yearKongWang 年柱空亡地支 "戌亥"
yueJian 月建 "寅木"
riChen 日辰 "午火"
yuePo 月破 "申金"
riChong 日冲 "子水"
guaName 本卦卦名 "坤为地"
upperName 上卦名称
lowerName 下卦名称
worldPosition 世爻位置 1-6
responsePosition 应爻位置 1-6
hasChangingYao 是否有动爻 true/false
targetGuaName 变卦卦名

5.2 六神 (spiritName)

神煞 含义
青龙
朱雀
勾陈
螣蛇
白虎
玄武

5.3 六亲 (relationName)

六亲 含义
兄弟
父母
官鬼
妻财
子孙

5.4 地支 (tiganName)

子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥

5.5 五行 (elementName)

金、木、水、火、土


6. Source

  • Android App: old/app/src/main/java/com/example/eryaoapp/api/DivinationRepository.kt
  • Request Models: old/app/src/main/java/com/example/eryaoapp/api/model/DivinationRequest.kt
  • API Service: old/app/src/main/java/com/example/eryaoapp/api/DeepSeekApiService.kt