🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

对话知识库 urzeye/ophel

DeepSeek Harness
urzeye1 天前有提交已提供中文文档扫描:未发现敏感能力

把 AI 对话变成可整理、可复用的工作流,主流 AI 平台通用。

69.1/100
综合分
1,007
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add urzeye/ophel
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包ophel(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 14:37:17

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 53 处,展示前 53 条)
  • 发起网络请求
    src/adapters/aistudio.ts:1326
    const response = await fetch(endpoint, {
  • 发起网络请求
    src/adapters/aistudio.ts:1821
    const response = await platform.fetch(this.buildDriveDownloadUrl(fileId))
  • 发起网络请求
    src/adapters/aistudio.ts:1831
    const confirmed = await platform.fetch(
  • 发起网络请求
    src/adapters/chatglm.ts:656
    const response = await fetch(
  • 发起网络请求
    src/adapters/chatgpt.ts:553
    const response = await fetch("/api/auth/session", {
  • 发起网络请求
    src/adapters/chatgpt.ts:672
    return fetch(endpoint, {
  • 发起网络请求
    src/adapters/chatgpt.ts:1924
    let response = await fetch(url, {
  • 发起网络请求
    src/adapters/chatgpt.ts:1931
    response = await fetch(url, {
  • 发起网络请求
    src/adapters/claude.ts:507
    const response = await fetch(endpoint, {
  • 发起网络请求
    src/adapters/claude.ts:666
    const response = await fetch("/api/organizations", {
  • 发起网络请求
    src/adapters/claude.ts:1895
    const response = await fetch(this.buildConversationApiUrl(orgId, sessionId), {
  • 发起网络请求
    src/adapters/claude.ts:2739
    const response = await fetch(this.buildConversationApiUrl(orgId, sessionId), {
  • 发起网络请求
    src/adapters/deepseek.ts:1128
    const response = await fetch(
  • 发起网络请求
    src/adapters/deepseek.ts:2838
    const response = await fetch(
  • 发起网络请求
    src/adapters/deepseek.ts:2872
    const response = await fetch(
  • 发起网络请求
    src/adapters/deepseek.ts:3862
    const response = await fetch(CHAT_DELETE_API_PATH, {
  • 发起网络请求
    src/adapters/gemini.ts:3579
    const response = await platform.fetch(source)
  • 发起网络请求
    src/adapters/gemini.ts:3674
    const response = await fetch(blobUrl)
  • 发起网络请求
    src/adapters/grok.ts:605
    const response = await fetch(endpoint, {
  • 发起网络请求
    src/adapters/grok.ts:2279
    const response = await fetch(`/rest/app-chat/share_links/${encodeURIComponent(shareId)}`, {
  • 发起网络请求
    src/adapters/grok.ts:2815
    const treeResponse = await fetch(
  • 发起网络请求
    src/adapters/grok.ts:2837
    const contentResponse = await fetch(
  • 发起网络请求
    src/adapters/kimi.ts:1115
    const response = await fetch(deleteUrl, {
  • 发起网络请求
    src/adapters/qwen-studio.ts:468
    const response = await fetch(
  • 发起网络请求
    src/adapters/qwen-studio.ts:1685
    const response = await fetch(url.toString(), {
  • 发起网络请求
    src/adapters/qwen-studio.ts:2207
    const response = await fetch(url.toString(), {
  • 发起网络请求
    src/adapters/qwen-studio.ts:2232
    const response = await fetch(url.toString(), {
  • 发起网络请求
    src/adapters/qwen-studio.ts:3382
    const response = await fetch("/api/v2/users/user/settings/update", {
  • 发起网络请求
    src/adapters/zai.ts:1177
    const response = await fetch(
  • 发起网络请求
    src/adapters/zai.ts:1218
    const response = await fetch(`/api/v1/chats/share/${encodeURIComponent(shareId)}`, {
  • 发起网络请求
    src/background.ts:602
    const response = await fetch(message.url, {
  • 发起网络请求
    src/background.ts:642
    const response = await fetch(url, {
  • 请求外部主机claude.ai
    src/background.ts:1084
    const response = await fetch("https://claude.ai/api/organizations", {
  • 发起网络请求
    src/background.ts:1084
    const response = await fetch("https://claude.ai/api/organizations", {
  • 发起网络请求
    src/core/aistudio-rpc-bridge.ts:60
    const response = await pageWindow.fetch(
  • 写入剪贴板
    src/core/assistant-mermaid-renderer.ts:1240
    await navigator.clipboard.writeText(source)
  • 发起网络请求
    src/core/gemini-mystuff-bridge.ts:266
    const response = await getPageWindow().fetch(buildRequestUrl(tokens), {
  • 写入剪贴板
    src/core/watermark-remover.ts:876
    await navigator.clipboard.write([clipboardItem])
  • 发起网络请求
    src/core/webdav-sync.ts:368
    const response = await this.request("PROPFIND", this.config.remoteDir, null, {
  • 发起网络请求
    src/core/webdav-sync.ts:414
    await this.request("MKCOL", this.config.remoteDir)
  • 发起网络请求
    src/core/webdav-sync.ts:422
    const response = await this.request("PUT", remotePath, JSON.stringify(exportData, null, 2), {
  • 发起网络请求
    src/core/webdav-sync.ts:468
    const response = await this.request("PROPFIND", this.config.remoteDir, body, {
  • 发起网络请求
    src/core/webdav-sync.ts:498
    const response = await this.request("DELETE", remotePath)
  • 发起网络请求
    src/core/webdav-sync.ts:537
    const response = await this.request("GET", remotePath)
  • 写入剪贴板
    src/hooks/useShortcuts.ts:513
    await navigator.clipboard.writeText(text)
  • 写入剪贴板
    src/hooks/useShortcuts.ts:616
    await navigator.clipboard.writeText(adapterCode)
  • 写入剪贴板
    src/hooks/useShortcuts.ts:647
    await navigator.clipboard.writeText(code)
  • 发起网络请求
    src/platform/types.ts:188
    fetch(url: string, options?: FetchOptions): Promise<FetchResponse>
  • 发起网络请求
    src/utils/exporter.ts:1818
    const response = await fetch(candidate)
  • 发起网络请求
    src/utils/exporter.ts:1941
    const response = await fetch(sourceUrl)
  • 发起网络请求
    src/utils/exporter.ts:1962
    const response = await fetch(sourceUrl, {
  • 发起网络请求
    src/utils/exporter.ts:1982
    platform.fetch(sourceUrl),
  • 写入剪贴板
    src/utils/exporter.ts:2238
    await navigator.clipboard.writeText(content)
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:claude.ai

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
Ophel Atlas 🚀 把 AI 聊天变成可阅读、可导航、可复用的文档 语言:English | 简体中文 ✨ 把对话变成知识,而不只是历史记录 ✨ 再也不用在无尽的滚动里迷路。用实时大纲理清上下文,用聊天文件夹搭起你的体系,用提示词库打磨体验,让闪光的想法有序流动。 👇 演示:从「无限滚动」到「可导航的 AI 文档」 第一次让 AI 聊天成为真正可整理的工作流 不管你用下面哪个平台,Ophel 都能让你把对话整理成可复用的工作流,体验始终一致、统一。 📣 帮忙推广 Ophel Atlas 核心功能 • 快速开始 • 支持 Ophel Atlas • 参与共建 🌐 English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Deutsch | Français | Español | Português | Русский ✨ 核心功能 适合学习、研究、需求分析、代码讨论、内容创作——任何需要结构、秩序和复用的 AI 对话。
展开完整文档(README 剩余 1 节)
Ophel Atlas 🚀

把 AI 聊天变成可阅读、可导航、可复用的文档

语言:English | 简体中文

✨ 把对话变成知识,而不只是历史记录 ✨

再也不用在无尽的滚动里迷路。用实时大纲理清上下文,用聊天文件夹搭起你的体系,用提示词库打磨体验,让闪光的想法有序流动。

👇 演示:从「无限滚动」到「可导航的 AI 文档」

第一次让 AI 聊天成为真正可整理的工作流

不管你用下面哪个平台,Ophel 都能让你把对话整理成可复用的工作流,体验始终一致、统一。

📣
帮忙推广 Ophel Atlas

核心功能 • 快速开始 • 支持 Ophel Atlas • 参与共建

🌐 English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Deutsch | Français | Español | Português | Русский

✨ 核心功能

适合学习、研究、需求分析、代码讨论、内容创作——任何需要结构、秩序和复用的 AI 对话。

功能说明

🧭 智能大纲自动解析对话结构,生成可导航的目录,支持层级折叠、搜索、锚点、书签、大纲复制和字数统计

💬 会话文件夹 + 标签双维度管理,从来源站点自动同步,支持搜索、批量操作和拖拽排序

📤 导出多格式导出(Markdown/JSON/TXT),打包图片和附件为 zip,分段导出精准提取内容

💡 提示词库变量模板、分类、一键插入、提示词链和队列自动连续发送、选中引用操作

🧩 站点适配器内置 15 个主流 AI 站点适配器;从「站点包」区域安装适配器包,热插拔支持更多站点,云端更新自动修复内置适配器

🔍 全局搜索统一搜索会话、大纲、提示词和设置,支持 folder: tag: date: 语法过滤和模糊匹配

📖 阅读 Mermaid 图表渲染、LaTeX 公式支持、用户提问 Markdown 样式、滚动锁定

⌨️ 效率阅读历史恢复、自定义快捷键、模型锁定、增强标签页命名、AI 完成通知

🎨 主题 20+ 主题、自定义 CSS、宽屏模式、禅模式,Option+D 切换深色/浅色

🔒 隐私与数据默认本地存储、WebDAV 多设备同步、文件导入/导出、零数据收集

📖 完整文档 →

[!IMPORTANT]

Ophel Atlas 把隐私放在第一位:默认本地,数据始终由你掌控。

- 默认本地: 设置、提示词、聊天管理数据都存在你的浏览器里
- 无需账号: 不用注册就能用
- 按需授权: 可选权限只在需要时申请,随时可以撤销(见扩展里的权限页面)
- 可选 WebDAV 同步: 用你自己的 WebDAV 实现多设备一致(可控、可迁移)
- 导出与备份: 支持导出和迁移,避免被锁定

_对具体 AI 站点的支持取决于站点匹配和页面结构变化_

🚀 快速开始

[!tip]

强烈推荐使用浏览器扩展版本,功能更完整、体验更好、兼容性更高。用户脚本版本有局限。

手动安装(离线或访问受限)

浏览器扩展

1. 从 Releases 下载并解压
2. 打开浏览器扩展页面,启用开发者模式
3. 点击加载已解压的扩展程序,选择解压后的文件夹

用户脚本

1. 安装 Tampermonkey
2. 从 Releases 下载 .user.js 文件
3. 拖进浏览器,或点击链接安装

常见问题:用户脚本版里自定义 SitePack 域名怎么用?

用户脚本管理器不允许 Ophel 自动添加新的 @match 条目。在 Settings → Site Packs 下添加自定义站点后,复制用户脚本访问提示里列出的每条规则,再通过你的管理器添加:

- Tampermonkey: 打开 Ophel 脚本,选择 Settings → Includes/Excludes → User matches,添加复制好的规则,然后保存。
- Violentmonkey: 打开 Ophel 脚本设置,在自定义 @match 规则下添加这些规则。
- ScriptCat: 打开脚本设置,在用户/自定义匹配规则下添加这些规则;标签名称可能因 ScriptCat 版本而异。

保存后重新加载每个目标站点。优先用管理器侧的自定义规则,不要直接改 Ophel 的元数据头:用户脚本更新时,自定义规则会保留。

🙌 支持 Ophel Atlas

💖 天使支持

treasuresure

🌟 支持者

Hugh

南

anonymous

狷客行舟🍜狂?

煜

Ice_wilderness

Jeff Peng

火华兰樱

Lewu Gao

Will

Steel Maestro

Count Basil

anonymous

然

如果 Ophel Atlas 给你的工作流带来过乐趣,或者帮你省下了宝贵时间,不妨用一颗 Star 或一次 Sponsor 为它的旅程添把火。 ☕️

分享同样有力量:如果你愿意在 Reddit、X、YouTube、Linux.do 或 Appinn 上分享你的使用体验,我们会非常开心。每一条反馈、每一次推荐,都在帮 Ophel 成长!

微信支付

支付宝

爱发电

🤝 参与共建

“If you want to go fast, go alone. If you want to go far, go together.”

感谢 Linux.do 社区的讨论与支持。项目里的很多想法和改进,都来自社区成员分享的反馈。
我们也期待更多开发者加入。如果你还不熟悉代码库,可以先看文档,或者借助 AI 助手快速上手:

💻 本地开发指南

环境要求:Node.js >= 18.x、pnpm >= 9.x

1. Clone the repo and enter the project directory
git clone https://github.com/urzeye/ophel.git
cd ophel

2. 安装依赖

pnpm install

3. 启动开发服务器(支持浏览器扩展 HMR)

pnpm dev

======== 构建与打包 ========

为各浏览器构建生产版本

pnpm build # 构建 Chrome 扩展
pnpm build:firefox # 构建 Firefox 扩展
pnpm build:all # 构建所有平台

打包成可分发的压缩包(.zip)

pnpm package # 从已有构建打包 Chrome 扩展
pnpm package:firefox # 从已有构建打包 Firefox 扩展
pnpm package:all # 打包所有平台

======== 用户脚本开发 ========

pnpm build:userscript:local # 构建用户脚本,用于本地调试
pnpm serve:userscript:assets # 在本地提供静态资源

[!TIP]
💡 贡献指南:提交 PR 前,建议先 fork 仓库、新建分支,并确保代码通过 pnpm lint:check 和 pnpm typecheck。

🌌 _开源由社区的每一颗星点亮。_

衷心感谢以下每一位贡献者。你们的付出让这个仓库更加闪耀。

小 i 同学💻 🤔 🚇 treasuresure🎨 💵 去年夏天💻 Jianglang💻 🐛 Felix Liu💻 Madoka💻 Lin Zit Ting💻 joevalleyfield💻

hugo2233📣
t0ny-peng💻
mrpops2ko💻
Suxixihuanni📣
Ice-wilderness💻 🐛
Gitoffthelawn📖
Dr. Sri Harsha Guthikonda💻
crazyn2💻

Cola💻

⭐ Star 历史

由 urzeye 用 ❤️ 打造 GPLv3 许可证
预览分享卡片长什么样 ↓urzeye/ophel
分享 · DeepSeek Harness Hub
urzeye/ophel

把 AI 对话变成可整理、可复用的工作流,主流 AI 平台通用。

回到顶部