OpenClaw bear-notes 技能详解:用 grizzly CLI 在 macOS 上让 AI 管理 Bear 笔记

发布时间:2026/9/7 18:21:26
OpenClaw bear-notes 技能详解:用 grizzly CLI 在 macOS 上让 AI 管理 Bear 笔记 OpenClaw bear-notes 技能详解用 grizzly CLI 在 macOS 上让 AI 管理 Bear 笔记【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw本文以 OpenClaw 仓库内置的 bear-notes 技能 为主体完整讲解如何通过grizzly命令行工具在 macOS 上创建、读取、追加和检索 Bear 笔记包括 API Token 获取、常用命令、通用参数与配置优先级并结合 OpenClaw 的技能加载、metadata.openclaw门控与 Go 安装器实现机制说明该技能如何被 Agent 发现、判定可用并自动安装依赖帮助你把 Bear 笔记管理真正接入 OpenClaw 的智能体工作流。1. 技能定位一个典型的 macOS 专属 CLI 技能bear-notes 技能 位于仓库的skills/bear-notes/目录是 OpenClaw 随发行版内置bundled的技能之一。它的核心指令只有一句话Usegrizzlyto create, read, and manage notes in Bear on macOS.也就是说这个技能教会 Agent 一件事当用户提出「帮我记一条 Bear 笔记」「把这段内容追加到某条笔记」「按标签检索笔记」这类需求时Agent 应当通过exec工具调用grizzly这个命令行程序来完成操作而不是凭空编造笔记内容。前置要求来自 SKILL.md 原文已安装并正在运行Bear 应用部分操作add-text、tags、open-note --selected还需要 Bear 应用的 API Token存放在~/.config/grizzly/token。grizzly本身是一个第三方 Go 编写的 Bear API 客户端frontmatter 中声明的安装模块为github.com/tylerwince/grizzly/cmd/grizzlylatestOpenClaw 只负责声明依赖、触发安装和把用法写入 Agent 提示实际的笔记操作全部由grizzly与正在运行的 Bear 应用协作完成。2. frontmatter 门控解析为什么它只在 macOS 上生效bear-notes 的 SKILL.md 头部声明如下--- name: bear-notes description: Create, search, and manage Bear notes via grizzly CLI. homepage: https://bear.app metadata: { openclaw: { emoji: , os: [darwin], requires: { bins: [grizzly] }, install: [ { id: go, kind: go, module: github.com/tylerwince/grizzly/cmd/grizzlylatest, bins: [grizzly], label: Install grizzly (go), }, ], }, } ---逐项对照 Skills 参考文档 中的 Gating 说明各字段作用如下字段取值作用namebear-notes技能唯一 slug也是斜杠命令名/bear-notesdescription一句话描述展示给 Agent 和斜杠命令发现输出用于模型判断何时使用homepageBear 官网在 macOS Skills UI 中显示为 “Website”metadata.openclaw.os[darwin]硬性平台过滤只有本地主机或已连接的远程运行时是 macOS 时技能才有资格加载always标志也不能覆盖此过滤metadata.openclaw.requires.bins[grizzly]要求grizzly可执行文件存在于PATH加载时逐一检查metadata.openclaw.installGo 安装器规格告诉 macOS Skills UI 如何安装缺失的依赖见第 5 节metadata.openclaw.emojimacOS Skills UI 中显示的图标这里的组合非常典型os: [darwin]requires.bins构成了「平台 二进制」双重门控。在 Linux 网关上该技能默认不会出现除非连接了允许system.run的 macOS 节点且节点上存在grizzlyOpenClaw 会据此把 macOS 专属技能标记为有资格并提示 Agent 通过exec hostnode远程执行——见 Skills — Snapshots and refresh。另外一个关键行为requires.bins的检查发生在宿主机的技能加载时刻如果 Agent 运行在沙箱里二进制还必须存在于容器内部需要经由agents.defaults.sandbox.docker.setupCommand或自定义镜像安装。也就是说grizzly 必须同时满足「宿主机探测」和「执行环境可见」两个条件技能才真正可运行。OpenClaw 解析嵌套metadata块的方式也值得注意frontmatter 先按 YAML 解析嵌套的metadata块含多行 YAML 映射会被扁平化为 JSON 字符串再按 JSON5 重新解析因此 bear-notes 中这种 JSON5 风格的metadata写法是官方支持的规范格式见 Skills — SKILL.md format。3. 获取 Bear API Token需要 Token 的操作是add-text、tags、open-note --selected。获取与保存步骤原文档完整保留打开 Bear → Help → API Token → Copy Token保存 Token 文件echo YOUR_TOKEN ~/.config/grizzly/tokenToken 文件路径默认为~/.config/grizzly/token当命令行显式传了--token-file、或设置了环境变量/配置文件时也可以指向其他路径见第 5 节的配置优先级。4. 常用命令与通用参数以下是 SKILL.md 给出的全部常用命令均可直接复制运行前提是 Bear 正在运行。4.1 创建笔记createecho Note content here | grizzly create --title My Note --tag work grizzly create --title Quick Note --tag inbox /dev/null笔记正文从stdin读入第一行用管道传入内容第二条用 /dev/null说明正文可以为空适合只建一个带标签的占位笔记如 inbox 收件箱条目--title指定标题--tag指定标签。4.2 按 ID 打开/读取笔记open-notegrizzly open-note --id NOTE_ID --enable-callback --jsonNOTE_ID是 Bear 的内部标识符可以在 Bear 的笔记信息中查看也可以经由回调返回结果获取。--enable-callback在这里是必需的需要把数据从 Bear 读回来时grizzly 必须等待 Bear 的回调响应见 4.6 通用参数。4.3 向笔记追加文本add-textecho Additional content | grizzly add-text --id NOTE_ID --mode append --token-file ~/.config/grizzly/token--mode append表示在笔记末尾追加add-text属于需要 Token 的操作所以这里显式带上了--token-file。4.4 列出全部标签tagsgrizzly tags --enable-callback --json --token-file ~/.config/grizzly/token同时命中「需要 Token」与「需要回调读数据」两个条件因此三个关键参数都出现了--token-file、--enable-callback、--json。4.5 按标签检索笔记open-taggrizzly open-tag --name work --enable-callback --jsongrizzly 没有单独的 search 子命令「按标签检索」是通过打开该标签的视图open-tag并以回调 JSON 形式拿回结果实现的。4.6 通用参数速查参数说明--dry-run只预览将要构造的 URL不实际执行--print-url打印生成的x-callback-url--enable-callback等待 Bear 的回调响应凡是读取数据的场景都必须加--json回调模式下以 JSON 输出--token-file PATH指定 Bear API Token 文件路径4.7 使用注意事项原文 Notes 完整保留Bear 必须处于运行状态否则命令无法工作Note ID 是 Bear 的内部标识符在笔记信息中可见也可通过回调获得需要从 Bear 读回数据时使用--enable-callback部分操作需要有效 Tokenadd-text、tags、open-note --selected。这套「写操作走 URL 跳转、读操作走回调」的分工是理解全部命令的关键create不需要回调它只发出指令而open-note、tags、open-tag需要回调才能把 Bear 侧的数据带回来。5. grizzly 的配置优先级与配置文件grizzly 本身有独立的配置体系。SKILL.md 说明其读取顺序优先级从高到低CLI 参数命令行 flag环境变量GRIZZLY_TOKEN_FILE、GRIZZLY_CALLBACK_URL、GRIZZLY_TIMEOUT当前目录的.grizzly.toml用户级配置~/.config/grizzly/config.toml示例~/.config/grizzly/config.tomltoken_file ~/.config/grizzly/token callback_url http://127.0.0.1:42123/success timeout 5stoken_fileToken 文件路径即第 3 节写入的位置callback_urlgrizzly 本地临时监听的回调地址Bear 完成操作后回调它这是「读数据」链路的核心timeout等待回调的超时时间示例为 5 秒。对 OpenClaw 使用者有一个实用推论既然 CLI 参数优先级最高Agent 在每条命令里显式携带--token-file/--enable-callback/--json是完全稳妥的而把 token 路径与回调地址固化在用户级 TOML 里可以避免 Agent 反复拼参数也能在环境变量被覆盖时保持行为一致。6. OpenClaw 如何加载这个技能并自动安装 grizzly技能声明只是「一半」另一半是 OpenClaw 的技能加载与安装器机制。6.1 加载与门控链路根据 Skills 参考文档 的加载顺序bear-notes 属于优先级 5 的 bundled skills随 OpenClaw 发行版内置位于仓库的skills/目录。加载时的过滤流程是按加载顺序扫描各级技能根目录发现SKILL.md应用metadata.openclaw门控os平台过滤 →requires.bins二进制检查应用 Agent 白名单与skills.entries配置覆盖会话启动时对合格技能做快照整个会话复用该列表技能快照在会话开始时生成并在会话内复用。如果 grizzly 是刚安装的「新鲜依赖检查」能探测到已装入PATH目录的二进制但不会刷新已有会话的快照——需要新开会话/new或重启网关openclaw gateway restart让 Agent 看到更新后的技能列表。验证技能是否加载成功openclaw skills list6.2 Go 安装器依赖缺失时发生了什么bear-notes 的install声明了唯一的安装器kind为go、模块为github.com/tylerwince/grizzly/cmd/grizzlylatest。根据 Skills — Installer specs 对 Go 安装器的说明其行为约束是OpenClaw 自动安装技能依赖要求Go 1.21 或更新版本若系统缺少go且有 Homebrew会先经 Homebrew 安装 Go实际的go install始终指向OpenClaw 管理的专用 bin 目录全新安装时为 Homebrew 的bin否则为~/.local/bin而不是你配置的GOBIN你自己的GOBIN、GOPATH、GOTOOLCHAIN只会被读取、绝不会被覆盖多安装器并存时网关按 Homebrew → uv → 已配置 node 管理器 → go → download 的顺序偏好选择bear-notes 只提供了 go 一种因此 macOS Skills UI 会展示其标签 “Install grizzly (go)”点击即触发上述流程。这意味着在 macOS 上只要 Go 工具链可用Skills UI 一键即可完成grizzly的编译安装安装完成后requires.bins: [grizzly]检查转为通过技能对新会话生效。若不想走自动安装也可以手动执行等效的go install github.com/tylerwince/grizzly/cmd/grizzlylatest并确保~/.local/bin或 Homebrewbin在PATH中。6.3 在会话中调用技能默认user-invocable: true且未设置disable-model-invocation因此有两条调用路径显式斜杠命令/bear-notes或直接让模型阅读该技能后行动模型自主调用description“Create, search, and manage Bear notes via grizzly CLI.”被注入系统提示当用户表达笔记管理意图时模型选择该技能并按正文指令拼出 grizzly 命令执行。也可以在消息中用$bear-notes显式引用技能让当前 Agent 在执行前先读取这份 SKILL.md。7. 实操要点与边界条件汇总运行环境Bear 应用必须保持运行这是 x-callback-url 机制的硬性前提grizzly 的所有命令最终都通过 Bear 注册的回调 URL 与之通信Token 边界只有add-text、tags、open-note --selected需要 Token纯创建create与open-tag读标签视图不需要读数据必须回调任何希望拿到 Bear 侧结果笔记内容、标签列表的命令都需--enable-callback配合--json便于 Agent 解析配置优先级CLI 环境变量 项目内.grizzly.toml~/.config/grizzly/config.toml调试参数不生效时按此顺序排查技能可见性边界os: [darwin]保证该技能只在 macOS 环境暴露Linux 网关 macOS 节点的组合下可通过节点远程执行但节点离线时技能不会可见安全提示按 Skills — Security 的建议第三方 CLI 技能视为不受信代码使用前应先阅读其指令Token 文件属于凭证不要写入提示词或日志。8. 延伸阅读skills/bear-notes/SKILL.md本文主体技能定义docs/tools/skills.md技能加载顺序、Gating、安装器规格、快照与 Token 影响等完整机制docs/tools/creating-skills.md如何自建类似 bear-notes 的 SKILL.md 技能包括 frontmatter 规范、{baseDir}用法与 ClawHub 发布流程docs/tools/skills-config.mdskills.*完整配置 schema用于按需开关或覆写该技能。【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考