mcpField
H
huawei-cloud-openviking-agent-integration

huawei-cloud-openviking-agent-integration

github.com/huaweicloudAgent workflows5916.2k installsUpdated 2d ago
Repository

About huawei-cloud-openviking-agent-integration

This agent skill integrates, unbinds, and verifies OpenViking long-term memory for coding agents in bwrap sandboxes. It uses each agent’s native configuration mechanism and persists settings in the template so they survive sandbox restarts.

Key features

  1. 01Integrates or unbinds 8 agents
  2. 02Checks integration status and verifies MCP
  3. 03Supports dry runs and bulk operations
  4. 04Persists configuration across sandbox restarts
  5. 05Backs up configuration and protects API keys

Use cases

  1. 01Connect coding agents to OpenViking long-term memory
  2. 02Retain integration settings after sandbox restarts
  3. 03Troubleshoot MCP handshakes or server health

MCP support

The skill configures OpenViking for agents that use MCP and provides MCP handshake verification. Other agents can connect through native plugins or an HTTP memory provider.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-openviking-agent-integration

After installing, type/huawei-cloud-openviking-agent-integrationin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.skillspectorignore
references/
agent-configs.md
notes.md
scripts/
integrate.sh
scripts/agents/
codearts.sh
deepseek_harness.sh
hermes.sh
kimicode.sh
openclaw.sh
opencode.sh
prime_agent.sh
workswarm.sh
scripts/lib/
base.sh
entrypoint.sh
json.sh
ov_jw_mutate.py
ov_kimi_hook.sh
plugins.sh
registry.sh
ui.sh
scripts/py/
ov_common.py
ov_health.py
scripts/py/agents/
ov_codearts.py
ov_deepseek_harness.py
ov_hermes.py
ov_kimicode.py
ov_openclaw.py
ov_opencode.py
ov_prime_agent.py
ov_workswarm.py

Details

From the project README

Huawei Cloud Agent Integration (OpenViking Long-Term Memory)

Integrate / unbind OpenViking long-term memory for coding agents running in bwrap sandboxes (/root/job-envs/sandboxes/). Every agent uses its native mechanism (MCP, HTTP memory provider, TS extension hooks, settings.json), so integration survives agent upgrades. Writes are template-level persistent: config is injected into /root/template/<agent>/start.sh, so sandbox stop + start preserves the integration.

Supported Agents

AgentMechanism
CodeArts CLI@openviking/opencode-plugin → .codeartsdoer/
OpenCode@openviking/opencode-plugin (npm mirror → GitHub fallback)
OpenClawclawhub:@openviking/openclaw-plugin + contextEngine slot (disables session-memory hook, denies memory_search)
HermesBuilt-in memory.provider: openviking (HTTP REST, no MCP)
WorkSwarmDual-channel: native provider + MCP (15 tools) + code-mode patch
KimiCodehooks + MCP (session lifecycle) — config.toml [[hooks]] → ov-kimi-hook.sh + MCP via mcp.json
DeepSeek Harness@openviking/dsh-memory-plugin bundle (on-demand from GitHub)
Prime Agent@openviking/pi-coding-agent-extension (on-demand from GitHub)

Per-agent config paths and details: references/agent-configs.md.

Prerequisites

  • OpenViking server healthy: curl -s http://127.0.0.1:1933/health → healthy.
  • Target sandbox exists under /root/job-envs/sandboxes/.
  • Host tools: curl, python3, bash; npm for OpenCode/OpenClaw; pip install --upgrade "mcp>=2.0" for verify_mcp.sh.
  • No Huawei Cloud IAM required — operates on local bwrap sandboxes only.

参数 (Parameters)

FlagRequiredMeaning
--agent <name>Yes (unless --all)Target agent
--allYes (unless --agent)Operate on all 8 agents
--endpoint <url>NoOpenViking URL (default http://127.0.0.1:1933)
--api-key <key>NoFor auth-mode servers. Never echo in chat. Must be consumed by an agent config or verify_mcp.sh; an unconsumed --api-key is reported as a warning.
--dry-runNoShow changes without applying
--yes / -yNoSkip confirmation (automation only)
--jsonNostatus.sh: machine-readable output

核心命令

功能命令
查看状态scripts/status.sh(--json / --agent <name>)
验证 MCPscripts/verify_mcp.sh
集成scripts/integrate.sh --agent <name> [--endpoint URL] [--dry-run] [--yes](或 --all)
解绑scripts/unbind.sh --agent <name> [--dry-run] [--yes](或 --all)

Workflow

SKILL_DIR=/root/.agents/skills/huawei-cloud-openviking-agent-integration
$SKILL_DIR/scripts/status.sh          # per-agent: template+live / template only / live only / none
$SKILL_DIR/scripts/verify_mcp.sh      # full MCP handshake (initialize → tools/list → health)
$SKILL_DIR/scripts/integrate.sh --agent <name> [--yes]
$SKILL_DIR/scripts/unbind.sh  --agent <name> [--yes]
  1. Status first — never claim integrated before status.sh confirms (do not fabricate state).
  2. Verify MCP — verify_mcp.sh before integration.
  3. Integrate / Unbind — each requires explicit confirm (or --yes); --dry-run previews safely.
  4. States: template + live = active; template only = activates on restart; live only = lost on restart (warn user).

Authorization & Safety

  • integrate.sh / unbind.sh require explicit confirmation; never edit agent configs directly — go through the skill scripts.
  • Every config modification creates .bak.<timestamp> (keep 5) for rollback.
  • --api-key values must never appear in output.

能力边界(Cannot Do)

本技能只做"OpenViking 记忆 ↔ 编码 agent 的集成/解绑/状态/验证"。以下操作明确不做,遇到请改走对应路径或明确报错:

  • 不直接读写 agent 配置文件、sandbox 内业务数据或用户代码——一律通过 scripts/integrate.sh / unbind.sh 等入口执行。
  • 不删除、不修改用户自装的第三方包/目录/数据。卸载只清理 OpenViking 自身产物(@openviking/* 插件、注入的配置段、OV 专属目录);node_modules 整目录删除等越界行为是缺陷,不执行。
  • 服务器不可达/健康检查失败时不报告成功:integrate.sh、unbind.sh、verify_mcp.sh 均先做健康门禁,失败即失败(exit 非 0),绝不假成功。
  • --dry-run 只预览改动,不写任何持久文件;预览后续真实执行仍需确认。
  • --api-key 必须被某个 agent 配置或验证流程实际消费;若传入却无处消费,脚本会告警(而非静默忽略)。
  • 不做 embedding 模型切换、向量库重建、服务器自身配置变更——那是 huawei-cloud-openviking-embedding-switch 等技能的范围。
  • 不支持在集成/解绑过程中创建或修改 OpenViking 账号、用户、权限体系。
  • 不承诺"查看 → 已集成":一律以 status.sh 实测结果为准,禁止凭模板猜测 live 状态。

References

DocumentWhen to read
agent-configs.mdPer-agent config paths/formats, MCP tools, server info
notes.mdGuardrails, env vars, sandbox restart, plugin sources, troubleshooting, adding a new agent

Comments

Markdown supported