Skip to content

Harness Like

An Obsidian implementation inspired by DeepSeek Harness: run a Cordis plugin system and agents inside Obsidian; user plugins extend commands, tools and panels. UI in Chinese & English. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDharness-like
AuthorFrank6
Minimum Obsidian Version1.5.0
Official Release Date2026-08-15
Last update2026-09-03

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Sep 8, 2026
Release acquisitionrelease metadata checked Sep 8, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-08-15Plugin Added
2026-08-17Plugin Removed
2026-08-17Plugin Re-Added
2026-08-21Plugin Removed
2026-08-21Plugin Re-Added
2026-08-21descriptionDeepSeek Harness 理念的 Obsidian 实现:在 Obsidian 内运行 Cordis 插件体系与 agent,用户插件可直接扩展命令、工具与面板。中英文界面。 / An Obsidian implementation inspired by DeepSeek Harness: run a Cordis plugin system and agents inside Obsidian; user plugins extend commands, tools and panels. UI in Chinese & English. - This plugin has not been manually reviewed by Obsidian staff.An Obsidian implementation inspired by DeepSeek Harness: run a Cordis plugin system and agents inside Obsidian; user plugins extend commands, tools and panels. UI in Chinese & English. - This plugin has not been manually reviewed by Obsidian staff.

Repository Data

LicenseNot Found in package.json
MIT in LICENSE file
Package Managerpnpm
Uses TypescriptYes
Installed BundlersNone found
Installed Testing FrameworksVitest
Has Test FilesYes
Latest Release main.js Size2.73 MB
Detected ES VersionES2022
Probably MinifiedNo
main.js API Findings20 disclosures
Uses BRAT beta releasesNo
DependenciesNone
Dev Dependenciesjsdom, typescript, vitepress, vitest

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Browser Environment AccessReads browser environment data
Browser Storage AccessUses persistent browser storage
Clipboard AccessWrites clipboard data
Dynamic Code Or Remote CodeEvaluates dynamic code
Editor BehaviorAccesses the active editor
Electron Api AccessUses Electron APIs, Uses Electron shell APIs
Full Vault AccessEnumerates vault files
Markdown ProcessingRenders markdown
Network AccessConstructs or references URLs, References authorization or user-agent headers, Uses browser network request APIs
Node Filesystem AccessUses Node filesystem and path APIs
Obsidian Config AccessReferences .obsidian configuration paths
Plugin ManagementEnables or disables other plugins
Plugin Storage AccessReads plugin data, Writes plugin data
Process Or Shell AccessStarts Node subprocesses
User Interface AccessRegisters Obsidian views, Registers commands, Registers plugin settings UI, Registers ribbon icons, Uses Obsidian menus, Uses Obsidian modal UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs, Accesses attachment resource paths
Vault ReadReads vault files, Uses adapter-level vault filesystem APIs
Vault WriteDeletes or trashes vault files, Moves or copies vault files, Uses adapter-level vault filesystem APIs, Writes vault files
Workspace AccessAccesses the active file, Registers Obsidian workspace events
Workspace LayoutManages workspace leaves
FindingTypeConfidenceEvidence
Uses Electron shell APIsWarningDefinitemember_call of "electron" (2)
Evaluates dynamic codeWarningDefiniteconstructor of "Function" (3)
Starts Node subprocessesWarningDefiniteimport of "child_process", member_call of "child_process"
Enables or disables other pluginsWarningDefinitemember_call of "app.plugins.disablePlugin" (2), member_call of "app.plugins.enablePlugin" (2)
Deletes or trashes vault filesWarningDefinitemember_call of "app.vault.delete"
Writes clipboard dataInfoDefinitemember_call of "navigator.clipboard.writeText" (4), member_call of "document.execCommand"
Reads browser environment dataInfoDefinitemember_read of "navigator.language"
Uses persistent browser storageInfoDefinitemember_call of "localStorage.getItem"
Uses browser network request APIsInfoDefinitecall of "fetch" (3)
Uses Electron APIsInfoDefiniteimport of "electron"
References authorization or user-agent headersInfoDefinitestring_contains of "user-agent"
Constructs or references URLsInfoDefinitestring_contains of "https://" (8), string_contains of "http://" (5)
Uses Node filesystem and path APIsInfoDefiniteimport of "fs" (4)
Renders markdownInfoDefinitemember_call of "obsidian"
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Registers commandsInfoDefinitemember_call of "obsidian.Plugin" (3)
Uses Obsidian menusInfoDefinitemember_call of "obsidian.Menu" (6)
Uses Obsidian modal UIInfoDefiniteclass of "obsidian.Modal" (9)
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (3)
Registers ribbon iconsInfoDefinitemember_call of "obsidian.Plugin"
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab" (2), member_call of "obsidian.Plugin"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (21)
Uses adapter-level vault filesystem APIsInfoDefinitemember_call of "app.vault.adapter.read", member_call of "app.vault.adapter.stat", member_call of "app.vault.adapter.write" (2), member_call of "app.vault.adapter.exists"
References .obsidian configuration pathsInfoDefinitestring_contains of ".obsidian/" (16), member_read of "app.vault.configDir"
Enumerates vault filesInfoDefinitemember_call of "app.vault.getAbstractFileByPath" (5), member_call of "app.vault.getMarkdownFiles"
Moves or copies vault filesInfoDefinitemember_call of "app.vault.rename"
Reads vault filesInfoDefinitemember_call of "app.vault.read"
Accesses attachment resource pathsInfoDefinitestring_contains of "obsidian://" (4)
Writes vault filesInfoDefinitemember_call of "app.vault.modify", member_call of "app.vault.create" (2), member_call of "app.vault.createFolder"
Registers Obsidian viewsInfoDefinitemember_call of "obsidian.Plugin" (2)
Accesses the active editorInfoDefinitemember_read of "app.workspace.activeEditor"
Accesses the active fileInfoDefinitemember_call of "app.workspace.getActiveFile"
Registers Obsidian workspace eventsInfoDefinitemember_call of "app.workspace.on" (3)
Manages workspace leavesInfoDefinitemember_call of "app.workspace.getLeavesOfType" (7), member_call of "app.workspace.getRightLeaf" (3), member_call of "app.workspace.setActiveLeaf" (3), member_call of "app.workspace.iterateAllLeaves"

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 29944 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
0.28.172026-08-16None
0.28.182026-08-16None
0.28.192026-08-16None
0.28.212026-08-17None
0.28.312026-08-17None
0.28.332026-08-19None
0.28.352026-08-19None
0.31.02026-08-19None
0.34.42026-08-19None
0.34.62026-08-20None
0.35.62026-08-20None
0.38.12026-08-22None
0.38.22026-08-28None
0.39.02026-08-24None
0.42.02026-08-25None
0.46.02026-09-03None
0.46.12026-09-03None
0.47.02026-09-05None
0.47.12026-09-06None