Skip to content

Feature Request: Remark Mode — AI 协作中的文档标注闭环 #74

@liyuankui

Description

@liyuankui

背景

我自己做了一个本地小工具 Remarker(隐私优先的 in-browser 标注工具),用于 AI 协作场景中的 Review-Revise 闭环。工作流如下:

AI 生成文档 → 用户在 Remarker 中标注(高亮 + 批注 + 行号引用)
           → 导出为结构化 prompt → AI 按行号精确修改 → 循环

效果截图:

Image

这个流程在我的日常 AI 协作中使用频率很高(每日 10+ 次),但 Remarker 是一个独立的网页,需要额外启动本地 server 或部署到某个 Pages 服务。


为什么是 docu.md / markdown-viewer?

我在 Twitter 上看到 docu.md 后,觉得它是更好的载体:

  1. 已经在浏览器里了——不需要额外启 server,打开 .md 文件天然触发
  2. 渲染质量高——29 个主题 + Mermaid/PlantUML/LaTeX 完整支持,比我的 marked.js 单文件版好很多
  3. 多平台——Chrome + Firefox + VSCode,一次实现多处可用
  4. chrome.storage.local——Extension 有天然隔离的持久存储

核心观点:Remark(标注)是 AI 协作时代 Markdown 阅读器的自然延伸

以前我们读文档是为了理解,现在我们读 AI 生成的文档是为了审查和反馈。从"只读 viewer"到"可标注 reviewer",是一个很自然的功能演进。


提案:Remark Mode

交互设计

┌─────────────────────────────────────────────────┐
│ 🎨 Theme  📑 TOC  🔍 Zoom  ✏️ Remark  ⬇️ Export │  ← toolbar 加一个 toggle
└─────────────────────────────────────────────────┘

点击 ✏️ 进入 Remark Mode:
- 选中文字 → 弹出标注颜色选择(🟡 Suggestion / 🟢 Keep / 🔵 Question / 🩷 Concern)
- 写简短批注
- 文字高亮显示 + 行号标记
- Esc 退出 Remark Mode

导出格式

I reviewed "document.md" and have the following feedback:

1. [🟡 Suggestion] L5–L12: "原文片段..."
   Note: "建议修改为..."
2. [🟢 Keep] L15: "这段很好"
3. [🔵 Question] L23: "这里的逻辑是什么?"

这个格式对 AI(Claude/GPT/Gemini)非常友好——行号引用让 AI 能精确定位和修改。

存储

  • chrome.storage.local,key 按文件内容 hash 组织
  • 按文件内容 hash 存储(同一文件不同版本各自独立)
  • 跨 tab 持久,关闭浏览器后重新打开仍在

使用场景

场景 流程
AI 代码 review AI 生成 PR summary.md → 打开 → 标注需要修改的点 → Copy → AI 执行
文章编辑 AI 生成草稿 → 打开 → 标注改进建议 → Copy → AI 重写
技术文档审查 同事写的 RFC → 打开 → 标注疑问和建议 → Copy → 发到 chat
学习笔记 读长文 → 标注重点和疑问 → 导出为学习卡片

我能贡献什么

我愿意提交 PR 实现 MVP(先做 Chrome 版):

  • src/ui/remark-mode.ts — 模式管理 + 文字选中交互
  • src/ui/remark-overlay.ts — 高亮层 + 标注 UI
  • src/ui/remark-export.ts — 导出为结构化 prompt
  • chrome/src/webview/ui/toolbar.ts — 加 ✏️ toggle button
  • 预估 ~600 行新代码

相关参考

  • 我的独立实现:Remarker(单文件 HTML,~160KB,完全本地运行,隐私优先)
  • 类似理念:Hypothesis(但它是 SaaS,数据上云)
  • 设计原则:内容不离开浏览器,零网络请求,纯本地标注

期待作者的想法!如果方向认可,我立刻开始写代码。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions