npm package: @kuangshu/srdt
Description: 命令行工具，用于管理工作任务和工时记录，支持 MCP 协议
Author: kuangshu
Latest version: 1.1.6

# @kuangshu/srdt

命令行工具，用于管理 srdcloud.cn 的工作任务和工时记录，支持 MCP 协议。

## 安装

```bash
npm install -g @kuangshu/srdt@latest --ignore-scripts --registry https://registry.npmjs.org/
# 或
pnpm add -g @kuangshu/srdt@latest --ignore-scripts --registry https://registry.npmjs.org/
```

## MCP 服务器配置

工具支持 MCP (Model Context Protocol) 协议，可在 AI 助手中直接调用任务管理功能。

### 前置条件

确保已登录：

```bash
# 全局安装之后 
srd login

# 未安装 
npx --yes  --package @kuangshu/srdt@latest srd login
```

### 配置方法

在 MCP 客户端配置文件中添加：

```json
{
  "mcpServers": {
    "srdcloud": {
      "command": "npx",
      "args": ["--yes", "--package", "@kuangshu/srdt@latest", "srd-mcp"]
    }
  }
}
```

### 在 AI 助手中使用

配置完成后，可以直接用自然语言与 AI 助手交互。以下是一些常用场景示例：

#### 查看任务

```
用户: 我今天有哪些任务？
AI: 让我帮你查看... [调用 get_tasks]
    你有 3 个待处理任务：
    1. scdx-dtsjzt-501956 - 实现用户登录功能（进行中）
    2. scdx-dtsjzt-501957 - 修复订单列表Bug（待开始）
    3. scdx-dtsjzt-501958 - 优化查询性能（处理中）
```

```
用户: 帮我看看第一个任务的详情
AI: 任务：实现用户登录功能
    描述：实现用户登录功能，包括用户名密码登录、手机验证码登录、第三方登录...
    状态：进行中
    版本：v1.0.0
```

#### 记录工时

```
用户: 我刚完成了登录接口开发，花了2小时，帮我记录一下
AI: 好的，我帮你记录工时... [调用 update_task_status]
    ✓ 工时已同步：2h
    ✓ 状态已更新：进行中
```

```
用户: 订单Bug修好了，1.5小时，状态改成已完成
AI: [调用 update_task_status]
    ✓ 工时已同步：1.5h
    ⚠ 此任务类型不支持"已完成"状态，已跳过状态更新
    （提示：测试缺陷类型请使用"已修复"状态）
```

```
用户: 帮我记录工时，任务ID是 scdx-dtsjzt-501956，花了3小时，备注是 [abc1234] 完成API开发
AI: [调用 update_task_status]
    ✓ 工时已同步：3h
    ✓ 状态已更新：进行中
```

#### 生成日报

```
用户: 帮我生成今天的工作日报
AI: [调用 generate_daily_report]
    # 工作日报 - 2026-03-16
    
    ## v1.0.0
    ### scdx-dtsjzt-501956 实现用户登录功能
    - 状态: 进行中
    - 今日工时: 2h
    - 累计工时: 5h
    
    ## 工时统计
    - 今日总工时: 3.5h
```

```
用户: 生成昨天的工作汇报
AI: [调用 generate_daily_report，date=昨天日期]
    ...
```

#### 注意事项

- 记录工时时，AI 会自动获取所需的 `projectId`，无需手动提供
- 任务描述会在获取任务列表时一并返回，AI 可以直接查看
- 工时记录会立即同步到服务器，无需额外操作

## CLI 命令使用

### 登录

```bash
srd login
```

连接已打开的 Chrome 浏览器，自动提取会话凭证。

**前置条件**：

1. Chrome >= 144
2. 启用远程调试：访问 `chrome://inspect/#remote-debugging`，点击"启用远程调试"

### 获取任务列表

```bash
srd fetch [options]
```

选项：

- `-o, --output <path>` - 输出文件路径（默认输出到命令行）
- `-v, --verbose` - 显示详细日志

示例：

```bash
# 输出到命令行
srd fetch

# 输出到文件
srd fetch -o ./tasks.json
```

### 更新任务状态

```bash
srd update-status <taskId> --hours <hours> --project-id <projectId> [options]
```

选项：

- `--hours <number>` - 本次工时（小时），**必填**
- `--project-id <string>` - 项目 ID，**必填**
- `--status <string>` - 任务状态（如：进行中、已完成）
- `--note <string>` - 备注说明，建议包含 git 提交 hash
- `-v, --verbose` - 显示详细日志

示例：

```bash
srd update-status scdx-dtsjzt-501956 --hours 2.5 --project-id 49679
srd update-status scdx-dtsjzt-501956 --hours 2.5 --project-id 49679 --status "进行中"
srd update-status scdx-dtsjzt-501956 --hours 2.5 --project-id 49679 --status "已完成" --note "[abc1234] 完成接口开发"
```

### 生成日报

```bash
srd report [options]
```

选项：

- `-d, --date <date>` - 指定日期（默认今天）
- `-o, --output <path>` - 输出文件路径
- `-v, --verbose` - 显示详细日志

示例：

```bash
srd report                   # 生成今日日报
srd report -d 2026-03-10     # 生成指定日期日报
```

## 配置文件

配置文件存储在 `~/.srdt/` 目录：

| 文件           | 说明     |
| -------------- | -------- |
| `config.json`  | 用户配置 |
| `session.json` | 会话凭证 |

## 环境要求

- Node.js >= 18.0.0
- Chrome >= 144（用于远程调试登录）

## 许可证

MIT