Octop is a self-hosted, multi-user AI assistant that runs multiple specialized agents and connects them to chat interfaces, tools, and external services. It is for individuals, families, and teams who want a locally operated assistant with shared experts and persistent capabilities. Catalogue add-ons extend its agent and assistant workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add TencentCloud/Octop --skill octop-assistantgit clone --depth 1 https://github.com/TencentCloud/OctopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tencentcloud/octop/octop-assistant)<a href="https://agentmods.dev/skills/tencentcloud/octop/octop-assistant"><img src="https://agentmods.dev/badge/skills/tencentcloud/octop/octop-assistant/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tencentcloud/octop/octop-assistant"><img src="https://agentmods.dev/badge/skills/tencentcloud/octop/octop-assistant.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Excessive Agency · line 207 Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.Fix: Remove the model/provider override or disclose it prominently and require explicit operator approval before invoking an external coding CLI or billed model.
- high Excessive Agency · line 214 Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.Fix: Remove the model/provider override or disclose it prominently and require explicit operator approval before invoking an external coding CLI or billed model.
- medium Rogue Agent · line 350 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Rogue Agent · line 350 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00122 | $0.04772 |
| Opus 5 | $0.00061 | $0.02386 |
| Sonnet 5 | $0.00024 | $0.00954 |
| Haiku 4.5 | $0.00012 | $0.00477 |
Grade A, and why
octop-assistant scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 526 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Octop Assistant ⚙️
你是 Octop 的配置助手。帮助用户通过 CLI(octop 命令)配置和管理 Octop 服务器、Agent、通道与模型。
与 LightClaw 不同,Octop 的 CLI 大多通过 HTTP API 访问正在运行的 octop run 进程,且许多子命令是 按 Agent 隔离 的,必须先解析当前用户与 Agent 上下文。
零、先 /status,再 CLI(必做)
在 Dashboard、IM 通道或任何对话场景下配置 Octop 时,不要用 octop config show 推断当前用户(见 0.1)。应 先让用户发送斜杠指令:
/status
/status 由服务端根据 当前对话的 JWT / 通道身份 解析用户,输出包含:
| 字段 | 用途 |
|---|---|
| Agent ID | 后续 octop --agent <id> 的必填参数 |
| 归属用户 | Agent 所有者(共享 Agent 会标注「无单一归属」) |
| 对话用户 | 本次对话 的 Octop 用户(username + id)— 比 CLI config show 可靠 |
| 工作区 | ~/.octop/agents/<id>/ 路径 |
| 专家模板 | 若从专家库创建,显示 template 名 |
| 模型 / 渠道 / 定时任务 | 当前会话与运行态摘要 |
推荐流程:
- 请用户发送
/status(或在对话中提示「请先输入 /status」)。 - 根据输出中的 Agent ID、对话用户、工作区 规划后续操作。
- 若需 CLI 且服务器终端 CLI 已登录为同一用户,再执行
octop --agent <id> …;否则引导 Dashboard 设置 或让用户在终端octop user login。
Agent 自身无法代替用户触发斜杠指令时,明确提示用户发送 /status 并把结果贴回对话。
0.1 Dashboard / Channel 对话 ≠ CLI 登录态(重要)
| 来源 | 当前用户如何确定 | octop config show 能否代表该用户 |
|---|---|---|
| Web Dashboard | 浏览器 JWT;服务端在消息里带 user_id(channel_subject.subject_id) |
不能 |
| IM Channel | 通道映射的 Octop 用户 id(同上) | 不能 |
| 服务器终端 CLI | octop user login 写入 ~/.octop/cli_state.json |
能(仅反映该文件里的账号) |
octop config show 的 default_user / token 是 运行 shell 的那台机器、那个 OS 用户 上次 CLI 登录的结果,不是 正在 Dashboard 里和你对话的用户,也 不是 IM 里发消息的用户。
因此:
- 用户从 Dashboard / 飞书 / QQ 等 问「帮我配置」时,不要假设
octop config show就是 TA 的账号。 - Agent 代跑
execute_shell_command时,CLI 实际用的是 服务器上已保存的 token(常为管理员安装时登录的账号)。 - 若 CLI 未登录或登录者不是目标用户,应 引导用户自己在终端
octop user login,或 在 Dashboard 设置页完成(Provider、通道、环境变量等),而不是反复执行会 401 的命令。
当前对话中可直接确定的上下文(无需 CLI):
| 信息 | 如何获得 |
|---|---|
| Agent ID | 让用户发 /status,或从工作区路径 ~/.octop/agents/<id>/ 推断 |
| 对话用户 | /status 的 对话用户 行(权威来源) |
| 归属用户 | /status 的 归属用户 行 |
| 工作区路径 | /status 的 工作区 行 |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed f78ad4aaed6c
- 7d ago Changed · +6 lines 154b7abc8df2
- 12d ago First seen · 520 lines · 122 tokens per session scan A c8a0a29b3136
octop-assistant is a skill published in the GitHub repository TencentCloud/Octop (1,533 stars, last pushed today), licensed MIT. It adds 122 tokens to every session and 4,772 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
artifact-deploy
One-click deploy a user's pre-built app/artifact into their OWN AWS account and get a global public HTTPS link (Vercel-like), with a default TTL and promote-to-persistent. Use when the user says "deploy this", "ship this demo", "give me a public link", "share this externally", or "deploy to AWS".
explain-for
Explain a topic, a piece of code, an error, or a design decision calibrated to one named audience — a 5-year-old, a 5th grader, a manager, a designer, a graduate student, a parent. Resolves who the explanation is for (from the request, or from what memory already records about that person), establishes the ground…
learn-from-sage
Detection-gap (miss) analysis for Code Review Sage. Learn from shipped fixes, acted-on human comments, and design outcomes to close reviewer blind spots. Inline during review stages a candidate; a human triggers a one-shot AI consolidation into the live ruleset.
papyrus-latex-suggestions
Propose actual inline replacement text (old → new) as accept/reject suggestions — LaTeX "suggesting mode" / track changes — that render directly in the PDF. Use when the author wants concrete edit proposals they can see and accept or reject. For remarks ABOUT the text (notes, not replacements), use…
mochi-remind
Handle due reminders — notify the user with natural language and mark them done.
agent-initialization
Initialize an Agent's settings from a user requirement by writing AGENTS.md, setting identity metadata, and installing only needed Skills.