worklog-kb
v1.1.0
Published
CLI tool for personal work log knowledge base - record daily work fragments, auto-generate weekly/monthly reports with Obsidian compatibility
Maintainers
Readme
Work-Log KB
个人工作日志知识库命令行工具 —— 每天一分钟记录,周报自动生成
CLI 工具用于个人工作日志知识库管理。无需 AI 编码助手,直接在命令行中记录工作、生成周报月报。
特点
- 零依赖 AI 助手 — 独立 CLI 工具,不需要 Claude Code/Cursor/OpenCode
- 两种分类模式 — 规则分类(免费)+ LLM 智能分类(可选)
- 灵活的 LLM 支持 — DeepSeek/OpenAI/Claude/Gemini/Ollama,按需选择
- 中文周报自动生成 — 格式规范,按分类汇总,标注来源日期
- Obsidian 兼容 — 纯 Markdown + YAML,支持双向链接和标签
- 跨平台 — macOS/Linux/Windows 全支持
安装
从 npm 安装(推荐)
npm install -g worklog-kb从源码安装
git clone https://github.com/your-repo/worklog-kb.git
cd worklog-kb
npm install
npm run build
npm link # 本地全局安装系统要求
- Node.js >= 18
- npm 或 yarn
快速开始
第一步:初始化知识库
# 交互式初始化(推荐)
worklog init
# 快速初始化(不配置 LLM,使用规则分类)
worklog init --skip-prompts
# 直接配置 DeepSeek
worklog init --provider deepseek --key sk-xxx
# 自定义路径
worklog init --path ~/my-worklog交互式选项:
| 选项 | 说明 |
|------|------|
| 知识库路径 | 默认当前目录 kb/,可自定义 |
| LLM 提供商 | 6 种选择,默认"无"(规则分类) |
| API Key | 选择非本地模型后提示输入 |
第二步:记录工作
# 结构化输入(无需 LLM,零成本)
worklog log dev 完成了用户管理登录API开发
worklog log review 评审了订单模块需求
worklog log bugfix 修复了登录页面表单验证问题
# 自然语言输入(需要配置 LLM)
worklog log --ai 今天完成了登录API开发,下午评审了订单需求
# 指定标签
worklog log dev 完成了登录API --tags #中邮,#订单中心第三步:生成周报
worklog weekly自动扫描本周所有日志,按分类汇总生成中文周报。
第四步:查看状态
worklog status显示今日/本周/本月条目统计、配置信息、目录结构。
命令详解
worklog init
初始化知识库目录结构和配置。
worklog init [options]
选项:
-p, --path <path> 自定义知识库路径
--provider <provider> LLM 提供商(none, deepseek, openai, anthropic, gemini, ollama)
--key <key> API Key
--skip-prompts 跳过交互提示,使用默认值示例:
# 最简单的方式(规则分类,无 API 成本)
worklog init
# 直接配置 DeepSeek
worklog init --provider deepseek --key sk-xxx
# 自定义路径 + DeepSeek
worklog init --path ~/Documents/worklog --provider deepseek --key sk-xxx
# 使用本地模型(Ollama,无 API Key)
worklog init --provider ollamaworklog log
记录工作条目。
worklog log [content] [options]
选项:
-t, --type <type> 指定分类类型(dev, review, bugfix 等)
--tags <tags> 标签(逗号分隔,如 #中邮,#订单)
--ai 使用 LLM 进行智能分类输入方式:
| 方式 | 命令 | 说明 |
|------|------|------|
| 结构化 | worklog log dev 内容 | 指定类型,无需 LLM |
| 自然语言 | worklog log --ai 内容 | LLM 自动分类 |
| 带标签 | worklog log dev 内容 --tags #标签 | 添加项目/技术标签 |
| 类型前缀 | worklog log dev 完成了xxx | 自动识别类型前缀 |
示例:
# 结构化输入(推荐,无 API 成本)
worklog log dev 完成了用户管理登录API
worklog log review 评审了订单模块需求
worklog log bugfix 修复了登录验证问题
# 自然语言 + LLM(智能分类)
worklog log --ai 今天做了用户管理需求,下午评审了订单,还面试了一个前端候选人
# 带标签
worklog log dev 完成了登录API --tags #中邮,#订单中心
# 直接指定类型(跳过分类)
worklog log -t dev 完成了登录APIworklog weekly
生成周报。
worklog weekly [options]
选项:
-w, --week <week> 指定周号(如 2026-W18)周报格式:
# 工作周报 - 2026年05月04日 - 05月10日(第W19周)
## 一、需求开发与上线
### 1.1 开发中需求
- 完成用户管理登录API:完成了用户管理登录API(来源:2026-05-05)
### 1.2 已上线需求
本周无相关记录
## 二、需求评审
- 订单模块需求评审:评审了订单模块需求(来源:2026-05-05)
## 三、技术设计
本周无相关记录
## 四、Bug 修复
本周无相关记录
## 五、面试
- 静试前端候选人:面试了前端候选人(来源:2026-05-05)
...
## 八、风险与问题
本周无相关记录worklog monthly
生成月报。
worklog monthly [options]
选项:
-m, --month <month> 指定月份(如 2026-05)月报包含:
- 本月概览
- 各分类汇总
- 重要事项
- 下月计划
- 统计表格
worklog config
查看或更新配置。
worklog config [options]
选项:
-p, --path <path> 更新知识库路径
--provider <provider> 更换 LLM 提供商
-k, --key <key> 更新 API Key
--show 显示当前配置示例:
# 查看配置
worklog config --show
# 更换为 DeepSeek
worklog config --provider deepseek --key sk-xxx
# 更换为规则分类(无 LLM)
worklog config --provider none
# 更新知识库路径
worklog config --path ~/new-worklog/kb
# 交互式配置
worklog configworklog status
显示知识库状态。
worklog status输出内容:
- 知识库路径和状态
- LLM 配置信息
- 今日/本周/本月条目统计
- 目录结构检查
分类体系
| 类型 | 标识 | 关键词(规则分类) | 使用场景 |
|------|------|-------------------|----------|
| 需求开发 | dev | 完成/开发/实现/做了 | 功能开发、代码编写 |
| 上线发布 | release | 上线/发布/部署/灰度 | 版本上线、部署 |
| 需求评审 | review | 评审/过需求 | 需求评审、讨论 |
| 技术设计 | design | 设计/方案/架构 | 方案设计、架构 |
| Bug 修复 | bugfix | 修复/排查/解决/Bug | 问题修复 |
| 数据修复 | datafix | 数据修复/数据修正 | 数据问题处理 |
| 静试 | interview | 静试/候选人 | 静试记录 |
| 学习成长 | learn | 学习/研究/了解 | 技术学习 |
| 会议 | meeting | 开会/会议/同步 | 会议记录 |
| 其他 | other | — | 无法归类的事项 |
LLM 集成
支持的提供商
| 提供商 | 标识 | 模型 | API Key 来源 | 价格 |
|--------|------|------|--------------|------|
| DeepSeek | deepseek | deepseek-chat | platform.deepseek.com | ~$0.14/M tokens(推荐) |
| OpenAI | openai | gpt-4o-mini | platform.openai.com | ~$0.15/M tokens |
| Anthropic | anthropic | claude-3-5-haiku | console.anthropic.com | ~$0.25/M tokens |
| Google Gemini | gemini | gemini-2.0-flash | aistudio.google.com | 免费额度 |
| Ollama | ollama | llama3 | 本地安装 | 免费 |
配置方式
# 初始化时配置
worklog init --provider deepseek --key sk-xxx
# 后续配置
worklog config --provider deepseek --key sk-xxx
# 交互式配置
worklog configLLM 分类优势
| 功能 | 规则分类 | LLM 分类 | |------|----------|----------| | 类型识别 | 关键词匹配 | 智能理解 | | 标题提取 | 截取原文 | 自动概括 | | 标签建议 | 无 | 自动建议 | | 复杂输入 | 可能误判 | 精准识别 |
示例对比:
# 输入:今天完成了用户管理登录API开发,使用了JWT认证,下午还评审了订单模块需求
# 规则分类结果:
类型: dev
标题: 完成了用户管理登录API开发,使用了JWT认证
# LLM 分类结果:
类型: dev
标题: 用户管理登录API开发
标签: #用户管理 #API #JWT错误处理
- API 调用失败自动降级到规则分类
- 显示清晰的错误提示
- 不会阻塞记录流程
知识库结构
kb/
├── inbox/ # 当日收件箱
│ └── 2026-05-05.md # 临时存储,可手动清理
│
├── daily/ # 每日正式日志(按年/月组织)
│ └── 2026/
│ └── 05/
│ └── 2026-05-05.md
│
├── weekly/ # 自动生成的周报
│ └── 2026-W19.md
│
├── monthly/ # 自动生成的月报
│ └── 2026-05.md
│
├── tags/ # 标签系统
│ ├── index.md # 标签索引(自动维护)
│ ├── dictionary.md # 标签词典
│ └── synonyms.md # 标签同义词
│
└── templates/ # 模板文件
├── daily-log.md # 日志模板
├── weekly-summary.md # 周报模板
├── monthly-rollup.md # 月报模板
└── type-guide.md # 分类说明日志文件格式
---
date: "2026-05-05"
week: "2026-W19"
month: "2026-05"
entries:
- type: "dev"
title: "完成用户管理登录API"
details: "完成了用户管理登录API开发"
tags: ["#用户管理", "#API"]
- type: "review"
title: "订单模块需求评审"
details: "评审了订单模块需求"
tags: ["#订单模块"]
---
# 工作日志 - 2026-05-05
## 详细笔记配置存储
配置文件位置:~/.config/worklog-kb-nodejs/config.json
{
"kbPath": "/Users/xxx/worklog/kb",
"llmProvider": "deepseek",
"apiKey": "sk-xxx",
"defaultMode": "llm",
"createdAt": "2026-05-05T12:00:00.000Z",
"updatedAt": "2026-05-05T12:00:00.000Z"
}配置字段说明
| 字段 | 说明 | 默认值 |
|------|------|--------|
| kbPath | 知识库路径 | ./kb |
| llmProvider | LLM 提供商 | none |
| apiKey | API Key | 空 |
| defaultMode | 默认分类模式 | rule-based |
与原系统集成
本 CLI 工具与原有的 Claude Code/Cursor/OpenCode 系统完全兼容:
| 特性 | CLI | Claude Code/Cursor | |------|-----|-------------------| | 数据格式 | Markdown + YAML | 相同 | | 分类体系 | 10 种类型 | 相同 | | 周报格式 | 中文规范格式 | 相同 | | 标签系统 | #标签 + 索引 | 相同 |
迁移方式:
- CLI 创建的知识库可在 Claude Code 中打开
- Claude Code 创建的记录 CLI 可直接读取
- 两种方式可在同一
kb/目录混用
使用建议:
- 快速记录时使用 CLI:
worklog log dev 完成了xxx - 详细笔记时打开 Claude Code/Cursor 补充
标签使用
标签格式
使用 #标签 格式,支持层级:
# 扁平标签
worklog log dev 完成了登录API #中邮 #API
# 层级标签
worklog log dev 完成了登录API #项目/中邮 #技术/API标签建议
| 类型 | 示例 | 说明 |
|------|------|------|
| 项目 | #中邮 #保险师 | 标记所属项目 |
| 业务 | #录单 #理赔 | 标记业务模块 |
| 技术 | #React #API #前端 | 标记技术栈 |
| 团队 | #前端组 #后端组 | 标记团队 |
标签索引
所有标签自动索引到 kb/tags/index.md:
# 标签索引
## #中邮
- [[2026-05-05]] - 完成用户管理登录API
## #API
- [[2026-05-05]] - 完成用户管理登录APIObsidian 使用
- 打开 Obsidian
- 选择"打开文件夹",选择
kb/目录 - 可使用:
- 日历插件查看每日日志
- 标签面板筛选
- 双向链接导航
- 图谱视图关联
开发指南
项目结构
worklog-kb/
├── package.json # npm 配置
├── tsconfig.json # TypeScript 配置
├── src/
│ ├── index.ts # CLI 入口
│ ├── commands/ # 命令实现
│ │ ├── init.ts
│ │ ├── log.ts
│ │ ├── weekly.ts
│ │ ├── monthly.ts
│ │ ├── config.ts
│ │ └── status.ts
│ ├── lib/ # 核心逻辑
│ │ ├── config.ts # 配置管理
│ │ ├── classifier.ts # 分类逻辑
│ │ ├── llm.ts # LLM API
│ │ ├── storage.ts # 文件操作
│ │ └── report.ts # 报告生成
│ ├── utils/ # 工具函数
│ │ ├── date.ts # 日期处理
│ │ └── fs.ts # 文件系统
│ └── types/ # TypeScript 类型
│ └── index.ts
└── dist/ # 编译输出开发命令
# 开发模式(监听编译)
npm run dev
# 构建
npm run build
# 测试
npm test
# 发布
npm publish技术栈
- TypeScript — 类型安全
- Commander — CLI 框架
- Inquirer — 交互提示
- Luxon — 日期处理
- gray-matter — YAML 解析
常见问题
Q: 需要编程能力吗?
不需要。整个系统使用命令行和 Markdown,无需编写代码。
Q: 数据存在哪里?
全部是本地 Markdown 文件,存在 kb/ 目录下。不依赖任何外部服务。
Q: 可以多人协作吗?
可以。将项目推送到 git 仓库,多人各自记录,周报按人按周生成。
Q: 不配置 LLM 可以用吗?
可以。规则分类已覆盖大部分场景,零 API 成本。
Q: DeepSeek API Key 怎么获取?
访问 https://platform.deepseek.com/ 注册并创建 API Key。
Q: Ollama 怎么使用?
# 安装 Ollama
brew install ollama # macOS
# 下载模型
ollama pull llama3
# 配置 CLI
worklog init --provider ollamaQ: 如何备份?
# 备份知识库
cp -r kb/ backup/
# 或使用 git
git add kb/
git commit -m "备份工作日志"Q: 周报日期范围如何确定?
周报范围固定为本周一到本周日,无论周几触发。使用 ISO 周号(如 2026-W19)。
更新日志
v1.0.0
- 完整 CLI 工具实现
- 6 个命令:init, log, weekly, monthly, config, status
- 5 种 LLM 支持:DeepSeek, OpenAI, Anthropic, Gemini, Ollama
- 规则分类 + LLM 智能分类双模式
- 中文周报/月报自动生成
- Obsidian 兼容的数据格式
- 4 个模板文件
License
MIT
作者
Work-Log CLI Team
快速回顾:
# 1. 安装
npm install -g worklog-kb
# 2. 初始化
worklog init
# 3. 记录
worklog log dev 完成了登录API
# 4. 周报
worklog weekly