Osori

Polar Sponsor
爱发电 赞助
.NET 9.0

Osori v1.6.1 — 本地项目注册表与上下文加载器,支持 Telegram 斜杠命令。具备注册表版本控制、自动迁移、根过滤器及根管理等功能。

Osori (X). 本地项目注册和人工智能的上下文加载器.

功能概述

Osori (X). 本地项目注册和人工智能的上下文加载器.是一项面向实际任务的技能,主要用于Prerequistes.macOS : mdfind (Spotlight, 内置), python3 , git, gh CLI.;Linux : mdfind unchind – 用途作为后置a。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Osori(오소리)

面向 AI 代理的本地项目注册中心与上下文加载器。

前置条件

  • macOS:mdfind(Spotlight,系统内置)、python3、git、gh CLI
  • Linux:mdfind 不可用 → 自动回退使用 find;需安装 python3、git、gh CLI。
  • 完整集成(可选):已安装 entire CLI(用于 /entire-* 命令)

依赖项

  • python3 — 必需。用于 JSON 处理。
  • git — 项目检测与状态检查。
  • entire — 可选。仅在执行 /entire-status、/entire-enable、/entire-rewind-list 时需要。

Telegram Bot 命令(v1.6.1 版本更新)

Osori 现已支持 Telegram 斜杠命令,实现快速项目管理:

/list [root] — 显示已注册项目(可选 root 过滤)
/status [root] — 检查项目状态(可选 root 过滤)
/find  [root|--root ] — 按名称查找项目(可选 root 范围)
/switch  [root|--root ] [--index ] — 切换至项目并加载上下文(支持多匹配结果选择)
/fingerprints [name] [--root ] — 显示仓库远程地址 + 最近一次提交 + 开放 PR/Issue 数量
/doctor [--fix] [--dry-run] [--yes] [--json] — 注册中心健康检查(预览优先、风险受控修复)
/list-roots — 列出所有 roots、标签、路径及项目数量
/root-add  [label] — 添加 root(或更新其标签)
/root-path-add   — 向 root 添加发现路径
/root-path-remove   — 从 root 中移除发现路径
/root-set-label  

配置方法

将以下内容添加至您的 OpenClaw 代理的 TOOLS.md 或 Telegram Bot 配置中:

# 在 Telegram Bot 命令设置中(BotFather)
list - 显示所有项目(或按 root 过滤)
status - 检查项目状态(或按 root 过滤)
find - 按名称查找项目
switch - 切换至项目
fingerprints - 显示仓库/提交/PR/Issue 指纹信息
doctor - 健康检查(预览优先、风险受控修复)
list-roots - 显示 roots 和发现路径
root-add - 添加 root
root-path-add - 向 root 添加路径
root-path-remove - 从 root 移除路径
root-set-label - 重命名 root 标签
root-remove - 安全移除 root(支持 reassign/force 选项)
alias-add - 为项目添加别名
alias-remove - 移除别名
favorites - 显示收藏项目
favorite-add - 将项目标记为收藏
favorite-remove - 取消项目收藏
entire-status - 显示项目中的 Entire 状态
entire-enable - 为项目启用 Entire
entire-rewind-list - 列出项目中的 rewind 点
add - 将项目加入注册中心
remove - 从注册中心移除项目
scan - 扫描目录(可选指定 root)
help - 显示帮助

使用示例

/list work
/status personal
/find agent-avengers work
/switch Tesella --root personal
/switch Tesella --root personal --index 1
/fingerprints Tesella --root personal
/doctor --fix
/list-roots
/root-add work Work
/root-path-add work /path/to/workspace
/root-remove work --reassign default
/alias-add rh RunnersHeart
/favorite-add RunnersHeart
/favorites
/entire-status osori
/entire-enable osori --agent claude-code --strategy manual-commit
/add /Volumes/disk/MyProject
/scan /path/to/workspace work

注册中心

${OSORI_REGISTRY:-$HOME/.openclaw/osori.json}

