Metadata-Version: 2.4
Name: worklog-ai
Version: 0.1.1
Summary: 工作记录 + AI 周报生成 - 让 AI 工具(Claude Code/Codex/Codebuddy) 都能调用的工作助手
Author: You
License: MIT
Project-URL: Homepage, https://github.com/yourname/worklog-ai
Keywords: worklog,weekly-report,ai,cli
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Office/Business
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28

# worklog-ai — 工作记录 + AI 周报生成

让 Claude Code、Codex、Codebuddy 等 AI 工具能直接调用的工作助手 CLI。

## 功能

- 📝 **自然语言记录**：每天在 `notes/YYYY-MM-DD.txt` 随手记工作
- 🤖 **AI 生成周报/日报**：基于本周/今日记录自动生成结构化报告
- 🖥️ **CLI + 对话双模式**：既能交互，也能脚本调用
- 🔌 **AI 工具友好**：subprocess 可直接调用，返回纯文本结果

## 安装

### 方式 1：从 PyPI 安装（推荐）
```bash
pip install worklog-ai
```

### 方式 2：从源码安装
```bash
git clone https://github.com/yourname/worklog-ai
cd worklog-ai
pip install -e .
```

安装后即可使用 `todo` 命令。

## 快速开始

### 1. 配置 AI（首次使用）
```bash
todo config --key sk-你的deepseek-key --provider deepseek
# 或交互式：
todo config
```

### 2. 记录工作
```bash
todo add "完成了用户登录模块开发"
todo add "修复了3个P0 bug"
todo open  # 用记事本打开今日笔记
```

### 3. 生成报告
```bash
todo report weekly              # 本周周报
todo report daily               # 今日日报
todo report weekly -d 2026-06-17  # 指定日期所在周
todo report weekly -q           # 只输出报告内容（去掉元信息）
```

## CLI 完整指令

| 命令 | 作用 |
|---|---|
| `todo add "内容"` | 添加工作记录 |
| `todo add "内容" -d 2026-06-20` | 记录到指定日期 |
| `todo list` | 列出所有笔记 |
| `todo view 2026-06-24` | 查看某天内容 |
| `todo open` | 用记事本打开今日笔记 |
| `todo report weekly` | 生成本周周报 |
| `todo report daily` | 生成今日日报 |
| `todo report monthly` | 生成本月月报 |
| `todo report weekly -q` | 只输出报告（适合 AI 消费） |
| `todo config` | 交互式配置 |
| `todo config --key sk-xxx` | 命令行设置 key |
| `todo config --show` | 显示当前配置 |
| `todo chat` | 进入对话模式 |

## 让 AI 工具调用

### Claude Code / Codex / Cursor 等

直接通过 `subprocess` 调用：

```python
import subprocess
# 记录工作
subprocess.run(["todo", "add", "完成了用户登录模块"])
# 生成周报
result = subprocess.run(["todo", "report", "weekly", "-q"], capture_output=True, text=True)
weekly_report = result.stdout
```

### Shell 方式
```bash
# 读取周报内容
WEEKLY=$(todo report weekly -q)
# 把内容发给 AI
echo "$WEEKLY" | claude
```

## AI 提供方支持

| Provider | 价格 | 中文支持 | 备注 |
|---|---|---|---|
| DeepSeek | 极便宜 | ⭐⭐⭐ | 推荐 |
| OpenAI | 中 | ⭐⭐ | 需翻墙 |
| 通义千问 | 免费额度 | ⭐⭐⭐ | 国内 |
| 智谱 GLM | 免费额度 | ⭐⭐⭐ | 国内 |
| 自定义 | - | - | 兼容 OpenAI API |

## 数据存放

```
~/.worklog-ai/  (或当前目录的 notes/, reports/)
├── config.json
├── notes/YYYY-MM-DD.txt
└── reports/周报_xxx.md
```

## License

MIT
