Codex EchoInk

by Akin-Lvyf
5
4
3
2
1
Score: 47/100

Description

Codex for Obsidian plugin

Reviews

No reviews yet.

Stats

34
stars
1,557
downloads
4
forks
78
days
7
days
7
days
4
total PRs
2
open PRs
1
closed PRs
1
merged PRs
1
total issues
0
open issues
1
closed issues
506
commits

Latest Version

7 days ago

Changelog

2.5.2 - 2026-09-27

EchoInk Agent 2.5.0:桌面端联网搜索与自动归档

中文

修复 Codex 授权与对话兼容。 修复部分 Codex 请求参数、登录令牌和流式回答格式的兼容问题;连接测试改用较低推理强度,等待上限延长至 60 秒。参数被拒绝、模型不可用、额度受限、网络故障与授权失效会分别提示,减少误报“返回格式不符合协议”或要求重新登录的情况。

修复 Codex 对话连接。 修复桌面端 OpenAI Codex Beta 已授权并保存模型后,发送消息仍提示“网络连接中断”的问题。其余功能沿用 2.5.0。

需要资料时向外搜索,暂时不用的对话交给归档。

2.5.0 为桌面端加入 Tavily 联网搜索与会话自动归档。两项功能默认关闭,由你决定何时开启。

  • 联网搜索,回答附带来源。 配置 Tavily 后,当前模型可以按问题需要搜索网页,阅读摘要并引用返回的链接。你可以继续使用已有的对话模型。
  • 模型和工具分开配置。 API Provider 顶部新增“大模型 API / tool 工具”切换;Tavily 支持 Key 显隐、连接测试和独立开关。测试成功不会自动开启搜索。
  • 按时间整理旧对话。 在复盘管理中选择 7、14、30 或 90 天,超过期限未更新的对话会自动归档。正在查看、运行、排队或保留待发送草稿的对话会被跳过;已归档对话可以恢复,不会删除内容,也不需要模型服务。
  • 小窗口设置更整齐。 修复 Tavily 说明与开关在窄窗口下错位的问题。

开始使用

联网搜索:打开 设置 → EchoInk Agent → API Provider → tool 工具,填入自己的 Tavily API Key,测试连接后自主开启“联网搜索”。连接测试会执行一次 basic 搜索并消耗 1 credit;正常搜索也使用 basic,最多返回 5 条结果。Tavily 需要单独的账号与 Key,额度和价格以 官方政策 为准。开关调整会在已有对话的下一轮生效。

自动归档:打开 复盘 → 管理 → 自动归档 选择期限。检查只在插件运行时进行;可在“已归档会话”中恢复对话。当前不包含会话置顶功能。部分搜索过程摘要仍可能显示通用工具标题,实际网页结果和来源链接可正常返回。

本次新增搜索与自动归档仅用于桌面端。移动端继续保留现有 Beta 功能,iOS 与 Android 真机验证仍未完成。搜索词会发送给 Tavily,返回的摘要和链接交给当前模型用于回答;请按你的信息分享范围使用。

下载与升级

需要 Obsidian 1.11.4 及以上。下载本页的 main.js、manifest.json、styles.css,放入 Vault 的 .obsidian/plugins/codex-echoink/,保留已有 data.json 和其他数据文件,重新启用插件。社区目录同步后,也可在 Obsidian 社区插件页面检查更新。

English

Fixed Codex authorization and chat compatibility. Fixed compatibility issues with certain Codex request parameters, authorization tokens, and streamed responses. Connection tests now use lower reasoning effort and wait up to 60 seconds. Request rejection, unavailable models, usage limits, network failures, and expired authorization now produce distinct messages, reducing misleading response-format errors and requests to sign in again.

Fixed Codex chat connectivity. Fixed an issue where desktop OpenAI Codex Beta could report a network interruption when sending messages after authorization and model setup. All other features remain as in 2.5.0.

Search outside your vault when you need sources, and archive conversations when you are done with them.

2.5.0 brings Tavily web search and automatic conversation archiving to desktop. Both are off by default, so you choose when to enable them.

  • Search the web and follow sources. Once Tavily is configured, your current model can search when a question calls for it, read snippets, and cite the returned links. You can keep your existing chat model.
  • Configure models and tools separately. The API Provider page now has model API and tool API tabs. Tavily includes key visibility controls, a connection test, and its own switch. A successful test does not enable search automatically.
  • Organize older conversations by age. Choose 7, 14, 30, or 90 days in Review settings. Conversations with no updates beyond that period are archived automatically. Conversations being viewed, running, queued, or holding an unsent draft are skipped. Archived conversations can be restored; nothing is deleted, and no model service is required.
  • Keep settings usable in narrow windows. Tavily descriptions and the search switch now stay aligned in smaller settings windows.

Get started

