# 法律工作台（dsh-legal-workbench）

## 安装

**前提**：本机已经装了 DSH（0.2.0 或更新，`dsh --version` 可查）；安装时需要联网（从 npm 下载）。

按你的 DSH 形态选一条：

**DSH 桌面 App**

```sh
dsh plugin --profile desktop add dsh-legal-workbench
```

**自己部署的 DSH Web**（服务器上）

```sh
dsh plugin --profile web add dsh-legal-workbench
```

如果你用的是自定义 profile，把 `desktop` / `web` 换成你自己的 profile 名（在 `~/.dsh/profiles/` 下能看到）。

装完**重启 DSH**，然后点会话标题旁的工作台图标，或按 `⌥W`。

不需要 Obsidian，不需要任何密钥，也不需要登录任何账号。

> 目前只在 macOS 上完整验证过。其它系统可以安装运行，但「打开 Obsidian」「打开控制台」这两个动作依赖系统命令，可能需要手动改配置。

## 第一次使用

点会话标题旁的工作台图标（或按 `⌥W`）。第一次它会问一件事：你的 Obsidian 库路径。
填好保存即可，之后不用再管。转写、用量角标这些都需要你自己的密钥，不配就不显示。


会话右侧栏里的常驻面板：查 SOP、看法宝积分、起邮件草稿、维护术语表、走报销入口。
数据直接读写你的 Obsidian vault，两边改的是同一份文件。

## 打开

- **已有消息的会话**：标题右侧那颗图标。
- **刚新建的空会话**：输入框上方那一排的右端，「工作台」按钮。

打开后是右侧栏的一个标签页，可以拖宽、全屏、关闭，不影响左边的对话。

## 五个卡片

| 卡片 | 做什么 |
|---|---|
| **SOP** | 左栏是 vault 里的目录树（除 `PDF` 外默认全展开），点一篇右栏直接读正文；可「编辑」写回、「插入」进输入框、「打开」跳 Obsidian、「复制」 |
| **法宝积分** | 一行状态条：可用积分、即将过期、最近过期日、今日是否已领（推断）。低于 100 会标红提醒去领 |
| **邮件起草** | 规则库统计（硬/软/待观察）+ 一键插入起草 prompt + 查看规则库全文 |
| **术语表** | 中英术语增删改查，落盘即生效；整表可插入当前对话 |
| **报销填表** | 模板存在性检查 + 插入填表 prompt |

顶部还有一个**全局搜索**：一次搜笔记正文、术语、邮件规则，结果标注来源。

## 插入 prompt 的规矩

只写输入框、不发送。输入框里已有草稿时会先弹一条确认：**追加 / 覆盖 / 取消**，默认不动你的字。

## SOP 与 Obsidian 的关系

- vault 里 `SOP` 目录（可改）下的笔记就是 SOP 的全部内容，工作台只是它的另一个视图。
- 在 Obsidian 改完保存，工作台切回来就是新的（打开、搜索、切窗口都会重读）。
- 在工作台里改也一样：写回原文件，Obsidian 立刻看到。
- 为防止互相覆盖：保存前会比对你读到的那一版，如果文件在别处被改过，会**拒绝写入**并让你选择「重新载入」或「仍要覆盖」。每次保存前留一份备份。

## 文件都在哪

```
~/.dsh-workbench/cards.json      卡片清单（增删卡片、改标题、改顺序只改这里；首次运行自动创建）
~/.dsh-workbench/prompts.json    prompt 模板
~/.dsh-workbench/asr.json        可选的语音转写凭据（600 权限，不进仓库）
<vault>/Workbench/术语表.md        术语表（Obsidian 里也能直接编辑）
<vault>/Workbench/.backups/       自动备份
```

改 `cards.json` / `prompts.json` / 术语表 / 笔记：**刷新页面即可**。
改插件代码：客户端刷新、Host 部分需重启 App。

## 卸载

插件可以从 设置 → 插件 里停用或移除；`cards.json`、`prompts.json`、术语表与笔记都保留，不会被删。

## 打不开 / 空白怎么办

- **面板打开了但一片空白**：点一下面板右上角的**刷新**按钮即可。这是 1.1.0 已知的首次加载问题，刷新一次后正常。
- **点了图标没反应**：有些会话的右侧栏还没挂载，工作台会自动改用浮层打开（快捷键 `⌥W`）。
- **提示"先配置一下"**：说明还没告诉它笔记文件夹在哪，按提示填一次即可。

## 已知限制

- **笔记里的图片不显示**，会显示成文件名标签（如「图片 photo.png」）。文字内容（标题、列表、加粗、代码、双链）正常。
- Markdown 支持是刻意精简的：不渲染 HTML、内嵌 PDF、mermaid。
- 批注锚定到多行选择的**第一行**。
- 高亮颜色固定为黄色（存储支持多色，界面暂未开放选色）。
- 报销卡只检查模板是否存在，不做填表解析。
- 导入的音频转写时没有进度条。
- 工作台直接读写笔记文件夹：Obsidian 里的改动刷新后可见，这里的改动在 Obsidian 里立刻可见（同一份文件）。
- DSH 的右侧栏是每个会话独立的；放不进侧栏时工作台会以浮层打开，不会静默失败。
