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

锤子便签 zhaoolee/notes

DeepSeek Harnessv0.0.4
zhaoolee3 天前有提交已提供中文文档扫描:含敏感能力

开源版锤子便签,复刻锤科美学,一键Docker私有化部署,支持skill调用,支持dsh…

65.9/100
综合分
318
GitHub 星标
—
npm 周下载
—/5
用户评分

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

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhaoolee/notes
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

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

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

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

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

✓npm 包notes @ 0.0.4
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 15:33:52

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 30 处,展示前 30 条)
  • 写入本地文件
    dsh-plugin/lib/notes-client.js:120
    await writeFile(filePath, png, { flag: "wx", mode: 0o600 });
  • 写入本地文件
    dsh-plugin/src/notes-client.ts:209
    await writeFile(filePath, png, { flag: "wx", mode: 0o600 });
  • 读取密钥环境变量
    server/ai.ts:92
    return process.env.OPENAI_API_KEY?.trim() || "";
  • 发起网络请求
    server/ai.ts:211
    const response = await fetch(buildApiUrl(baseUrl.toString(), "models"), {
  • 发起网络请求
    server/ai.ts:317
    response = await fetch(buildApiUrl(baseUrl, "chat/completions"), {
  • 读取密钥环境变量
    server/auth.ts:1004
    const configuredSecret = process.env.SESSION_SECRET?.trim();
  • 读取密钥环境变量
    server/auth.ts:1011
    const adminPassword = process.env.SUPERADMINPASSWORD?.trim() || "";
  • 读取密钥环境变量
    server/auth.ts:1107
    const adminPassword = process.env.SUPERADMINPASSWORD?.trim();
  • 读取密钥环境变量
    server/qiniu.ts:153
    const accessKey = process.env.QINIU_ACCESS_KEY?.trim();
  • 读取密钥环境变量
    server/qiniu.ts:154
    const secretKey = process.env.QINIU_SECRET_KEY?.trim();
  • 发起网络请求
    server/wechat-import/fetch.ts:226
    const target = route.request().url();
  • 发起网络请求
    server/wechat-official.ts:144
    response = await fetch(url, {
  • 发起网络请求
    src/lib/ai.ts:30
    const response = await fetch("/api/ai/status", {
  • 发起网络请求
    src/lib/ai.ts:49
    const response = await fetch("/api/ai/suggestions", {
  • 发起网络请求
    src/lib/auth.ts:59
    const response = await fetch(url, {
  • 发起网络请求
    src/lib/auth.ts:155
    const response = await fetch("/api/hermes-skill/download", {
  • 写入剪贴板
    src/lib/clipboard.ts:35
    await navigator.clipboard.writeText(text);
  • 发起网络请求
    src/lib/export.ts:196
    const response = await fetch("/api/export", {
  • 发起网络请求
    src/lib/export.ts:267
    const response = await fetch("/api/archive", {
  • 发起网络请求
    src/lib/export.ts:309
    const response = await fetch(`/api/workspace/archive/${job.id}/download`, {
  • 发起网络请求
    src/lib/export.ts:381
    const createResponse = await fetch("/api/workspace/archive", {
  • 发起网络请求
    src/lib/export.ts:420
    const statusResponse = await fetch(`/api/workspace/archive/${job.id}`, {
  • 发起网络请求
    src/lib/images.ts:81
    const response = await fetch("/api/images/import", {
  • 发起网络请求
    src/lib/wechat-config.ts:28
    const response = await fetch("/api/wechat/config", {
  • 发起网络请求
    src/lib/wechat-config.ts:44
    const response = await fetch("/api/wechat/config", {
  • 发起网络请求
    src/lib/wechat-config.ts:62
    const response = await fetch("/api/wechat/status", {
  • 发起网络请求
    src/lib/wechat-import.ts:223
    response = await fetch("/api/import/wechat/preview", {
  • 发起网络请求
    src/lib/wechat.ts:49
    const response = await fetch("/api/wechat", {
  • 写入剪贴板
    src/lib/wechat.ts:125
    await navigator.clipboard.write([item]);
  • 发起网络请求
    src/lib/wechat.ts:149
    const response = await fetch("/api/wechat/draft", {
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

界面预览

6 张 · 点击查看大图

功能亮点

  • 支持skill调用
  • 一键生成公众号格式
展开完整介绍(77 字)↓

开源版锤子便签,复刻锤科美学,一键Docker私有化部署,支持skill调用,支持dsh plugin,支持多租户,一键生成公众号格式,支持导出便签为图片

README

由 DeepSeek 最新模型翻译生成
开源版锤子便签 | 支持手机版 | 一键发送公众号 | - 锤子便签风格的导出器,预览与图片导出支持暖白纸感、深夜便签、iPhone 备忘录深浅模式和 Bear 极简排版。 - 可用来分享与 openclaw 的对话记录。 - 完美复刻锤子便签网页版和 PC 版,支持多便签,分类存储。 - 支持 Docker 一键私有化部署 - 纯 WEB 应用,无需安装任何 App,打开即用 - 支持 PC 端和手机版,多端数据同步,支持公网部署 - 支持图片插入。 - 支持一键粘贴到公众号助手。 - 支持直接导出便签为图片,或复制为 markdown 格式进行分享。 - 自带浏览器持久化,关闭页面也不会丢失数据。 - 开源免费,可私有化部署。 - 工匠精神沁入 AI,可以通过 AI Skill 直接调用工具,生成便签。 - 支持自定义底部标识(点击即可编辑) - API 原生封装支持 Hermes Agent,OpenClaw 直接通过 skill 驱动管理便签 - 支持 DeepSeek Harness(DSH),让智能体将对话导出为锤子便签。 - 支持接入 DeepSeek 润色书写内容,语法标点检查,重点加粗,复杂概念通俗化释义。
展开完整文档(README 剩余 1 节)
开源版锤子便签

| 支持手机版 | 一键发送公众号 |

- 锤子便签风格的导出器,预览与图片导出支持暖白纸感、深夜便签、iPhone 备忘录深浅模式和 Bear 极简排版。
- 可用来分享与 openclaw 的对话记录。
- 完美复刻锤子便签网页版和 PC 版,支持多便签,分类存储。
- 支持 Docker 一键私有化部署
- 纯 WEB 应用,无需安装任何 App,打开即用
- 支持 PC 端和手机版,多端数据同步,支持公网部署
- 支持图片插入。
- 支持一键粘贴到公众号助手。
- 支持直接导出便签为图片,或复制为 markdown 格式进行分享。
- 自带浏览器持久化,关闭页面也不会丢失数据。
- 开源免费,可私有化部署。
- 工匠精神沁入 AI,可以通过 AI Skill 直接调用工具,生成便签。
- 支持自定义底部标识(点击即可编辑)
- API 原生封装支持 Hermes Agent,OpenClaw 直接通过 skill 驱动管理便签
- 支持 DeepSeek Harness(DSH),让智能体将对话导出为锤子便签。
- 支持接入 DeepSeek 润色书写内容,语法标点检查,重点加粗,复杂概念通俗化释义。
- 支持一键下载包含图片的 Markdown 资源包
- 支持下载为 html 离线查看

通过 DSH 调用

可以在 DSH 的「插件市场」中搜索 notes 直接安装;源码仓库已经携带预编译产物,无需开启 allowBuilds。也可以通过命令行安装 npm 版本:

dsh plugin --profile web add @zhaoolee/dsh-notes

安装后请重启目标 profile,使插件生效。重启后,在 DeepSeek Harness 对话中说:把我们的对话导出成便签, 智能体会自动整理当前对话并调用插件生成便签。

| Deepseek Harness 生成分享便签 | 导出效果 |

通过 skill 调用

clawhub 地址 https://clawhub.ai/zhaoolee/notes-export-api

从clawhub安装 notes-export-api这个 skill, 联网获取最近一周 AI 相关的新闻,将新闻转化为 markdown 生成便签图片,把便签图片绝对路径返回给我,把图片往“下载”文件夹复制一份

支持自定义底部品牌标识(点击就能改)

只要你喜欢,可以把底部的「锤子便签」改成「凿子便签」或「榔头便签」

支持下载文章,包含网页,markdown 以及管理的图片资源

支持接入 DeepSeek,修正语法错误,重点加粗,通俗化润色

零配置,复制即可将权限导入 hermes agent

登陆后,复制一行专属链接,粘贴给 Hermes Agent 或 OpenClaw,即可获取包含登身份认证的 skill 包,实现人机协同

支持多用户隔离

可以给 AI 分配一个账号,人类分配一个账号,数据严格隔离

支持一键粘贴到公众号助手

在手机的网页写完,直接一键粘贴到公众号即可发送,文本格式和图片,统统自动处理好!

导入微信公众号文章

登录后,在桌面顶栏、手机便签列表或便签侧栏点击「导入公众号文章」,粘贴一条公开文章链接。
未登录点击入口会打开登录窗口;该接口始终要求登录,不受全站匿名体验开关影响。
支持 https://mp.weixin.qq.com/s/文章ID,也支持带 __biz、mid、idx、sn 的 https://mp.weixin.qq.com/s?... 链接。解析完成后先看标题、来源、Markdown 预览和图片成功/失败数量,再点「创建便签」。取消不会新建便签,也不会覆盖当前正在编辑的内容。

正文图片会下载到本服务的 /images/{内容哈希}.{扩展名},相同图片不会重复保存。
某一张图片下载失败时,文章其余内容仍然可以导入,预览里会标出失败项。视频、语音、小程序等暂时不能直接转换,会保留占位和能确认的原链接。

常见失败:
- 链接不是 mp.weixin.qq.com 上的文章页。
- 文章已删除、审核中,或微信弹出验证码 / 访问频率限制。服务不会尝试绕过验证。
- 网络超时或微信没有返回正文。可以把正文复制到原来的 Markdown 编辑器。

公众号导入始终要求登录,每个账号大约每小时 30 次,同时最多使用 2 个浏览器抓取。
公网环境建议再在反向代理上限制 POST /api/import/wechat/preview。需要紧急关闭时设置 WECHAT_IMPORT_ENABLED=false。REQUIRE_LOGIN 只控制全站匿名体验,不会放开导入权限。

支持子公司和各类知名主题

| 子公司主题 | 母公司主题 |

网页版

| 暖白纸感 | 深夜便签 |

技能服务地址

便签管理和 PNG 导出统一使用 NOTES_API_BASE_URL,可写入 skills/notes-export-api/.env,或通过 --base-url 传入:

NOTES_API_BASE_URL=http://127.0.0.1:18080

认证及完整配置见 skills/notes-export-api/SKILL.md。

使用 Docker Hub 镜像部署

单镜像同时包含 Web 前端和后端服务,便签管理、图片导入和 PNG 导出均可在本地运行。公众号复制和 AI 等可选功能需另行配置相应服务。

需要登录、多端同步或技能工作区管理时,先复制 .env.example,并配置 SUPERADMIN、SUPERADMINPASSWORD 和高熵 SESSION_SECRET:

cp .env.example .env
mkdir -p ./storage/images ./storage/data

docker run -d \
--restart unless-stopped \
--name notes \
-p 127.0.0.1:18080:3001 \
--env-file .env \
-v "$(pwd)/storage/images:/app/storage/images" \
-v "$(pwd)/storage/data:/app/storage/data" \
zhaoolee/notes:latest

私有部署还可设置 REQUIRE_LOGIN=true。开启后首页只显示不可关闭的登录页,匿名请求不能调用编辑、上传、导出、公众号文章导入等后端 API;默认值为 false,现有公开体验部署不受影响。开启前请确保已配置超级管理员,以便登录 /superadmin 创建普通账号。
WECHAT_IMPORT_ENABLED=false 可单独关闭公众号文章导入。该功能始终仅限登录用户,并有每小时次数限制;面向公网时仍建议由反向代理限制该接口。

启动后访问 http://127.0.0.1:18080。storage/images 保存图片和导出的 PNG, storage/data 保存账号与云端工作区,两者都应持久化和备份。仅使用匿名编辑与导出时可省略 --env-file .env;需要局域网访问时可将端口映射改为 -p 18080:3001,公网部署应使用 HTTPS 反向代理。

许可证

本项目自有代码采用 Apache License 2.0,版权声明见 NOTICE。

以下组件保留各自的许可证:

- DSH 插件:见 dsh-plugin/LICENSE,采用 MIT。
- 便签导出 API 技能:见 skill-card.md,采用 MIT-0。

第三方依赖及图片、字体、图标等第三方资源不因本项目的代码许可证而被重新授权,其权利与使用条件以各自权利方的许可为准。本项目的代码许可证不授予第三方商标权。
预览分享卡片长什么样 ↓zhaoolee/notes
分享 · DeepSeek Harness Hub
zhaoolee/notes

开源版锤子便签,复刻锤科美学,一键Docker私有化部署,支持skill调用,支持dsh…

回到顶部