通过 memo CLI 管理 Apple Notes:创建、搜索、编辑。
日本語の概要は準備中です。原文の説明を表示しています。
手绘 Excalidraw JSON 图表(架构图、流程图、序列图)。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
本技能从 Octop 移植。使用这些 harness/deepagents 工具:
| 概念 | 工具 |
|---|---|
| Shell | execute |
| 读/写/编辑文件 | read_file, write_file, edit_file |
| 查找文件/搜索内容 | glob, grep |
| 获取 URL | web_fetch |
| 浏览器自动化 | browser_use |
| 子代理工作 | task |
| 记忆 | memory_store, memory_recall, memory_search |
内置技能文件位于 /_builtin_skills/<name>/。用户安装的技能位于 /skills/<name>/。
通过编写标准 Excalidraw 元素 JSON 并保存为 .excalidraw 文件来创建图表。这些文件可以拖放到 excalidraw.com 进行查看和编辑。无需账户、API 密钥或渲染库——只需 JSON。
为架构图、流程图、序列图、概念图等生成 .excalidraw 文件。文件可以在 excalidraw.com 上打开或上传以获取可共享链接。
write_file 创建 .excalidraw 文件execute 使用 scripts/upload.py 获取可共享链接将元素数组包装在标准 .excalidraw 信封中,并使用 write_file 保存:
{
"type": "excalidraw",
"version": 2,
"source": "octop-harness",
"elements": [ ...你的元素数组... ],
"appState": {
"viewBackgroundColor": "#ffffff"
}
}
保存到任意路径,例如 ~/diagrams/my_diagram.excalidraw。
通过 execute 运行上传脚本:
python _builtin_skills/excalidraw/scripts/upload.py diagrams/my_diagram.excalidraw
这会上传到 excalidraw.com(无需账户)并打印可共享 URL。需要 cryptography pip 包(pip install cryptography)。
type, id(唯一字符串), x, y, width, height
strokeColor: "#1e1e1e"backgroundColor: "transparent"fillStyle: "solid"strokeWidth: 2roughness: 1(手绘外观)opacity: 100画布背景为白色。
矩形:
{ "type": "rectangle", "id": "r1", "x": 100, "y": 100, "width": 200, "height": 100 }
roundness: { "type": 3 } 用于圆角backgroundColor: "#a5d8ff", fillStyle: "solid" 用于填充椭圆:
{ "type": "ellipse", "id": "e1", "x": 100, "y": 100, "width": 150, "height": 150 }
菱形:
{ "type": "diamond", "id": "d1", "x": 100, "y": 100, "width": 150, "height": 150 }
带标签的形状(容器绑定)——创建一个绑定到形状的文本元素:
警告: 绝不要在形状上使用
"label": { "text": "..." }。这不是有效的 Excalidraw 属性,会被静默忽略,导致空白形状。你必须** 使用下面的容器绑定方法。
形状需要 boundElements 列出文本,文本需要 containerId 指回:
{ "type": "rectangle", "id": "r1", "x": 100, "y": 100, "width": 200, "height": 80,
"roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid",
"boundElements": [{ "id": "t_r1", "type": "text" }] },
{ "type": "text", "id": "t_r1", "x": 105, "y": 110, "width": 190, "height": 25,
"text": "Hello", "fontSize": 20, "fontFamily": 1, "strokeColor": "#1e1e1e",
"textAlign": "center", "verticalAlign": "middle",
"containerId": "r1", "originalText": "Hello", "autoResize": true }
containerId 时,文本由 Excalidraw 自动居中x/y/width/height 是近似值——Excalidraw 加载时会重新计算它们originalText 应匹配 textfontFamily: 1(Virgil/手绘字体)带标签的箭头——相同的容器绑定方法:
{ "type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 200, "height": 0,
"points": [[0,0],[200,0]], "endArrowhead": "arrow",
"boundElements": [{ "id": "t_a1", "type": "text" }] },
{ "type": "text", "id": "t_a1", "x": 370, "y": 130, "width": 60, "height": 20,
"text": "connects", "fontSize": 16, "fontFamily": 1, "strokeColor": "#1e1e1e",
"textAlign": "center", "verticalAlign": "middle",
"containerId": "a1", "originalText": "connects", "autoResize": true }
独立文本(仅用于标题和注释——无容器):
{ "type": "text", "id": "t1", "x": 150, "y": 138, "text": "Hello", "fontSize": 20,
"fontFamily": 1, "strokeColor": "#1e1e1e", "originalText": "Hello", "autoResize": true }
x 是左边缘。要在位置 cx 居中:x = cx - (text.length * fontSize * 0.5) / 2textAlign 或 width 进行定位箭头:
{ "type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 200, "height": 0,
"points": [[0,0],[200,0]], "endArrowhead": "arrow" }
points: [dx, dy] 来自元素 x, y 的偏移endArrowhead: null | "arrow" | "bar" | "dot" | "triangle"strokeStyle: "solid"(默认)| "dashed" | "dotted"{
"type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 150, "height": 0,
"points": [[0,0],[150,0]], "endArrowhead": "arrow",
"startBinding": { "elementId": "r1", "fixedPoint": [1, 0.5] },
"endBinding": { "elementId": "r2", "fixedPoint": [0, 0.5] }
}
fixedPoint 坐标:top=[0.5,0], bottom=[0.5,1], left=[0,0.5], right=[1,0.5]
字体大小:
fontSize:16fontSize:20fontSize:14(谨慎使用)fontSize元素大小:
完整颜色表参见 references/colors.md。快速参考:
| 用途 | 填充颜色 | 十六进制 |
|---|---|---|
| 主要/输入 | 浅蓝色 | #a5d8ff |
| 成功/输出 | 浅绿色 | #b2f2bb |
| 警告/外部 | 浅橙色 | #ffd8a8 |
| 处理/特殊 | 浅紫色 | #d0bfff |
| 错误/关键 | 浅红色 | #ffc9c9 |
| 笔记/决策 | 浅黄色 | #fff3bf |
| 存储/数据 | 浅青色 | #c3fae8 |
#757575references/dark-mode.mdreferences/examples.mdまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
通过 memo CLI 管理 Apple Notes:创建、搜索、编辑。
日本語の概要は準備中です。原文の説明を表示しています。
Manage Apple Notes via memo CLI: create, search, edit.
日本語の概要は準備中です。原文の説明を表示しています。
通过 remindctl 在 macOS 上管理 Apple Reminders——列出、添加、编辑、完成、 删除同步到 iPhone/iPad 的待办事项。在提及"提醒"、"Reminders app"、 需要手机同步的"提醒我"或添加带截止日期的个人待办事项时触发。macOS only。 当用户需要代理内部提醒(使用 memory_store 或外部 调度)或日历事件时跳过。
日本語の概要は準備中です。原文の説明を表示しています。
Manage Apple Reminders on macOS via remindctl — list, add, edit, complete, delete to-dos that sync to iPhone/iPad. Trigger on "reminder", "Reminders app", "提醒我" with phone sync, or adding personal todos with due dates. macOS only. Skip when the user wants agent-internal alerts (use memory_store or external scheduling) or calendar events.
日本語の概要は準備中です。原文の説明を表示しています。
Dark-themed SVG architecture/cloud/infra diagrams as HTML.
日本語の概要は準備中です。原文の説明を表示しています。
暗色主题的 SVG 架构/云/基础设施图表,输出为 HTML。
日本語の概要は準備中です。原文の説明を表示しています。