- package.json name、cordis.patch.yml id/name、lib/index.js 导出、client.js 插件 id/设置命名空间/显示名默认值,全部统一为单连字符 apes-sidebar - 双连字符写法在 npm 包名和 loader 解析中易与单连字符混淆,统一后更规范
24 lines
1.0 KiB
JavaScript
24 lines
1.0 KiB
JavaScript
/**
|
|
* apes-sidebar — WorkBuddy/Tutti-style sidebar enhancement for
|
|
* DeepSeek Harness Desktop.
|
|
*
|
|
* Host-side entry (Node). This half is deliberately minimal: the real value
|
|
* lives in the client bundle (lib/client.js) which registers the Tasks /
|
|
* Agents / Profile tabs through dsh-better-sidebar's ctx.betterSidebar
|
|
* service. The host half exists so the bundle has a Node row to mount (the
|
|
* dsh.client.inject declaration in package.json pulls the browser half in).
|
|
*/
|
|
|
|
export const name = 'apes-sidebar'
|
|
|
|
// NOTE: cordis resolves `inject` as a plain map of `serviceName -> intercept
|
|
// config`. An object literal like `{ optional: ['logger'] }` is parsed as a
|
|
// dependency on a service literally named "optional", which never exists and
|
|
// leaves the fiber pending forever — fatal for the whole plugin tree. Do not
|
|
// declare `inject` here; apply() guards ctx.logger at runtime instead.
|
|
|
|
export function apply(ctx) {
|
|
const log = ctx.logger ? ctx.logger('apes-sidebar') : console
|
|
log.info('apes-sidebar host loaded (tabs register via client bundle)')
|
|
}
|