Loading...
Loading...
Compare original and translation side by side
epismo login --email you@example.com # OTP flow (default, no browser)
epismo login --browser # browser-based flow
epismo whoami # verifyhttps://mcp.epismo.aiepismo login --email you@example.com # OTP流程(默认,无需浏览器)
epismo login --browser # 基于浏览器的流程
epismo whoami # 验证登录状态https://mcp.epismo.ai| Surface | Pattern | Example |
|---|---|---|
| | |
| | |
| 界面 | 模式 | 示例 |
|---|---|---|
| | |
| | |
--alias <name>alias--idget packget pack--id--alias <name>alias--input '<json>'--input @path/to/file.json--input ---input--input '<json>'--input @path/to/file.json--input ---inputepismo workspace list
epismo workspace use --workspace-id <workspace-id> # save default
epismo workspace current # show saved default (no network)EPISMO_TOKENepismo workspace list
epismo workspace use --workspace-id <workspace-id> # 设置默认工作区
epismo workspace current # 查看已保存的默认工作区(无需网络)EPISMO_TOKENworkspacetargets.projectIds[]targets.userIds[]targets.emails[]targets.selftrue--project-ids--user-ids--emails--selftargetstargets.projectIdstargets.projectIds: []targets.projectIds[]workspacetargets.projectIds[]targets.userIds[]targets.emails[]targets.selftrue--project-ids--user-ids--emails--selftargetstargets.projectIdstargets.projectIds: []targets.projectIds[]https://epismo.ai/share/{token}https://{workspace}.epismo.ai/share/{token}undefinedhttps://epismo.ai/share/{token}https://{workspace}.epismo.ai/share/{token}undefined
```typescript
// fetch (Node.js)
const shareUrl = new URL(process.argv[2]);
const res = await fetch(shareUrl, {
redirect: "manual",
});
const location = res.headers.get("location") ?? "";
const workflowMatch = location.match(/\/hub\/workflows\/([^/?#]+)/);
const contextMatch = location.match(/\/hub\/contexts\/([^/?#]+)/);
// use whichever matches; id = decodeURIComponent(match[1])| Redirect path | Resource type |
|---|---|
| |
| |
idget pack
```typescript
// fetch示例(Node.js)
const shareUrl = new URL(process.argv[2]);
const res = await fetch(shareUrl, {
redirect: "manual",
});
const location = res.headers.get("location") ?? "";
const workflowMatch = location.match(/\/hub\/workflows\/([^/?#]+)/);
const contextMatch = location.match(/\/hub\/contexts\/([^/?#]+)/);
// 使用匹配到的结果;id = decodeURIComponent(match[1])| 重定向路径 | 资源类型 |
|---|---|
| |
| |
idget packsearchidtitlesearch packsearch trackget pack --fullget trackget pack| Mode | Flag | Returns |
|---|---|---|
| Outline (default) | (none) | |
| Full | | complete content including all blocks / steps |
undefinedsearchidtitlesearch packsearch trackget pack --fullget trackget pack| 模式 | 标志 | 返回内容 |
|---|---|---|
| 大纲(默认) | (无) | |
| 完整 | | 完整内容,包括所有块/步骤 |
undefinedundefinedundefinedvisibility=["private"]query=<topic>like="liked"query=<topic>visibility=["public"]query=<topic>get packvisibility=["private"]query=<topic>like="liked"query=<topic>visibility=["public"]query=<topic>get packsearchpage=1, 2, 3...epismo pack search --type context --filter '{"visibility":["public"]}' --page 2
epismo track search --type task --filter '{"status":["todo"]}' --page 2searchpage=1, 2, 3...epismo pack search --type context --filter '{"visibility":["public"]}' --page 2
epismo track search --type task --filter '{"status":["todo"]}' --page 2| Error | Action |
|---|---|
| Stop. Check balance and purchase credits — see Credit Purchase. |
| Re-check accessible projects and resource ownership. |
| Re-authenticate: run |
| Confirm the resource ID. It may have been deleted or the share token may have expired. |
Rate limit / | Wait and retry with backoff. Inform user if persistent. |
| Timeout | Retry once. If persistent, reduce payload size or split the operation. |
| 错误 | 操作 |
|---|---|
| 停止操作。检查余额并购买积分——查看积分购买。 |
| 重新检查可访问的项目和资源所有权。 |
| 重新认证:执行 |
| 确认资源ID。该资源可能已被删除,或共享令牌已过期。 |
Rate limit / | 等待后重试并使用退避策略。若问题持续,告知用户。 |
| Timeout | 重试一次。若问题持续,减小负载大小或拆分操作。 |
https://github.com/epismoai/skillshttps://github.com/epismoai/skills