可通过 OSORI_REGISTRY 环境变量覆盖默认路径。

版本控制与迁移(v1.6.1)

  • 当前 schema:osori.registry
  • 当前版本:2
  • 每次加载时,Osori 自动迁移旧版注册中心格式:
    • 旧版数组格式([])→ 带版本号的对象格式
    • 无 schema/version 字段的对象 → 规范化的带版本号对象
  • 规范化注册中心字段:
    • 顶层 roots[]
    • 顶层 aliases{}(别名 → 项目名称映射)
    • 每个 projects[] 条目包含 favorite: bool 字段
  • 迁移安全性保障:
    • 自动创建备份文件:osori.json.bak-
    • 损坏的 JSON 将保留为:osori.json.broken-
    • 写入路径采用原子替换 + 回滚备用机制

项目查找(路径未知时)

当项目路径未知时,按以下顺序搜索:

  1. 注册中心查找 — 在 osori.json 中对名称进行模糊匹配
  2. mdfind(仅 macOS)— mdfind "kMDItemFSName == ''" | head -5
  3. find 回退 — 搜索优先级:
    1. 注册中心中 roots[].paths(若指定了 root,则优先搜索该 root)
    2. OSORI_SEARCH_PATHS 中定义的路径
      命令形式:find -maxdepth 4 -type d -name '' 2>/dev/null
  4. 向用户询问 — 若所有方法均失败,则直接请求用户提供项目路径。
  5. 提供将已找到项目注册进注册中心的选项。

命令说明

List

显示所有已注册项目。Telegram 命令支持可选的 root 过滤:

/list [root]

(示例:/list work)

Switch

支持可选的 root 范围和显式候选项目选择:

/switch  [root|--root ] [--index ]

执行流程:

  1. 搜索注册中心(模糊匹配;若提供了 root,则限定范围)
  2. 若存在多个匹配项:
    • 展示候选列表(含名称/root/路径/最近一次提交/是否脏/得分)
    • 使用 --index 显式选取
    • 未指定 index ⇒ 自动选取最高分项
  3. 若未找到 → 执行上方“项目查找”流程,并建议添加路径
  4. 加载上下文:
    • git status --short
    • git branch --show-current
    • git log --oneline -5
    • gh issue list -R --limit 5(仅当设置了 repo 时)
  5. 输出摘要信息

自动评分策略:

  • +50 root 精确匹配(若提供了 root 范围)
  • +30 名称精确匹配
  • +20 名称前缀匹配
  • +10 最近一次提交时效性
  • -10 缺失路径
  • -5 缺失 repo
  • 并列时断点规则:按最近一次提交时间排序,再按名称排序

Fingerprints

显示项目的单次指纹视图:

  • 仓库远程 URL
  • 最近一次提交哈希值与日期
  • 开放 PR 数量
  • 开放 Issue 数量
bash {baseDir}/scripts/project-fingerprints.sh [project-name]
bash {baseDir}/scripts/project-fingerprints.sh --root  [project-name]

GitHub 开放计数缓存(PR / Issue):

  • 默认缓存文件:$HOME/.openclaw/osori-cache.json
  • 默认 TTL:600 秒
  • 环境变量覆盖项:
    • OSORI_CACHE_FILE
    • OSORI_CACHE_TTL

Add

bash {baseDir}/scripts/add-project.sh  [--tag ] [--name ]

自动识别:Git 远程地址、编程语言、描述信息。

Scan

bash {baseDir}/scripts/scan-projects.sh  [--depth 3]
OSORI_ROOT_KEY=work bash {baseDir}/scripts/scan-projects.sh  [--depth 3]

批量扫描目录下的 Git 仓库,并将其加入注册中心。

Telegram 命令也支持可选的 root key:

/scan  [root]

Remove

按名称从 osori.json 中删除对应条目。

Status

对一个或全部项目运行 git status + gh issue list。

Telegram 支持 root 过滤:

/status [root]

Doctor

注册中心健康检查,采用预览优先管道与风险受控修复机制。

