WorkLogger工作日志

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

> 在日常对话中识别工作待办事项,并创建结构化数据库记录和管理

一句话选型结论

按资料字段整理

WorkLogger工作日志是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_2e992522/work-logger
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_2e992522仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791715295
正文体量13.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
WorkLogger工作日志当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

13.8 KB
模型实际读到的说明书原文,来自技能仓库

工作日志记录系统

概述

通过微信消息记录工作日志,支持智能识别输入内容,自动分类存储,支持查询和报告生成。

存储位置

  • Linux: ~/worklog/
  • Windows: C:\Users\<当前用户>\Documents\worklog\

首次触发时自动检测并初始化目录和数据库,无需手动操作。

worklog/
├── worklog.db              ← SQLite 索引库
├── daily/                  ← 每日日志
├── weekly/                 ← 周报
├── monthly/                ← 月报
└── templates/              ← 报告模板(用户自定义)

数据库结构

CREATE TABLE IF NOT EXISTS tasks (
    id TEXT PRIMARY KEY,           -- 格式: YYYYMMDD-NNN
    title TEXT NOT NULL,           -- 简要标题
    status TEXT DEFAULT 'todo',    -- todo / in_progress / done / blocked
    category TEXT,                 -- 分类编码,见 references/categories.md
    blocked_reason TEXT,           -- 阻塞原因(status=blocked 时填写)
    created_at DATETIME,           -- 初次记录时间
    updated_at DATETIME,           -- 最新更新时间
    completed_at DATETIME          -- 完成时间(未完成为NULL)
);

工作分类

分类定义在 references/categories.md,用户可增删改。

默认分类:COORD(对接协调)、TECH(技术支持)、ACCESS(权限申请)、DOC(材料撰写)、PROC(流程/规范)、MEET(会议)、TRAIN(培训)、APPROVE(审批)、DATA(数据/报表)、OTHER(其他)

AI 根据用户消息自动推断分类,不确定时使用 OTHER。

首次使用时提示用户:
> 工作分类已预设10种常见类型(对接协调、技术支持、权限申请等)。你可以随时让我增删改分类,比如"加上一个【项目管理】分类"或"把【培训】删掉"。

用户输入识别

意图 典型表达 处理
新增待办 "有个任务"、"帮xxx做"、"xxx要做"、"未来要xxx" → 新增流程
完成工作 "xxx搞定了"、"xxx完成了" → 完成流程
进展更新 "xxx已经xxx"、"xxx在推进" → 更新流程
删除/作废 "xxx不用做了"、"xxx取消了" → 删除流程
查询日志 "我今天做了什么"、"和xxx的工作" → 查询流程
生成报告 "生成周报"、"月报" → 报告流程

语音输入处理: 用户可能通过微信语音转文字输入,文字可能有错别字或口语化表达。识别意图时要宽容匹配,不理解时主动询问。

日志记录流程

新增待办

  1. 从消息中提取:标题、分类(推断,参考 categories.md)
  2. 生成 id(从数据库查当日最大序号 +1,当日无记录则为 001)
  3. 写入 worklog.db,状态默认 todo
  4. 追加到当日 daily/YYYY-MM-DD.md
  5. 查询当前所有未完成条目,附在回复中
  6. 回复确认 + 未完成清单

回复格式:

✅ 已记录:{标题}({id})

📋 当前待办(X项):

🔴 {id} | {标题} | {分类中文名}

🟡 {id} | {标题} | {分类中文名}

注意:
1. 分类使用中文名称(如"对接协调"、"技术支持"),不要使用编码(如COORD、TECH)。
2. 待办列表每条之间用双换行(\n\n)分隔,确保微信 PC 客户端正确换行。
3. "已记录"与"当前待办"标题之间也是双换行。
4. "当前待办"标题与第一条待办之间也是双换行。

完成工作

  1. 从消息中匹配已有条目
    - 优先匹配当日未完成条目
    - 模糊匹配标题关键词
    - 匹配不到时,列出当前所有未完成条目供用户选择
  2. 更新数据库:status → done,设置 completed_at
  3. 在当日 daily/ .md 中追加完成记录
  4. 查询剩余未完成条目,附在回复中
  5. 回复确认 + 未完成清单

回复格式:

🎉 已完成:{标题}({id})

📋 当前待办(X项):
...

进展更新

  1. 匹配已有条目(同完成流程的匹配逻辑)
  2. 更新数据库 updated_at
  3. 在当日 daily/ .md 中追加进展行
  4. 查询未完成条目,附在回复中
  5. 回复确认 + 未完成清单

回复格式:

📝 已更新:{标题}({id})

📋 当前待办(X项):
...

删除/作废

  1. 匹配已有条目
  2. 从数据库删除该条目
  3. 在当日 daily/ .md 中追加作废记录
  4. 回复确认

回复格式:

❌ 已取消:{标题}({id})

阻塞标记

当用户提到"等xxx"、"被卡住了"、"需要xxx才能继续"时:
1. 匹配对应条目
2. 更新数据库:status → blocked,记录 blocked_reason
3. 在当日 .md 中追加阻塞记录
4. 回复确认