Web search: open Settings → EchoInk Agent → API Provider → tool 工具 (Tools), enter your own Tavily API key, test the connection, and enable web search. Each connection test makes one basic search and consumes 1 credit. Normal searches also use basic and return up to 5 results. A separate Tavily account and key are required; quotas and pricing follow its current policy. Switch changes apply to the next turn of an existing conversation.

Automatic archiving: choose a period under Review → Management → Automatic archiving. Checks run only while the plugin is active. Restore conversations from Archived conversations. Conversation pinning is not included. Some search activity summaries may still use a generic tool title; web results and source links remain available.

The new search and archiving features are desktop-only. Mobile retains its existing Beta features, and real iOS and Android device validation remains incomplete. Search queries are sent to Tavily; returned snippets and links are passed to your current model for its answer. Use search according to what you are comfortable sharing.

Download and upgrade

Requires Obsidian 1.11.4 or later. Download main.js, manifest.json, and styles.css from this release and place them in the vault's .obsidian/plugins/codex-echoink/ folder. Keep existing data.json and other data files, then re-enable the plugin. You can also check for updates in Obsidian Community plugins once its directory picks up this version.

README file from

Github

EchoInk Agent is a personal knowledge agent for Obsidian. It keeps conversations going, organizes and maintains the current vault, stores useful long-term context as visible and correctable memory, and gradually develops its own way of working with you. No Codex CLI installation is required. Connect a supported model service to get started.

What's new in 2.5.2

Fixed Codex authorization and chat compatibility. Fixed compatibility issues with certain Codex request parameters, authorization tokens, and streamed responses. Connection tests now use lower reasoning effort and wait up to 60 seconds. Request rejection, unavailable models, usage limits, network failures, and expired authorization now produce distinct messages, reducing misleading response-format errors and requests to sign in again.

Fixed Codex chat connectivity. Fixed an issue where desktop OpenAI Codex Beta could report a network interruption when sending messages after authorization and model setup. All other features remain as in 2.5.0.

Web search and automatic conversation archiving arrive on desktop. Ask EchoInk to look up web sources, and keep inactive conversations out of the active list on a schedule you choose.

  • Search the web and follow sources: Enter your Tavily API key under API Provider → tool 工具 (Tools), test the connection, and enable web search. The model can search when a question calls for it and answer using the returned links.
  • Configure models and tools separately: The Provider page now separates model APIs from tool APIs. Search uses its own Tavily key, so you can keep your existing chat model.
  • Archive older conversations automatically: Choose 7, 14, 30, or 90 days under Review → Management → Automatic archiving. Conversations in use are skipped, and archived conversations can be restored. It is off by default and needs no model or API key.
  • Use settings in a narrow window: Tavily descriptions and the search switch now stay aligned in smaller settings windows.

Web search and automatic archiving are desktop-only in this release. Mobile retains its existing Beta features; real iOS and Android device validation is not complete. Tavily requires a separate account and API key. Each connection test makes one basic search and consumes 1 credit; quotas and pricing follow Tavily's current policy. Read the 2.5.2 release notes.

Features

The sections below describe the desktop experience. Mobile Beta currently covers chat, Markdown note reading and creation, local memory, and a custom welcome. Cross-device memory sync, background tasks, CLI, attachments, and the complete desktop Skills/MCP features are not included on mobile.

Persistent conversations with a visible working process

  • Create, rename, archive, restore, and soft-delete conversations. Reading local history does not depend on a Provider.
  • Reasoning, tool activity, approval requests, task plans, file changes, and final answers share one timeline.
  • Expand reasoning while it streams. Scrolling up pauses auto-follow until you return to the bottom.
  • Open Plan mode from the composer's + menu when a complex task should show its steps first. Approve or reject requested tool access inside the conversation.
  • Manage archived conversations under Settings → EchoInk Agent → Review → Archived conversations.

Agent identity and long-term growth

  • The updated five-step guide points to the Agent profile, where General settings let you choose a style, name, and avatar. Names can be up to 24 characters; choose one of 15 built-in avatars or upload an SVG.
  • Long-term memory is enabled by default. The Agent can add or update information worth keeping during ordinary conversations without requiring a repeated “remember this” instruction.
  • Offline memory organization (Dreaming) runs three times per day by default and can be set from one to six. It connects related experiences and gradually updates the Agent profile, user profile, and learned working habits.
  • Open Settings → EchoInk Agent → General → Long-term memory / Identity and user profile to view profiles, change the schedule, or choose another starting style. Changing the Agent's name or avatar does not reset its style or memory.
  • Turning off offline organization leaves normal memory writes and recall available. Turning off long-term memory keeps the Agent's name, avatar, and base style.

