memos-skill
Memos Skill
管理你的 Memos 备忘录实例,支持完整的备忘录生命周期操作。
配置
在使用 memos API 之前,需要创建配置文件。
配置文件位置
在 skill 目录下创建 config.json 文件:
memos-skill/
├── SKILL.md
├── config.json # 配置文件
└── ...
配置文件格式
{
"instance_url": "https://your-memos-instance.com",
"access_token": "your-access-token",
"default_page_size": 10,
"default_visibility": "PRIVATE"
}
配置说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
instance_url |
string | 是 | 你的 memos 实例地址,如 https://memo.example.com |
access_token |
string | 是 | 个人访问令牌 |
default_page_size |
number | 否 | 默认分页大小(默认10) |
default_visibility |
string | 否 | 默认可见性(PRIVATE, PROTECTED, PUBLIC) |
获取访问令牌
- 登录你的 memos 实例
- 进入 Settings → Tokens
- 点击 "Create Token"
- 复制生成的令牌并填入 config.json
在代码中读取配置
import json
import os
# 获取 skill 目录路径
skill_dir = os.path.dirname(os.path.abspath(__file__))
config_path = os.path.join(skill_dir, 'config.json')
# 读取配置
with open(config_path, 'r', encoding='utf-8') as f:
config = json.load(f)
instance_url = config['instance_url']
access_token = config['access_token']
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json'
}
核心功能
1. Memo 管理
创建备忘录
- 端点: POST
/api/v1/memos - 关键字段:
content: 备忘录内容(支持 Markdown)visibility: 可见性(PRIVATE,PROTECTED,PUBLIC)tags: 标签数组resources: 关联资源
示例:
{
"content": "今天要完成的任务:\n- 完成项目文档\n- 回复客户邮件",
"visibility": "PRIVATE",
"tags": ["todo", "work"]
}
获取备忘录列表
- 端点: GET
/api/v1/memos - 参数:
pageSize: 每页数量(默认 10)pageToken: 分页令牌filter: 过滤条件(遵循 Google AIP-160 标准)creator == "users/1": 按创建者过滤row_status == "NORMAL": 正常状态的备忘录create_time > "2024-01-01": 按创建时间过滤tag == "work": 按标签过滤content.contains("关键词"): 内容搜索
sort: 排序方式(createTime,updateTime)
获取单个备忘录
- 端点: GET
/api/v1/memos/{memo} - 返回完整的备忘录详情,包括内容、标签、评论等
更新备忘录
- 端点: PATCH
/api/v1/memos/{memo} - 使用
updateMask指定要更新的字段,如content,visibility,tags
删除备忘录
- 端点: DELETE
/api/v1/memos/{memo}
2. 搜索与过滤
使用 Google AIP-160 过滤语法进行高级搜索:
# 组合条件
content.contains("项目") AND tag == "work"
# 按时间范围
create_time > "2024-01-01" AND create_time < "2024-12-31"
# 多标签查询
tag == "work" OR tag == "personal"
# 排除条件
NOT tag == "archive"
# 完整示例
filter: "creator == \"users/1\" AND (tag == \"work\" OR tag == \"urgent\") AND create_time > \"2024-01-01\""
3. 评论与反应
添加评论
- 端点: POST
/api/v1/memos/{memo}/comments
获取评论列表
- 端点: GET
/api/v1/memos/{memo}/comments
添加反应(表情)
- 端点: POST
/api/v1/memos/{memo}/reactions - 支持的表情:
THUMBS_UP,THUMBS_DOWN,HEART,FIRE,ROCKET,EYES,THINKING,CLAPPING,PARTY,ROCKET
4. 附件管理
上传附件
- 端点: POST
/api/v1/attachments - 支持 multipart/form-data 上传文件
获取附件列表
- 端点: GET
/api/v1/attachments
将附件关联到备忘录
- 端点: POST
/api/v1/memos/{memo}/attachments - 请求体:
{"attachmentIds": ["attachments/1", "attachments/2"]}
5. 关联备忘录
创建关联
- 端点: POST
/api/v1/memos/{memo}/relations - 关联类型:
REFERENCE,COMMENT
6. 用户管理
获取当前用户
- 端点: GET
/api/v1/auth/status
创建个人访问令牌
- 端点: POST
/api/v1/users/{user}/personalAccessTokens - 返回的
token只在创建时显示一次
API 请求格式
认证头
Authorization: Bearer <YOUR_ACCESS_TOKEN>
标准响应格式
{
"code": 0,
"message": "success",
"data": { ... }
}
错误响应
{
"code": 3,
"message": "Invalid argument",
"details": []
}
使用场景示例
场景 1: 快速记录想法
用户说:"帮我记录一条备忘录,内容是今天和客户的会议要点..."
POST /api/v1/memos
{
"content": "今天和客户的会议要点:\n1. 确认交付时间...",
"visibility": "PRIVATE",
"tags": ["meeting", "client"]
}
场景 2: 搜索备忘录
用户说:"搜索我上个月关于项目的备忘录"
GET /api/v1/memos?filter=content.contains("项目") AND create_time > "2024-02-01"&pageSize=20
场景 3: 批量整理
用户说:"把标签为'temp'的所有备忘录改成'archive'"
GET /api/v1/memos?filter=tag == "temp"&pageSize=100
# 然后对每个 memo 调用 PATCH 更新标签
场景 4: 带附件的备忘录
用户说:"创建一个备忘录并附上这张图片"
# 1. 先上传附件
POST /api/v1/attachments
Content-Type: multipart/form-data
# 2. 创建备忘录
POST /api/v1/memos
{
"content": "图片说明...",
"resources": [{"name": "attachments/1"}]
}
场景 5: 配置 memos 实例
用户说:"把我的 memos 实例配置为 https://memo.example.com,token 是 abc123"
处理步骤:
- 检查是否存在
config.json文件 - 如果存在,询问用户是否覆盖现有配置
- 创建或更新配置文件:
{
"instance_url": "https://memo.example.com",
"access_token": "abc123",
"default_page_size": 10,
"default_visibility": "PRIVATE"
}
- 验证配置(可选:发送测试请求)
- 返回配置成功的确认信息
代码示例:
import json
import os
config = {
"instance_url": "https://memo.example.com",
"access_token": "abc123",
"default_page_size": 10,
"default_visibility": "PRIVATE"
}
skill_dir = os.path.dirname(os.path.abspath(__file__))
config_path = os.path.join(skill_dir, 'config.json')
with open(config_path, 'w', encoding='utf-8') as f:
json.dump(config, f, indent=2, ensure_ascii=False)
print(f"配置已保存到: {config_path}")
输出格式建议
根据用户需求,灵活返回以下格式:
- 简要摘要: 返回备忘录标题/ID、创建时间、标签列表
- 完整内容: 返回完整内容(包括 Markdown 渲染)
- 表格形式: 多条备忘录时用表格展示 ID、内容预览、时间、标签
- JSON 格式: 用户需要编程处理时返回原始 JSON
最佳实践
- 内容格式: 鼓励使用 Markdown 格式编写备忘录内容
- 标签管理: 建议使用统一的标签命名规范(小写、用连字符连接)
- 可见性设置: 默认为 PRIVATE,分享时才设为 PUBLIC
- 分页处理: 列表查询时注意处理分页,避免一次返回过多数据
- 错误处理: API 可能返回 401(未授权)、404(不存在)、400(参数错误)等状态码
注意事项
- 备忘录 ID 格式为
memos/{id},如memos/123 - 用户 ID 格式为
users/{id},如users/1 - 附件 ID 格式为
attachments/{id} - 创建时间字段是 ISO 8601 格式,如
2024-03-12T10:30:00Z - 更新操作使用 PATCH,需要指定 updateMask 避免覆盖其他字段
More from anian0/pick-skills
tech-design
|
11novel-review
小说章节与设定专业审查助手。四种审查模式:(1) 正文审查——针对章节正文,结合世界设定、故事大纲、主角档案、故事状态、当前冲突、伏笔追踪、创作标准、必看文档等,生成10-20个高质量问题,覆盖情节深化、设定完善、趣味提升、逻辑严密、视角一致、角色塑造、长线连续性、风格一致性八大维度;(2) 新设定审查——针对工作区/待定设定/中创作过程产出的草案,逐条评估晋升/调整/废弃;(3) 设定体检——对相关设定/下既有设定文件做一致性、过时项、冲突、健康度全面检查;(4) 阶段回顾(每5章)——回看最近5章正文与相关设定,评估当前冲突演化、设定是否需要更新、伏笔补登、节拍推进、风格漂移等中频偏离。驱动"审查-修订-再审查"创作循环。触发场景:用户要求审查章节、审视剧情、检查设定漏洞、提出改进问题、评估章节质量、章节诊断、走审查循环、章节打磨、定稿前最终审、审查待定设定、晋升前评估、设定体检、设定一致性检查、设定文件健康度、第5/10/15章后的阶段回顾、回顾最近5章、检查当前冲突推进度、风格一致性检查等。与novel-setup、novel-lite、novel-style-extract配套使用。
5issue-troubleshooting
|
4personal-kb
项目Wiki与知识库管理skill。能够根据项目类型自动设计Wiki结构、生成指导文档,并在后续更新中持续优化Wiki和指导文档。当用户提到"wiki"、"知识库"、"项目文档"、"设计wiki"、"创建wiki"、"更新wiki"、"整理文档"、"项目知识管理"、"知识整理"、"归档笔记"、"Obsidian"时触发此skill。即使用户只是想要为项目建立文档体系或整理项目知识,也应使用此skill。
2md-to-visual
|
1