默认行为(不带任何标志):仅分析 + 预览方案,不执行任何变更。

/doctor                     # 仅预览(默认行为)
/doctor --fix               # 预览 + 应用(高风险操作被阻止)
/doctor --fix --yes         # 预览 + 全量应用(含高风险操作)
/doctor --dry-run           # 显式仅预览(永不执行变更)
/doctor --json              # 输出机器可读 JSON 格式

风险等级说明:

  • 🟢 低风险 — schema 规范化、迁移、缺失字段补全
  • 🟡 中风险 — 去重、root 引用修复
  • 🔴 高风险 — 从损坏状态重新初始化注册中心

Shell 等效命令:

bash {baseDir}/scripts/doctor.sh [--fix] [--dry-run] [--yes] [--json]

另请参阅:Doctor Safe Fix Guide

Root 管理

/list-roots
/root-add  [label]
/root-path-add  
/root-path-remove  
/root-set-label  

Shell 等效命令:

bash {baseDir}/scripts/root-manager.sh list
bash {baseDir}/scripts/root-manager.sh add  [label]
bash {baseDir}/scripts/root-manager.sh path-add  
bash {baseDir}/scripts/root-manager.sh path-remove  
bash {baseDir}/scripts/root-manager.sh set-label  

remove 安全规则:

  • default root 不可被移除
  • 若 root 中存在项目:
    • 使用 --reassign 将项目迁移后再移除
    • 或使用 --force 将项目迁移至 default 后再移除

别名与收藏

/alias-add  
/alias-remove 
/favorites
/favorite-add 
/favorite-remove 

Shell 等效命令:

bash {baseDir}/scripts/alias-favorite-manager.sh alias-add  
bash {baseDir}/scripts/alias-favorite-manager.sh alias-remove 
bash {baseDir}/scripts/alias-favorite-manager.sh aliases
bash {baseDir}/scripts/alias-favorite-manager.sh favorite-add 
bash {baseDir}/scripts/alias-favorite-manager.sh favorite-remove 
bash {baseDir}/scripts/alias-favorite-manager.sh favorites

别名不区分大小写,且会被 /find、/switch 及 project-fingerprints.sh 的名称查询所解析。

Entire 集成

在已注册项目的上下文中运行 Entire CLI 命令:

/entire-status  [root|--root ]
/entire-enable  [root|--root ] [--agent ] [--strategy ]
/entire-rewind-list  [root|--root ]

Shell 等效命令:

bash {baseDir}/scripts/entire-manager.sh status  [root|--root ]
bash {baseDir}/scripts/entire-manager.sh enable  [root|--root ] [entire enable flags...]
bash {baseDir}/scripts/entire-manager.sh rewind-list  [root|--root ]

默认值:

  • entire enable 若未指定参数,默认使用 --agent claude-code --strategy manual-commit。
  • /entire-rewind-list 使用非破坏性 JSON 列表方式(即 entire rewind --list)。

Schema

{
  "schema": "osori.registry",
  "version": 2,
  "updatedAt": "2026-02-16T00:00:00Z",
  "roots": [
    {
      "key": "default",
      "label": "Default",
      "paths": []
    }
  ],
  "aliases": {
    "rh": "RunnersHeart"
  },
  "projects": [
    {
      "name": "string",
      "path": "/absolute/path",
      "repo": "owner/repo",
      "lang": "swift|typescript|python|rust|go|ruby|unknown",
      "tags": ["personal", "ios"],
      "description": "Short description",
      "addedAt": "YYYY-MM-DD",
      "root": "default",
      "favorite": false
    }
  ]
}

自动触发规则

  • “work on X” / “X 프로젝트 작업하자” → 执行 switch X
  • “find project X” / “X 찾아줘” / “X 경로” → 执行注册中心查找或发现流程
  • “list projects” / “프로젝트 목록” → 执行 list
  • “add project” / “프로젝트 추가” → 执行 add
  • “project status” / “프로젝트 상태” → 执行 status all

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习