zhangtony239

timeindex-skill-engine

TimeIndex 时间线日记:当用户通过自然语言提出模糊任务时,使用此技能来获取用户之前的相关操作记录。 用于理解用户意图、从时间线中检索上下文、生成 ToDo 列表,并调用相关技能脚本完成任务。

zhangtony239 2 Updated 1mo ago

Resources

15
GitHub

Install

npx skillscat add zhangtony239/timeindex

Install via the SkillsCat registry.

SKILL.md

TimeIndex 技能引擎

项目安装与卸载

详见 INSTALL.md

⚠️ 重要:守护进程安装/卸载方式

daemon_manage MCP 工具无法用于安装或卸载守护进程服务。原因:

  • OpenClaw 的 elevated 权限提升功能默认未配置,Agent 无法直接提权
  • MCP 工具运行在普通权限下,而 Windows 服务注册需要管理员权限

正确方式: Agent 必须通过 elevated exec(提权 shell)直接调用 nssm.exe 来注册/卸载 Windows 服务。

  • 安装:nssm install TimeIndex <python_path> -m daemon + 配置参数
  • 卸载:nssm stop TimeIndexnssm remove TimeIndex confirm

详细命令见 INSTALL.md

工作流

当用户通过自然语言提出模糊任务时,按以下流程执行:

1. 上下文检索

通过 MCP Server 提供的工具从 LanceDB 中检索初步日志,获取时间线指导。

使用 MCP 工具:

  • get_activities - 获取指定时间范围的日志摘要
  • query_by_tags - 根据标签查询相关活动记录

2. 意图确认

依据时间线,利用 LLM 推测任务 ToDo 的可能性,并向用户确认意图。

向用户展示:

  • 从时间线中观察到的活动模式
  • 推测的用户意图
  • 建议的 ToDo 列表

等待用户确认后继续。

3. 技能调用

确认 ToDo 后,动态加载并调用 .agents/skills/ 目录下相关的 Skill 脚本完成任务。

MCP 工具参考

TimeIndex 通过 MCP (Model Context Protocol) 协议提供标准化工具。

手动启动 MCP Server(不推荐)

uv run python mcp_server.py

get_activities - 获取时间范围日志

获取指定时间范围内的活动记录摘要。

参数:

参数 类型 必填 说明
timerange string 预设时间范围 (today, yesterday, week, month)
start string 开始时间 (ISO 格式,如 2024-01-01T10:00:00)
end string 结束时间 (ISO 格式)
limit int 返回记录数限制 (默认 50)

示例调用:

// 获取今天的活动记录
{"name": "get_activities", "arguments": {"timerange": "today", "limit": 20}}

// 获取指定时间范围的记录
{"name": "get_activities", "arguments": {"start": "2024-01-01T00:00:00", "end": "2024-01-02T00:00:00"}}

query_by_tags - 按标签查询

根据标签查询相关活动记录。

参数:

参数 类型 必填 说明
tags array[string] 要查询的标签列表
limit int 返回记录数限制 (默认 50)

示例调用:

// 查询包含 coding 标签的记录
{"name": "query_by_tags", "arguments": {"tags": ["coding"], "limit": 20}}

// 查询包含多个标签的记录(OR 关系)
{"name": "query_by_tags", "arguments": {"tags": ["coding", "meeting"]}}

daemon_manage - 守护进程管理

管理后台守护进程,负责 WMI 监控、LLM 意图推测和向量存储。

参数:

参数 类型 必填 说明
action string 操作类型 (install, uninstall, start, status)

示例调用:

// 启动守护进程
{"name": "daemon_manage", "arguments": {"action": "start"}}

// 查看守护进程状态
{"name": "daemon_manage", "arguments": {"action": "status"}}

config_manage - 配置管理

查看和修改系统配置。

参数:

参数 类型 必填 说明
key_value string 配置项,格式为 key:value。为空时显示当前配置并运行自检

示例调用:

// 查看当前配置并运行自检
{"name": "config_manage", "arguments": {}}

// 修改配置项
{"name": "config_manage", "arguments": {"key_value": "rag_timeout:7"}}

// 修改 LLM 服务地址
{"name": "config_manage", "arguments": {"key_value": "LLM_BASE_URL:http://localhost:11434/v1"}}

配置项说明:

  • global_blacklist: 全局进程黑名单(列表格式)
  • retag_rules: 重打标规则(字典格式)
  • rag_keepalive: RAG 日志生命周期模式 (默认: auto)
  • rag_timeout: RAG 日志超时阈值(天)
  • retag_mode: 重打标 CPU 空闲阈值
  • cpu_performance_weight: CPU 异构权重
  • LLM_BASE_URL: LLM API 地址 (默认: http://localhost:11434/v1)
  • LLM_API_KEY: LLM API 密钥 (默认: ollama)

doctor_check - 环境自检

检查系统环境,确保所有组件正常工作。

自检项目:

  • Ollama 服务连通性检查
  • LanceDB 数据库状态检查
  • WMI 权限检查

示例调用:

{"name": "doctor_check", "arguments": {}}

注意事项

  • 技能激活由 LLM 根据用户意图自动判断
  • 执行任何操作前,先向用户确认
  • 技能执行结果应反馈给用户
  • 守护进程相关操作可能需要管理员权限
  • 配置修改后需要重启守护进程才能生效