Images, documents, and note context

  • Paste or drag images into the composer, or use + to add images and files.
  • PNG, JPEG, GIF, and WebP are supported directly. BMP, HEIC, HEIF, and SVG are converted to PNG when possible. EchoInk warns before sending when the current model cannot accept images.
  • Attach PDF, DOC, DOCX, Markdown, and HTML. A turn accepts up to eight documents, 20 MiB per file and 50 MiB in total.
  • Encrypted, damaged, or over-context documents are rejected instead of silently losing content. OCR for scanned PDFs is not included yet.
  • Type @ to find Markdown notes in the current vault by file name, path, alias, Pinyin, or initials.
  • Sent images and documents remain available as openable thumbnails or file cards.

Providers and models

  • Built-in entries for OpenAI Codex Beta, Qwen, Qwen Token Plan, Zhipu GLM, Kimi China, MiniMax China, DeepSeek, local Ollama, and Custom endpoints.
  • OpenAI Responses, OpenAI Chat Completions, and Anthropic Messages protocols.
  • Save multiple instances of the same Provider. Enable several models per instance, choose a default, discover available models, or add a Model ID manually.
  • Deep-reasoning controls appear only when the selected model supports them, avoiding unsupported parameters.
  • API keys for ordinary Providers and OpenAI Codex Beta sign-in credentials are stored in plugin settings for the current vault. The local Ollama entry does not require an API key by default.

Vault knowledge maintenance

  • /ask focuses on knowledge-base questions and shows the sources used for the turn.
  • /maintain refines Raw notes, writes reusable knowledge to Wiki or Projects, and verifies the result by reading it back.
  • Maintenance binds to the current target revision. If a note changes while generation is running, EchoInk refuses to overwrite the newer content.
  • Writing depends on your workspace permissions and your request. /ask and /maintain do not grant or remove file access; ordinary chat can also save a journal when you explicitly ask.
  • Choose Default plan to organize existing material into Raw, or Custom plan to review and adjust note assignments first. Organization starts when you select Start initialization. Missing standard folders can also be restored without moving, deleting, or rewriting existing notes.

Visible, correctable long-term memory

  • Current memory is grouped into Facts, Views, Decisions, Active, and Episodes. Each record shows its title, content, and recall context.
  • The correction dialog keeps the original, your correction notes, and the corrected preview visible together. Generating a preview never changes the original; only Save creates a new version.
  • Stop, close, generation failure, late output, or a revision conflict cannot overwrite the current record.

Review, Skills, and MCP

  • Generate Agent or knowledge-base weekly reports on demand. Choose the previous full week or the current week to date, a destination inside the vault, and whether to open the resulting HTML.
  • Manage plugin resources, Skills, and MCP connections for the current vault.
  • Read-only MCP tools run through the current conversation and respect each connection's enabled and trusted settings.
  • Select text in the editor and use the context menu to translate it to English with the current default Provider.

Installation

Obsidian Community Plugins

If EchoInk Agent is available in the Obsidian Community Plugins directory:

  1. Open Settings → Community plugins → Browse.
  2. Search for EchoInk Agent.
  3. Install and enable the plugin.

Manual installation

  1. Download main.js, manifest.json, and styles.css from the 2.5.2 Release.
  2. Create this directory inside your vault:
<vault>/.obsidian/plugins/codex-echoink/
  1. Place the three files in that directory.
  2. Restart Obsidian and enable EchoInk Agent under Community plugins.

Sync note: Obsidian Sync Standard has a 5 MiB per-file limit. Plugin files must fit the limit, and community-plugin syncing must be enabled on each device.

Mobile Beta

After installing the same three files in your mobile vault, enable EchoInk and run 打开移动对话 (Open mobile chat). In the mobile settings, open API Provider → 模型与提供商 (Models and providers), enter your API key, endpoint, and model ID, and select the model. You can then ask a question, reference a note, or request a new Markdown note. The mobile interface is currently in Chinese.

Manage local memory under 复盘 → 记忆 (Review → Memory), and customize the welcome under 基础设置 (General). Mobile conversations and memory are stored separately from the desktop format; this release does not merge or sync the two histories.

Quick start (desktop)

On first use, the five-step guide points to these controls. Go back, jump between steps, or dismiss it at any time:

  1. Select the feather icon in Obsidian's left ribbon to open the workspace and EchoInk Agent sidebar.
  2. Select the gear in the upper-right corner of the EchoInk sidebar to open settings.
  3. Connect a model service under API Provider.
  4. Under Knowledge, choose Default plan or Custom plan. Review custom assignments before selecting Start initialization.
  5. Choose the Agent's starting style, name, and avatar under General.

Create a conversation when setup is complete. Before the first ordinary chat turn, use the folder control in the composer to choose a local workspace. Use /ask for Knowledge questions and /maintain for refinement. Use the composer's + menu or @ when a turn needs images, documents, note context, or Plan mode.

