Metadata-Version: 2.4
Name: klnote
Version: 0.1.0
Summary: Stock note management tool
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"

# KLNote

股票笔记管理工具，为专注股票投资的人群设计。

## 背景

投资股票时，每次决策都需要记录：为什么买、为什么卖、当时想到了什么。这些记录是后续复盘的核心素材。但普通笔记软件太通用，无法围绕"股票"这个实体组织信息——查一只股票的笔记，要翻半天。

KLNote 的核心思路是：**先有股票，再有笔记**。每条笔记属于某只股票，每次查看都围绕股票展开。

## 核心概念

- **股票**：用 code（代码）或 name（名称）标识，如 `000001`、平安银行
- **笔记**：附属于某只股票，每条包含 summary（摘要） 和 content（内容）
- **标识符**：支持三种方式定位股票 — UUID、股票代码、股票名称

## 安装

```bash
pip install klnote
```

## 使用

```bash
# 股票操作
klnote stk ls              # 列出所有股票
klnote stk add 000001 -n 平安银行    # 添加股票
klnote stk get 000001       # 查看股票（支持 id/code/name）
klnote stk delete 000001    # 删除股票

# 笔记操作
klnote note add 000001 -s "摘要" -c "内容"   # 添加笔记
klnote note ls 000001       # 列出笔记
klnote note delete 000001 0 # 删除第0条笔记
```

## 数据库

默认路径: `~/.KLNote/KLNote.db`

可通过环境变量 `KLNOTE_DB_PATH` 自定义路径。

## 命令指南

### 全局命令

```
klnote --help
```

### 股票操作 (stk)

```
klnote stk ls                       # 列出所有股票
klnote stk add <code> [-n name] [-d desc]   # 添加股票
klnote stk get <identifier>         # 查看股票详情
klnote stk delete <identifier>      # 删除股票
```

### 笔记操作 (note)

```
klnote note add <stock_identifier> [-s 摘要] [-c 内容]   # 添加笔记
klnote note ls <stock_identifier>     # 列出某只股票的所有笔记
klnote note delete <stock_identifier> <index>   # 删除指定笔记
```

### 高级操作 (admin)

```
klnote admin match_and_read <value> <field>    # 按字段匹配读取
klnote admin match_and_update <value> <field> <update_field>   # 按字段匹配更新（危险）
```

### 标识符说明

所有 `<identifier>` 位置均支持三种写法：

| 格式 | 示例 | 解析方式 |
|------|------|---------|
| UUID (32位十六进制) | `a1b2c3d4e5f6...` | 精确匹配 id |
| 纯数字 | `000001` | 匹配 code |
| 字母/中文混合 | `平安银行` | 先试 code，再试 name |

## 环境变量

| 变量 | 说明 | 默认值 |
|------|------|--------|
| `KLNOTE_DB_PATH` | 数据库文件路径 | `~/.KLNote/KLNote.db` |
