自动抓取网页对话,按消息挑选导入为可续聊的会话
28.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MrElysium/convoport该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 72 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
- 写入本地文件lib/index.js:96
await mkdir(this.sessions, { recursive: true }); - 读取本地文件lib/index.js:98
await readFile(indexPath(this.root), "utf8"); - 读取本地文件lib/index.js:187
return JSON.parse(await readFile(indexPath(this.root), "utf8")); - 写入本地文件lib/index.js:194
await writeFile(indexPath(this.root), JSON.stringify(index, null, 2), "utf8"); - 读取本地文件lib/index.js:255
return JSON.parse(await readFile(sessionPath(this.root, id), "utf8")); - 写入本地文件lib/index.js:262
await writeFile(sessionPath(this.root, id), JSON.stringify(data, null, 2), "utf8"); - 删除本地文件lib/index.js:300
await rm(sessionPath(this.root, id), { force: true }); - 发起网络请求lib/client.js:122
const res = await fetch(path, opts); - 发起网络请求extension/background.js:71
const res = await fetch(`${backend}/capture/ingest`, { - 发起网络请求extension/content.js:41
const res = await fetch(
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 抓取网页对话记录
- 按消息挑选导入
- 导入为可续聊会话
从任意网页对话抓取 AI 聊天记录,100% 留在本地,再作为实时会话导入任意智能体——不是死板的导出文件。
README
由 DeepSeek 最新模型翻译生成convoport
DeepSeek Harness 插件:全自动捕获 DeepSeek 网页版对话,100% 本地存储,按消息挑选导入工作区会话,并统计你节省的 Token。
npm version
npm downloads
License: MIT
它做什么
| 能力 | 说明 |
| 自动捕获 | 配套浏览器扩展(MV3)监听 chat.deepseek.com,通过官方 history_messages 接口拉取对话,自动同步到本插件 |
| 本地存储 | 数据落在 $DSH_HOME/capture/(JSON,每会话一个文件 + index.json),零上传,开发者可直接查看 |
| Token 统计 | 累计节省 Token / 对话数 / 今日捕获 / 估算金额(页面标注口径) |
| 消息级导入 | 不整段导入——打开捕获对话,按单条消息勾选(快捷"仅开头/仅结尾"),导入 = 在当前工作区新建 Harness 会话,选中消息成为该会话历史,可继续对话 |
架构
浏览器扩展 (MV3) dsh 插件 (本仓库)
┌──────────────────────┐ POST ┌──────────────────────────────┐
展开完整文档(README 剩余 1 节)
convoport
DeepSeek Harness 插件:全自动捕获 DeepSeek 网页版对话,100% 本地存储,按消息挑选导入工作区会话,并统计你节省的 Token。
npm version
npm downloads
License: MIT
它做什么
| 能力 | 说明 |
| 自动捕获 | 配套浏览器扩展(MV3)监听 chat.deepseek.com,通过官方 history_messages 接口拉取对话,自动同步到本插件 |
| 本地存储 | 数据落在 $DSH_HOME/capture/(JSON,每会话一个文件 + index.json),零上传,开发者可直接查看 |
| Token 统计 | 累计节省 Token / 对话数 / 今日捕获 / 估算金额(页面标注口径) |
| 消息级导入 | 不整段导入——打开捕获对话,按单条消息勾选(快捷"仅开头/仅结尾"),导入 = 在当前工作区新建 Harness 会话,选中消息成为该会话历史,可继续对话 |
架构
浏览器扩展 (MV3) dsh 插件 (本仓库)
┌──────────────────────┐ POST ┌──────────────────────────────┐
│ content script │ ────────▶ │ lib/index.js 服务端半区 │ │ · chat.deepseek.com │ /capture │ · /capture/ingest 接收落盘 │ │ · 官方 API 拉取 │ │ · /capture/sessions 资产列表 │ │ · 批量队列上报 │ │ · /capture/messages 消息详情 │ └──────────────────────┘ │ · /capture/stats 统计 │ │ · /capture/import 导入新会话 │ │ lib/client.js Web 侧边栏面板 │ │ sidebar.footer.action 槽位 │ └──────────────────────────────┘
安装
1. 安装插件
dsh plugin --profile web add convoport
重启 dsh web,刷新浏览器
2. 加载浏览器扩展(extension/ 目录随 npm 包发布,也可从 GitHub 仓库获取)位置:node_modules/convoport/extension/ 或仓库 extension/ 目录 chrome://extensions → 打开「开发者模式」→ 「加载已解压的扩展程序」→ 选择 extension/ 目录可选:点击扩展图标 → 设置 → 确认后端地址为 http://127.0.0.1:3080(dsh web 端口)
提示:安装插件后扩展目录在 node_modules/convoport/extension/;也可以直接从 GitHub 仓库(extension/)加载,两者内容一致。
用法
1. 浏览器扩展开启后,在 chat.deepseek.com 正常对话,扩展自动同步。
2. Web 侧边栏底部出现「⛁ Convoport」按钮 → 打开面板:
- 统计卡:累计 Token / 对话数 / 今日捕获 / 估算金额
- 捕获列表:每段对话的标题、条数、Token、导入状态
3. 点某段对话 → 消息级选择视图:勾选需要的消息(快捷"仅开头 3 条 / 仅结尾 3 条 / 全选 / 清空")
4. 点「导入选中到新会话 (N)」→ 左侧会话列表出现新会话,历史就是选中的 DeepSeek 消息,可继续对话。
也支持 /capture 命令在对话里直接看统计概览。
API
| 方法 | 路径 | 说明 |
| POST | /capture/ingest | 扩展上报对话 {source,url,title,captured_at,messages[]};按 url 幂等合并,按 message_id 去重 |
| GET | /capture/sessions | 捕获资产列表(含导入状态) |
| GET | /capture/messages?id= | 某会话完整消息 |
| GET | /capture/stats | 统计 |
| GET | /capture/search?q= | 全文搜索(SQLite FTS5 + LIKE 兜底) |
| POST | /capture/import | {id, indexes[]} → 新建 Harness 会话,返回 sessionId |
| DELETE | /capture/sessions?id= | 删除捕获会话 |
Token 口径
- 优先使用 DeepSeek 官方 accumulated_token_count(扩展上报时写入每条消息的 token_count)
- 缺省时用 Harness 同款启发式:4 字符/token + 结构开销(与 dsh-token-meter 一致)
- 统计页/命令输出均标注口径;估算金额按 $0.02 / 1k tokens 参考价
开发
本地开发(link 安装):在 profile 的 package.json dependencies 加: "convoport": "link:" 然后 dsh plugin --profile web add convoport 触发 reconcile
服务端(lib/index.js)改动需重启 dsh web;客户端(lib/client.js)是 no-cache 实时读盘,改完刷新浏览器即可。
测试
node test/standalone.mjs # 存储层:幂等 upsert / 去重 / 统计
node test/session-events.mjs # 会话事件序列被 dsh-session 接受并正确回放
node test/integration.mjs # live 模式 create + append + flush
node test/edge-cases.mjs # 边界:连续 assistant / 连续 user 消息
node test/content-logic.mjs # 扩展 content.js 解析逻辑(token 差值/排序/过滤)
node test/content-boot.mjs # 扩展 content.js 启动完整性(hook 重写/初始化)
node test/background-queue.mjs # 扩展 background 队列(合并/去重/持久化)
node test/http-e2e.mjs # HTTP 全链路:ingest → stats → search → import
node test/extension-e2e.mjs # 扩展→插件全链路(需先起 dsh web)预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MrElysium/convoport
自动抓取网页对话,按消息挑选导入为可续聊的会话
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目