回复格式:

⚠️ 已标记阻塞:{标题}({id})
原因:{blocked_reason}

批量完成

当用户一口气完成多项工作("A、B、C都搞定了"):
1. 逐项匹配并完成
2. 每项独立记录到 .md
3. 汇总回复一次

回复格式:

🎉 批量完成(X项):
✅ {标题1}({id1})
✅ {标题2}({id2})

📋 剩余待办(X项):
...

每日 .md 文件说明

重要:每日文件记录的是"当天有活动的工作",而非"当天创建的工作"。

  • 新增的待办写入当天日期的 .md 文件
  • 完成或更新已有工作时,写入该工作活动当天的 .md 文件
  • 一项工作跨越多天时,每天的文件里都会有它的记录

文件路径:daily/YYYY-MM-DD.md

详细格式规范见 references/log-format.md。

查询流程

  1. 根据用户查询条件构建 SQL
  2. 从 worklog.db 检索匹配条目
  3. 读取对应 daily/ .md 文件获取详情
  4. 整理后回复

常用查询:
- 按时间范围:今日/本周/本月/自定义
- 按状态:待办/进行中/已完成/已阻塞
- 按分类:筛选特定类型工作
- 按关键词:标题模糊匹配
- 全文搜索:扫描 .md 文件内容

查询"今日待办"时:
- 从数据库查询所有 status != done 的条目(全局未完成清单)
- 从 daily/今日日期.md 读取今日有活动的工作详情
- 两者结合展示

查询结果回复格式:

🔍 查询结果(X项):

🟢 20260605-001 | 准备周会汇报材料 | 材料撰写 | 已完成
🟡 20260605-002 | 对接XX项目需求 | 对接协调 | 进行中
🔴 20260605-003 | 学习新流程 | 流程/规范 | 待处理

注意:每条记录独占一行。分类使用中文名称,不要使用编码。

报告生成

模板文件

  • 周报邮件模板:templates/weekly_report.html
  • 月报邮件模板:templates/monthly_report.html
  • 消息模板:见 references/log-format.md

周报生成

  1. 查询本周所有条目
  2. 填充 templates/weekly_report.html 模板变量
  3. 发送邮件(QQ邮箱,HTML正文)
  4. 通过消息发送纯文本摘要(格式见 references/log-format.md 周报模板)

月报生成

  1. 查询本月所有条目
  2. 填充 templates/monthly_report.html 模板变量
  3. 发送邮件(QQ邮箱,HTML正文)
  4. 通过消息发送纯文本摘要(格式见 references/log-format.md 月报模板)

日报生成

用户要求"今日总结"或"日报"时:
1. 查询今日所有条目(新增 + 有活动的)
2. 通过消息发送纯文本摘要(格式见 references/log-format.md 日报模板)
3. 不发邮件

定时任务

日报、周报、月报均支持定时自动执行。首次生成报告时,提醒用户创建对应的定时任务。

定时任务提醒

首次生成日报时提醒:
> 是否要设置定时任务,每天自动发送日报?建议设置在下午5-6点。

首次生成周报时提醒:
> 是否要设置定时任务,每周自动发送周报?建议设置在周五下午。

首次生成月报时提醒:
> 是否要设置定时任务,每月自动发送月报?建议设置在月末最后一个工作日。

定时任务执行规范

创建定时任务时,需使用 openclaw cron add 命令。以下是完整的创建命令和说明。

日报定时任务(建议每天下午5-6点执行):

openclaw cron add \
  --name "worklog-daily-report" \
  --description "工作日报自动生成" \
  --cron "0 17 * * *" \
  --tz "Asia/Shanghai" \
  --session "isolated" \
  --timeout-seconds 300 \
  --channel openclaw-weixin \
  --to "用户微信ID" \
  --message "请执行工作日报任务:

1. 检查 ~/worklog/worklog.db 数据库是否存在,不存在则先运行初始化脚本
2. 连接数据库,查询今日所有条目(status 为 todo/in_progress/done/blocked 的记录)
3. 同时读取 ~/worklog/daily/今日日期.md 文件,获取今日活动详情
4. 按照以下格式整理并发送给用户:

📋 YYYY-MM-DD 工作日报

✅ 已完成 X 项:
1. [ID] 标题 | 分类中文名

🟡 进行中 X 项:
1. [ID] 标题 | 分类中文名(当前状态)

🔴 待处理 X 项:
1. [ID] 标题 | 分类中文名

⚫ 已阻塞 X 项:
1. [ID] 标题 | 分类中文名(阻塞原因)

注意:每项独占一行,分类使用中文名称。"

周报定时任务(建议每周五下午执行):

openclaw cron add \
  --name "worklog-weekly-report" \
  --description "工作周报自动生成" \
  --cron "0 16 * * 5" \
  --tz "Asia/Shanghai" \
  --session "isolated" \
  --timeout-seconds 600 \
  --channel openclaw-weixin \
  --to "用户微信ID" \
  --message "请执行工作周报任务:

