Sharge Open Platform 的官方命令行客户端,面向 AI Agent 设计,也为人类提供清晰的登录、配置与故障处理体验。
它目前覆盖 Quick Note、Calendar、Recordings 和 Diary,提供机器可读 help、稳定 JSON 契约、显式 dry run、安全下载与可恢复错误。
官网 · 在线文档 · 快速开始 · Agent 使用 · 核心能力 · 命令 · 安全 · 仓库文档
- Agent-first:每一级命令都提供
--help --json,包含参数、schema、scope、副作用、错误与示例。 - 行为可预测:默认中文文本;只有显式
--json才输出稳定的schemaVersion: "1"envelope。 - 安全可控:业务命令不会隐式登录、自动重试或自动翻页;破坏性操作要求
--yes。 - 写入可预演:写命令支持零网络
--dry-run,复杂输入可先离线生成 JSON 模板。 - 下载安全:媒体只写入本地文件,支持安全命名、冲突处理、原子替换与 SHA-256。
- 便于恢复:错误包含稳定类型、退出码、retry/outcome 语义与可直接执行的下一步。
| 领域 | 能力 |
|---|---|
| Notes | 列表、搜索、详情、更新、删除和媒体下载 |
| Calendar | 月视图、范围读取、搜索、详情、创建、更新、删除和 Todo 状态 |
| Recordings | 列表、搜索、富详情和音频下载 |
| Diary | 按月读取、搜索和日记详情 |
| Auth & Runtime | 浏览器登录、scope、诊断、配置和脱敏日志 |
- Node.js 20 或更高版本;
- npm。
npm install --global @sharge/cli@latest
sharge login登录会尝试打开浏览器。无图形界面或无法自动打开浏览器时:
sharge login --no-browser完成授权后验证安装与身份:
sharge version
sharge auth status
sharge --help如果你会让 AI Agent 使用 sharge,再安装仓库提供的 Skills:
npx skills add shargedev/sharge-cli -y -ggit clone git@github.com:shargedev/sharge-cli.git
cd sharge-cli
npm ci
npm run build
npm link部分步骤需要人类在浏览器中完成授权。Agent 应按下面的顺序安装 CLI 与 Skills:
# 1. 安装 CLI
npm install --global @sharge/cli@latest
# 2. 为当前用户的 Agent 安装全部 sharge Skills
npx skills add shargedev/sharge-cli -y -g
# 3. 发起登录;把输出的完整 URL 交给人类
sharge login --no-browser
# 4. 人类完成授权后验证身份
sharge auth status --json之后显式请求 JSON,并根据任务风险决定是否读取具体命令 help:
# 1. 读取一页 Quick Note
sharge notes list --limit 20 --json
# 2. 在首次执行写操作前读取机器契约
sharge calendar create --help --json
# 3. 生成输入并预演
sharge calendar create --generate-input > calendar-create.json
sharge calendar create --input @calendar-create.json --dry-run --json
# 4. 人类确认计划后执行
sharge calendar create --input @calendar-create.json --json不知道能力位于哪个 namespace 时,从机器目录开始:
sharge --help --json
sharge calendar --help --json
sharge calendar create --help --json不要猜测参数,也不要盲目重试写请求。网络或超时错误可能返回 outcome: "unknown",此时应先读取资源确认最终状态。
sharge
├── login
├── logout
├── version
├── doctor
├── auth status|scopes
├── config show|set|unset
├── logs path|clear
├── notes list|search|get|update|delete|download
├── calendar month|list|search|get|create|update|delete
├── calendar todos set-status
├── recordings list|search|get|download
└── diary list|search|get
常用示例:
sharge notes search "发布计划" --json
sharge calendar list \
--start 2026-08-03T00:00:00+08:00 \
--end 2026-08-04T00:00:00+08:00 \
--json
sharge recordings search "项目复盘" --limit 10 --json
sharge diary list 2026-08 --json完整参数以 CLI 自身的 JSON help 为最终机器契约:
sharge <namespace> <command> --help --json- 默认输出是中文文本,TTY 与 pipe 行为一致。
--json成功和失败都输出到 stdout;普通文本错误输出到 stderr。--jq只过滤成功 envelope,且必须与--json一起使用。- 列表和搜索命令一次只读取一页;使用响应中的 opaque cursor 显式续页。
- 写命令每次只发送一次请求,不自动重试。
- 只有
--input -会读取 stdin;其他调用不会隐式等待输入。 - 下载永远不会把二进制写到 stdout。
默认 Open Platform 地址是 https://ai.shargetech.com。CLI 从 ~/.sharge/settings.json 或环境变量读取配置,其中 settings 优先。
sharge login --scope quick_notes:read --scope calendar:read
sharge auth status --json
sharge auth scopes --json
sharge config show
sharge doctor --jsonAPI Key 只接受 lms-...,不会通过命令行参数传入或完整输出。需要切换环境时使用 sharge config set base-url ...,随后重新验证登录状态。
仓库在 skills/ 提供五个与当前 CLI 对齐的 Agent Skill:
sharge-coresharge-notessharge-calendarsharge-recordingssharge-diary
它们以 CLI 的 --help --json 为命令事实源,并通过以下门禁检查结构、链接、安全覆盖与命令一致性:
npm run skills:validateSkills 通过源码仓库分发,不进入 CLI 的 npm tarball:
# 全局安装全部 Skills
npx skills add shargedev/sharge-cli -y -g
# 只查看仓库可用的 Skills
npx skills add shargedev/sharge-cli --list通过浏览器授权后,CLI 会在已授予 scope 内以当前用户身份访问数据。将它交给 Agent 使用前,请遵循最小权限原则,并审阅涉及写入、删除和文件覆盖的计划。
- 优先用重复的
--scope只申请任务需要的权限。 - 写操作先执行
--dry-run;删除等破坏性操作必须显式添加--yes。 - 写请求发生 timeout/network error 后不要直接重试,先根据
outcome与读取命令确认状态。 - 不要把 API Key 放入命令行、prompt、日志、Issue 或聊天记录。
- 本地 settings 与 JSONL 日志位于
~/.sharge/;日志自动脱敏并轮转。 - 下载重定向不会向跨 origin 目标转发 Authorization。
- CLI 不收集产品使用遥测;诊断信息仅写入用户本地的脱敏日志。
| 文档 | 内容 |
|---|---|
| 快速开始 | 安装、登录和第一次读取 |
| Agent 使用指南 | 最短安全调用、输入、恢复与分页 |
| 命令参考 | 全部命令、参数、scope 与示例 |
| JSON 契约 | envelope、JSON help、输入 schema 与 jq |
| 错误与退出码 | 稳定错误、unknown outcome 与 nextActions |
| 下载 | 路径、重名、覆盖、重定向与校验 |
npm ci
npm run lint
npm run typecheck
npm test
npm run contract:test
npm run skills:validate
npm run build
npm pack --dry-run --json提交问题或建议前,请先搜索现有 Issues。代码贡献可通过 Pull Request 提交;涉及公共命令、输入输出或安全语义的改动,应先更新 docs/ 并补充测试。
参见 贡献指南、安全策略、变更记录和 MIT License。