Add images, documents, and notes to a conversation

Action Result
Paste or drag an image Add the image to the current input
+ → Add image Select an image from the computer
+ → Files and folders Select one or more supported files; this version does not import an entire folder
+ → Add current note Add the Markdown note currently open in the editor
Type @ Find and add a Markdown note from the current vault
+ → Plan mode Ask a complex task to show its plan first

Attachments belong to the current input. Remove a card before sending to cancel it. If preparation fails, the whole turn stops with a clear reason instead of sending incomplete content.

Configure Providers and models

Open Settings → EchoInk Agent → API Provider → Add model:

  • For an API-key Provider, choose the service, enter its API URL and API key, discover or add models, enable the models you need, and choose a default.
  • For OpenAI Codex Beta, open the Account sign-in group, choose the entry, and select Sign in with OpenAI. If the browser cannot return automatically, paste the callback URL or authorization code into the settings dialog and select Complete authorization.
  • Qwen API and Qwen Token Plan are separate entries. Choose the one that matches your account.
  • To disconnect OpenAI Codex Beta, select Log out in the same Provider dialog.

Knowledge maintenance

/maintain supports three scopes:

Input Scope
/maintain Check all maintainable Raw notes
Select one raw/**.md note in the composer, then run /maintain Maintain only that Raw note
/maintain note name Fuzzy-search Raw notes and maintain within the candidate set

Single-note mode accepts one Raw Markdown note from the current vault. If a name query has no reliable match, EchoInk does not fall back to global maintenance. Already-refined content with no changes finishes normally without another write.

Review and memory correction

Open Settings → EchoInk Agent → Review:

  • Under Generate reports, choose the date range, destination folder, and whether to open the HTML result.
  • Under Archived conversations, search, restore, or soft-delete conversations. The original conversation record remains available.
  • Under Memory correction, browse current records by category, generate a corrected preview, and decide whether to save it.

Upgrade notes

Upgrading from 2.1.0 or 2.0.3

  • Upgrade in place without rebuilding conversations, Knowledge, or long-term memory. Saved Provider and model settings are upgraded automatically.
  • 2.5.2 does not rewrite content already stored in old conversations. If an older conversation already contains repeated answers or failed turns, create a new conversation after upgrading.
  • Users who completed the guide may not see it again after upgrading. To replay it, disable and re-enable EchoInk in Community plugins; the completion screen also offers Replay.

Upgrading from 1.x

  • EchoInk 2.x stores Provider API keys directly. If an existing configuration contains only a retired Credential reference, enter its API key once in Provider settings.
  • EchoInk 2.x does not read or migrate retired Codex, OpenCode, or Hermes conversations, or data from retired Cognitive, Reflection, and Memory formats. It does not proactively delete those files.
  • Keep a vault snapshot before upgrading, following your normal backup practice.

Privacy and data

  • EchoInk accesses the current vault through Obsidian APIs. Desktop keeps its existing capabilities; Mobile Beta limits note operations to the current vault.
  • Conversation records, knowledge files, memory, and reports stay in the local vault.
  • API keys, Provider configuration, and OpenAI Codex Beta sign-in credentials are stored in plugin settings for the current vault. Configure them only on trusted devices and in trusted vaults.
  • On desktop, a local workspace selected for a conversation can be outside the current vault. The composer's file access can be Read only, Workspace write, or Full access. Full access removes the workspace boundary and should be used only for trusted tasks. EchoInk also reads outside-vault attachments only when you explicitly select, drag, or paste them.
  • Remote Providers receive the prompt, conversation, Knowledge, memory, notes, attachments, and tool results required for the current request. EchoInk does not upload the entire vault or workspace by default.
  • Desktop Tavily web search is off by default. When enabled, search queries are sent to Tavily (api.tavily.com), and returned snippets and links go to the current model for its answer. Queries may include content from your current question. Connection tests also send one public query to Tavily and consume credits. The Tavily key is stored in local plugin settings; service terms, quotas, and pricing follow Tavily.
  • Custom Providers and MCP connections are also subject to the policies of their services, servers, and commands. Configure only services and local commands you trust.
  • EchoInk has no telemetry service of its own.

Requirements

  • Obsidian 1.11.4 or later. Desktop retains its existing interface; mobile features are Beta.
  • Cloud Providers require their own API key or account and may charge for usage.
  • Image input requires a vision-capable model.
  • Mobile requires an API-key model using OpenAI Chat Completions or Responses. Real iOS/Android device validation is still pending.
  • Node.js is required only for local development, not for normal installation.

Development

Node.js 22.19.0 or later is recommended:

npm install
npm run test
npm run typecheck
npm run build

Create a local manual-install package:

npm run package

License

EchoInk is released under the MIT License. Third-party notices are available in THIRD_PARTY_NOTICES.md.