1. 检查 ~/worklog/worklog.db 数据库是否存在
2. 连接数据库,查询本周所有条目(根据 created_at 或 updated_at 在本周范围内)
3. 读取本周的 daily/*.md 文件获取详细信息
4. 填充 ~/worklog/../skills/work-logger/templates/weekly_report.html 模板:
   - 替换 {{PERIOD}} 为周数(如第23周)
   - 替换 {{DATE_RANGE}} 为日期范围(如 2026.06.02 - 2026.06.06)
   - 替换 {{NAME}} 为用户姓名(从 USER.md 获取)
   - 替换 {{TOTAL}} {{DONE}} {{IN_PROGRESS}} {{TODO}} {{BLOCKED}} 为统计数据
   - 替换 {{TASKS_DONE}} {{TASKS_IN_PROGRESS}} {{TASKS_TODO}} {{TASKS_BLOCKED}} 为各分类任务的HTML列表
   - 替换 {{NEXT_PLAN}} 为下周计划(从进行中和待处理的任务推断)
   - 替换 {{GENERATED_AT}} 为当前时间
5. 使用用户配置的邮箱发送邮件(查看 TOOLS.md 获取 SMTP 配置),HTML作为邮件正文
6. 按以下格式发送消息摘要给用户:

📋 本周工作周报(MM.DD - MM.DD)

✅ 已完成 X 项:
1. 标题

🟡 进行中 X 项:
1. 标题(当前状态)

🔴 待处理 X 项:
1. 标题

⚫ 已阻塞 X 项:
1. 标题(原因)

📅 下周计划:
1. ...

注意:每项独占一行。"

月报定时任务(建议月末最后一个工作日执行):

openclaw cron add \
  --name "worklog-monthly-report" \
  --description "工作月报自动生成" \
  --cron "0 16 28-31 * *" \
  --tz "Asia/Shanghai" \
  --session "isolated" \
  --timeout-seconds 600 \
  --channel openclaw-weixin \
  --to "用户微信ID" \
  --message "请执行工作月报任务:

1. 检查 ~/worklog/worklog.db 数据库是否存在
2. 连接数据库,查询本月所有条目
3. 读取本月的 daily/*.md 文件获取详细信息
4. 填充 ~/worklog/../skills/work-logger/templates/monthly_report.html 模板:
   - 替换 {{PERIOD}} 为月份(如2026年6月)
   - 替换 {{DATE_RANGE}} 为日期范围(如 2026.06.01 - 2026.06.30)
   - 替换 {{NAME}} 为用户姓名
   - 替换统计数据变量:{{TOTAL}} {{DONE}} {{IN_PROGRESS}} {{TODO}} {{BLOCKED}}
   - 替换 {{COMPLETION_RATE}} 为完成百分比(DONE/TOTAL*100取整)
   - 替换 {{REMAINING_RATE}} 为 100-COMPLETION_RATE
   - 替换 {{W1_DONE}} {{W2_DONE}} {{W3_DONE}} {{W4_DONE}} 为各周完成数
   - 替换 {{CATEGORY_STATS}} 为分类统计的HTML表格行
   - 替换 {{TASKS_DONE}} {{TASKS_IN_PROGRESS}} {{TASKS_TODO}} {{TASKS_BLOCKED}} 为详细列表
   - 替换 {{MONTHLY_SUMMARY}} 为月度总结(AI根据任务内容生成)
   - 替换 {{GENERATED_AT}} 为当前时间
5. 使用用户配置的邮箱发送邮件(查看 TOOLS.md 获取 SMTP 配置),HTML作为邮件正文
6. 按以下格式发送消息摘要给用户:

📊 X月工作月报

总任务:X | 完成:X | 进行中:X | 待处理:X | 阻塞:X
完成率:XX%

✅ 重点工作完成:
1. 标题

🟡 未完成事项:
1. 标题(原因)

📅 下月计划:
1. ...

注意:每项独占一行。"

注意:
- --to 参数需替换为用户的实际微信ID(格式如 xxx@im.wechat)
- 月报的 cron 表达式 0 16 28-31 * * 会在每月28-31日的16点都触发,任务内部需判断是否为当月最后一天
- 超时时间:日报建议300秒,周报/月报建议600秒
- 首次创建定时任务后,建议用 openclaw cron run <job-id> 手动测试一次

邮件发送

邮件发送配置根据用户的 TOOLS.md 或其他配置文件获取。创建定时任务或执行报告任务时,应读取用户的 TOOLS.md 获取 SMTP 服务器、端口、发件人、授权码等信息,不要硬编码邮箱地址。

初始化脚本

scripts/init_db.py — 首次使用时自动调用,无需手动执行。

python3 scripts/init_db.py <worklog目录路径>

常见问题

5 问
答案由本站依据条目字段整理
WorkLogger工作日志怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_2e992522/work-logger。安装方式为未标注。装完刷新技能列表或重开客户端。

WorkLogger工作日志支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

WorkLogger工作日志权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

WorkLogger工作日志收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

WorkLogger工作日志用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。