Install
$ agentstack add mcp-artljn-ocean-cc-cli Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Ocean CLI — Enhanced AI Coding Assistant
Multi-Model · Structured Memory · Multi-Agent Collaboration
A powerful enhanced fork of Claude Code CLI with structured memory, multi-model switching, multi-agent parallelism, and extensible skill system.
Claude GLM Doubao DeepSeek Gemini Codex — switch with one command /model
[](LICENSE) [](README.md)
Features · Quick Start · Docs · Architecture
> Keywords: AI CLI tool, Claude Code CLI, multi-model CLI, structured memory, SQLite FTS5, multi-agent collaboration, developer productivity, terminal AI assistant, LLM tools, coding assistant, Claude Code fork, Ocean CLI, 智谱GLM, 豆包, DeepSeek, MCP protocol, Ink TUI, skill system, auto mode, bilingual assistant
功能
- 完整的 Ink TUI 交互界面(与官方 Claude Code 一致)
- 多模型接入 — Claude / 智谱GLM / 豆包 / DeepSeek,
/model一键切换 - Auto Mode — AI 分类器自动审批安全操作,危险操作仍需确认
- 双层记忆系统 — 纯 SQLite 结构化事实存储(6 种分类 + 全局/项目双层隔离)+ 自动提取 + 语义去重 + AutoDream 清洗 — [使用指南](docs/tutorial-memory.md)
- 多模型协作 —
/multi-agent按角色分工,真实并行调用 — [使用指南](docs/tutorial-multi-agent.md) - 技能系统 —
/skillify从会话提炼技能,支持脚本自动生成 — [使用指南](docs/tutorial-skills.md) - Channel IM 集成 — 飞书/钉钉/Telegram 远程控制 Agent — [使用指南](docs/tutorial-channel.md)
- Hook 系统 — 27 种事件、4 种类型,高度可定制 — [使用指南](docs/tutorial-hooks.md)
- 智能过载重试机制,自动处理 API 限流和超时
核心功能
1. 多模型接入
支持 Anthropic 官方模型和第三方兼容 API,通过 custom-providers.json 配置:
{
"glm": {
"name": "智谱GLM",
"type": "anthropic",
"baseUrl": "https://open.bigmodel.cn/api/anthropic",
"apiKeyEnv": "YOUR_API_KEY",
"models": [
{ "id": "glm-5", "name": "GLM-5", "contextLength": 128000 }
]
}
}
# 会话中一键切换
/model glm:glm-5
/model claude-opus-4-6
> 内置智能过载重试:API 限流时自动指数退避,无需手动干预。
2. Auto Mode
AI 分类器自动审批工具调用,所有模型提供商均可使用:
# 命令行启用
ocean --permission-mode auto
# 永久启用(~/.claude/settings.json)
{ "permissions": { "defaultMode": "auto" } }
3. 双层记忆系统
核心特性:
- 双层隔离 — 用户偏好全局共享,项目知识跟随项目,不串台
- 自动提取 — 每轮对话结束,后台 fork agent 自动提取用户偏好、项目结构、技术栈等事实写入 SQLite
- 分层自动注入 — 每轮对话前智能预取相关记忆,identity/workflow/项目概览始终注入,coding_style按技术栈匹配注入,其他记忆按相关性注入,总token占比
SQLite 表结构详解
每个数据库包含 4 张核心表 + 1 个 FTS5 虚拟表 + 1 个统计表:
facts — 事实表 存储所有记忆事实,每条事实独立成行,支持信任评分和检索统计。
| 字段 | 类型 | 说明 | |------|------|------| | fact_id | INTEGER PK | 自增主键 | | content | TEXT UNIQUE | 事实内容(唯一约束防重复) | | category | TEXT | 分类:identity / codingstyle / toolpref / workflow / project / general | | tags | TEXT | 逗号分隔标签(含中文 bigram 预分词结果) | | keywords | TEXT | 主题关键词 JSON(写入时自动提取,如 [{"kw":"邮箱","w":0.9}]) | | trust_score | REAL | 信任评分(0.0~1.0,默认 0.5) | | retrieval_count | INTEGER | 被检索次数 | | helpful_count | INTEGER | 被标记 helpful 次数 | | created_at | TEXT | 创建时间(本地时区) | | updated_at | TEXT | 最后更新时间(本地时区) |
entities — 实体表 自动从事实内容中提取的命名实体,支持别名和类型分类。
| 字段 | 类型 | 说明 | |------|------|------| | entity_id | INTEGER PK | 自增主键 | | name | TEXT | 实体名称 | | entity_type | TEXT | 自动分类:person / technology / topic | | aliases | TEXT | 别名(逗号分隔) | | created_at | TEXT | 创建时间 |
> entity_type 分类规则:纯中文 2-4 字 → person(可能是人名),含英文 → technology,中文 5+ 字 → topic
fact_entities — 事实-实体关联表 多对多关联,一条事实可关联多个实体,一个实体可被多条事实引用。CASCADE 删除保证一致性。
| 字段 | 类型 | 说明 | |------|------|------| | fact_id | INTEGER FK | 关联 facts.factid | | entity_id | INTEGER FK | 关联 entities.entityid |
> 联合主键 (fact_id, entity_id),INSERT OR IGNORE 防重复关联
facts_fts — FTS5 全文索引(虚拟表) 绑定 facts 表,通过触发器自动同步。支持中文 bigram 分词检索。
| 字段 | 说明 | |------|------| | content | 同步自 facts.content | | tags | 同步自 facts.tags(含 bigram 预分词) |
> 三个触发器(INSERT/UPDATE/DELETE)保证 FTS5 索引与 facts 表实时同步
category_token_stats — 类别词频统计表 增量维护每个 token 在各 category 中的文档频率,用于计算关键词的类别特异性权重。
| 字段 | 类型 | 说明 | |------|------|------| | category | TEXT | 分类名 | | token | TEXT | 关键词 token | | df | INTEGER | 文档频率(该 token 在该 category 中出现的事实数) |
> 联合主键 (category, token),ON CONFLICT 时 df = df + 1
4. 多模型协作
配置多个 AI 模型按角色分工,真实并行调用:
# 查看可用模型
/agent-config models
# 用预设创建 agent
/agent-config preset architect --model glm:glm-5.1
/agent-config preset reviewer --model vk:doubao-seed-2.0-pro
# 发起协作任务
/multi-agent 设计一个高并发缓存系统
内置 5 个角色预设:架构师、审查员、实现者、测试专家、DevOps。
5. 技能系统
从成功的工作流中自动提炼可复用技能:
# 手动提炼当前会话为技能
/skillify 创建文件并运行验证的工作流
自动提炼:任务完成后,系统自动检测可复用流程,提示确认后生成完整技能文件:
.claude/skills//
├── SKILL.md # 技能定义(触发条件、步骤、成功标准)
└── scripts/ # 可执行脚本(数据处理、模板生成等)
└── process.py
6. Channel IM 集成
通过 MCP 协议接入 IM 平台,远程控制 Agent:
# 启动时绑定
ocean --channels server:feishu
# 会话中动态连接(无需重启)
❯ /feishu # 快速连接飞书
❯ /channel connect dingtalk # 连接钉钉
❯ /channel disconnect feishu # 断开连接
- 入站:IM 消息 → Agent 接收执行
- 出站:Agent 结果 → IM 回复
- 权限中继:工具审批转发到 IM,远程回复 yes/no
- 动态连接:会话中途
/feishu一键连接,离开后断开
已验证平台:飞书、钉钉
快速开始
npm 安装(推荐)
> 前提:需要 Bun >= 1.3.5
# 全局安装
npm install -g @morningljn/ocean
# 或一次性使用
npx @morningljn/ocean
macOS / Linux(一键安装)
curl -fsSL https://raw.githubusercontent.com/ArtLjn/ocean-cc-cli/main/install.sh | bash
> 脚本会自动检测平台、安装 Bun、克隆仓库、构建并部署到 ~/.local/bin/ocean。
国内用户(Gitee 镜像)
国内访问 GitHub 较慢,脚本内置多源回退,优先从 Gitee 拉取:
curl -fsSL https://gitee.com/morning-ljn/ocean-cc-cli/raw/main/install.sh | bash
Windows(PowerShell)
iwr -useb https://raw.githubusercontent.com/ArtLjn/ocean-cc-cli/main/install.ps1 | iex
国内用户:
iwr -useb https://gitee.com/morning-ljn/ocean-cc-cli/raw/main/install.ps1 | iex
> Windows 安装使用 Bun 直接运行,无需 C 编译器。推荐在 WSL 中使用 bash 脚本获得完整体验。
手动安装
# 1. 安装 Bun
curl -fsSL https://bun.sh/install | bash
# 2. 克隆并构建(国内用 Gitee)
git clone https://github.com/ArtLjn/ocean-cc-cli.git && cd ocean-cc-cli
# git clone https://gitee.com/morning-ljn/ocean-cc-cli.git && cd ocean-cc-cli
bun install && ./build.sh
启动
ocean # 交互 TUI 模式
ocean --permission-mode auto # Auto Mode
ocean -p "your prompt" # 无头模式
IDE 集成
Ocean CLI 可替换 Claude Code 官方 CLI,在 IDE 插件中直接使用。安装 Ocean 后,按以下步骤配置你的 IDE:
VS Code / Cursor / Trae CN
安装 Claude Code 扩展后,在 IDE 的 settings.json 中添加:
{
"claudeCode.claudeProcessWrapper": "/Users//.local/bin/ocean"
}
> 配置文件路径: > - VS Code:~/.vscode/settings.json(全局)或项目 .vscode/settings.json > - Cursor:~/.cursor/settings.json(全局)或项目 .cursor/settings.json > - Trae CN:~/.trae-cn/settings.json(全局)或项目 .trae/settings.json
JetBrains(IntelliJ / PyCharm / WebStorm 等)
- 打开 Settings → Tools → Claude Code [Beta]
- 将 Claude command 修改为
ocean(确保~/.local/bin在 PATH 中)
Qoder
与 VS Code 方式相同,在 Qoder 的 settings.json 中配置 claudeCode.claudeProcessWrapper。
验证配置
启动 IDE 中的 Claude Code 面板,输入 /model,如果看到 Ocean CLI 的模型列表(含自定义 Provider),说明配置成功。
技术栈
| 类别 | 技术 | |------|------| | 运行时 | Bun | | 语言 | TypeScript | | 终端 UI | React + Ink | | CLI 解析 | Commander.js | | API | Anthropic SDK | | 协议 | MCP, LSP | | 记忆存储 | SQLite (bun:sqlite) + FTS5(全局+项目双层) |
项目结构
├── src/ # 主源码
│ ├── agents/ # Agent 实现
│ ├── skills/ # 技能系统
│ │ └── bundled/ # 内置技能(skillify、auto-skillify 等)
│ ├── memory/ # 双层记忆系统(HolographicProvider + 全局/项目 SQLite)
│ ├── providers/ # 模型提供商接入
│ ├── utils/hooks/ # Hook 系统核心
│ └── cli/ # 命令行界面
├── docs/ # 文档 & 教程
├── static/ # 静态资源
└── build.sh # 构建脚本
教程目录
| 教程 | 说明 | |------|------| | [快速开始](docs/tutorial-getting-started.md) | 安装、构建、首次使用 | | [自定义模型接入](docs/tutorial-custom-providers.md) | 智谱GLM/豆包/DeepSeek 配置 | | [记忆系统](docs/tutorial-memory.md) | 手动记忆 + 自动提取 + AutoDream | | [多模型协作](docs/tutorial-multi-agent.md) | 角色分工 + 并行调用 | | [技能系统](docs/tutorial-skills.md) | 技能创建、提炼、脚本生成 | | [Channel 集成](docs/tutorial-channel.md) | 飞书/钉钉远程控制 | | [Hook 系统](docs/tutorial-hooks.md) | 事件类型、配置格式、实用示例 |
架构参考
| 文档 | 说明 | |------|------| | [KAIROS 持久助手](docs/02-kairos.md) | 后台持续运行、自动做梦、Cron 调度 | | [Coordinator 多 Agent](docs/04-coordinator.md) | 指挥官+执行者编排模式 | | [Bridge 远程控制](docs/06-bridge.md) | 网页/手机遥控终端 | | [门控架构](docs/07-feature-gates.md) | 三层门控:编译开关 + USER_TYPE + GrowthBook | | [Hermes 自学习方案](docs/hermes-caludecode-复用方案.md) | 技能提炼 / 记忆增强 / Observer 用户建模路线图 |
更新日志
v1.5.3
- 主题关键词提取:写入时从 tags + 英文单词 + 引号内容自动提取 5-8 个主题关键词(位置权重 × 频率权重 × 类别特异性 × Tags 加权),查询时精准区分"核心主题"和"附带提及",缓解 general 黑洞效应
- 五层递进式检索管线:FTS5 MATCH → LIKE(含中文子串分解)→ 字符级交叉匹配 → 分类推断 → trust fallback,弱模型模糊查询语义命中率 75%
- 查询双语扩展:种子术语表 + 事实库自动提取(括号注释/分隔符关联),中文查询自动追加英文术语,英文查询追加中文
- Category 信号乘法强化:IDF 式加权 + 信号集中度归一化,查询信号集中时该 category 事实获得 ~1.5x 乘法提升
- 新增
category_token_stats表:增量维护 token 类别文档频率,支持关键词类别特异性计算 backfillKeywords()启动时补算已有事实的关键词
v1.5.2
- 三层递进式去重管线:层1实体+编辑距离 → 层2 Jaccard bigram(≥0.45) → 层3 Containment包含率(≥0.8),彻底解决多模型切换导致的中文事实重复问题
- 去掉零实体短路:中文内容实体提取为空时不再跳过去重,回退到 bigram 分词相似度检测
- 启动矛盾审计增强:除实体 JOIN 外新增 Jaccard 纯文本矛盾扫描(≤200条时执行),捕捉中文事实的隐性冲突
- 删除废弃的 private findSimilar() 方法(逻辑已整合进 findSimilarFact 层2)
v1.5.1
- 时间戳从 UTC 改为本地时区,修复 createdat/updatedat 显示错乱(datetime('now') → datetime('now', 'localtime'))
- 修复 retrieval_count 始终为 0:检索追踪从死代码 MemoryStore.searchFacts() 迁移到实际搜索路径 FactRetriever.search(),top3 结果额外 +0.01 信任刷新
- system prompt 添加 fact_feedback 使用指引,引导模型主动正向强化有效事实
- 内容检测路由从只覆盖 general 扩展到 general/workflow/coding_style,防止项目知识混入全局库
- 内容检测路由到项目库时 category 强制覆盖为 project(不再保留 AI 错标的 general/workflow)
- isProjectContent 新增技术调试模式匹配(测试/截图/调试 + 路由/dispatch/搜索/agent 组件名)
v1.5.0
- 全局记忆分类细化:从 4 种 category 扩展到 6 种(identity / codingstyle / toolpref / workflow / project / general)
- 分层注入策略:identity/workflow 始终注入,coding_style 按项目技术栈匹配注入,其他走 prefetch
- 语义去重大幅优化:实体优先(≥50% 重叠)+ 归一化编辑距离辅助,彻底解决阈值两难问题
- 路由与分类解耦:category 标签由 AI 标注(允许偏差),存储位置由内容级检测确定性决定
- 去重搜索跨 category 回退:同 category 搜不到时回退搜索全部分类,合并时保留旧分类标签
- 需求变更自动检测:同实体下内容冲突时自动降权旧事实,新需求自动覆盖旧设计
- Skill 记忆增强:skillify 生成技能时自动注入用户偏好和项目知识,智能推荐项目级/全局级存储位置
- 实体提取修复:去掉 bigram 碎片入库,新增中文声明模式提取("我叫XXX"、"名字是XXX")
- 孤立实体自动清理:update/remove 事实时自动清理无关联实体
- system prompt 引导 AI 主动操作 fact_store("记住"时立即写入,update 时保留旧信息)
- 旧数据自动迁移(user_pref/tool → 新 category)
v1.4.1
- 修复自动记忆提取从未触发(绕过 tengupassportquail feature flag)
- 放宽 extractMemories prompt:支持自动提取项目结构、技术栈、目录布局、构建配置
- fact_store 工具 description 改为支持读写,引导 AI 主动存储项目知识
v1.4.0
- 双层 SQLite 记忆架构:全局库(user_pref/tool/general)+ 项目库(project)
- 去掉 memdir markdown 文件写入,统一为纯 SQLite 存储
- 实体优先去重 + Upsert 机制,共享实体 + 编辑距离判断相似事实自动合并更新
- 中文实体提取:bigram 关键词 + 引号/书名号匹配
- FTS5 中文搜索增强:写入时 bigram 预分词 + 查询时 bigram 拆分
- entity_type 自动分类(person/technology/topic)
- extractMemories forked agent 只写 fact_store,不再写 markdown 文件
- AutoDream 改为 SQLite consolidation(矛盾检测/去重/低信任清理)
- prefetch 简化为纯 SQLite 同步检索(` 围栏注入 + 安全扫描(注入检测/PII/不可见Unicode)
- 后台审查 Agent 自动提取事实(extractMemories 集成 fact_store)
- 信任评分 + 反馈机制(fact_feedback 工具)
v1.2.0
- 技能自动提炼(auto-skillify):Stop hook 检测 + scripts 目录支持
- 移除 skillify 门控,
/skillify对所有用户可用
v1.1.0
- Channel IM 集成(飞书/钉钉)
- 自动记忆提取 + AutoDream 整合
- 修复 Bun 1.3.12
@文件匹配和图片粘贴
v1.0.0
- 多模型提供商支持(智谱GLM/豆包/DeepSeek)
- Auto Mode 解除全部门控
/mem轻量记忆系统/multi-agent多模型协作- 海洋深蓝 UI 主题
许可证
[MIT License](LICENSE) © 2025 ArtLjn
Ocean CLI — 让 AI 开发更高效,更顺畅
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ArtLjn
- Source: ArtLjn/ocean-cc-cli
- License: MIT
- Homepage: https://github.com/ArtLjn/ocean-cc-cli#readme
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.