自然语言日期

👤 周 📦 v1.0.0 ⭐ 4.4 ⬇️ 110 下载
💻 开发编程 免费

📖 技能介绍


name: chrono-follow-date slug: prd20263897 displayName: 自然语言日期 version: 1.0.0 summary: 用 chrono-node 解析「下周五下午三点」等跟进时间,本地不请求后端。 license: MIT description: 用 chrono-node 在浏览器内把「明天」「下周五下午三点」等自然语言解析为跟进时间。当用户需要自然语言日期、chrono-node、跟进时间口语解析、下周五三点时使用。

本技能来自小葱技能站7w4.net。


自然语言日期(chrono-node)

灵感:能力工具箱 chrono-date(pkg: chrono-node)。

把跟进备注里的口语时间(如「下周五下午三点」「后天上午」)解析为 Date,用于预约跟进、日历写入,本地完成、不请求后端。

何时使用

  • 粘贴/输入「明天下午三点跟进」类文本
  • 快速填跟进时间,不想手点日期面板
  • 需要中文相对日期(昨天/今天/明天/下周)

硬约束

  1. 依赖 chrono-node;中文场景使用中文 locale(如 zh 解析器),不要只用默认英文。
  2. 解析失败返回 { ok: false, reason },禁止静默写成 Invalid Date
  3. 以「参考时刻」refDate(默认 new Date())解释相对词;时区用运行环境本地时区并在 UI 标明。
  4. 多段匹配时优先取第一条或让用户确认;结果同时给 iso 与可读文案。
  5. 不发起网络请求;不把整段聊天上传第三方。

推荐实现要点

import * as chrono from 'chrono-node'

/** 中文优先;若包版本导出不同,改为项目文档推荐的 zh 入口 */
const zh = (chrono as any).zh?.casual || chrono.casual

export function parseFollowWhen(
  text: string,
  refDate: Date = new Date(),
): { ok: true; date: Date; iso: string; text: string } | { ok: false; reason: string } {
  const hit = zh.parse(text.trim(), refDate, { forwardDate: true })[0]
  if (!hit) return { ok: false, reason: '未识别到时间表达' }
  const date = hit.start.date()
  if (Number.isNaN(date.getTime())) return { ok: false, reason: '时间无效' }
  return {
    ok: true,
    date,
    iso: date.toISOString(),
    text: hit.text,
  }
}

// 示例:parseFollowWhen('下周五下午三点提醒我')

Agent 步骤

  1. 接入 chrono-node 中文解析,封装 parseFollowWhen
  2. 自测:「明天」「下周五下午三点」「3天后」;无时间句应失败。
  3. UI:解析成功写入日期时间控件,并展示「已识别:xxx」。

附加

🤖 AI 评测

这个 Skill 能帮你把“明天下午三点”这样的口语日期转换成具体时间。文档写得很清楚,告诉你什么时候用、要注意什么,错误处理也有明确要求。不过它目前只提供说明文档,没有可以直接运行的代码,需要懂一些技术才能使用。适合需要这种日期解析功能的开发者,不适合完全没有技术背景的普通用户直接使用。

📊 多维度评分

适应性4.3
规范性4
有效性4.4
可靠性4.3
可信度5

📁 包含文件 (4 个)

📄 README.md 846 B
📄 SKILL.md 2.6 KB
📄 reference.md 510 B
📄 templates/usage.md 225 B