承接 neosidekick/ai-assistant 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

neosidekick/ai-assistant

Composer 安装命令:

composer require neosidekick/ai-assistant

包简介

Use the power of GPT-4 to assist you in writing content

README 文档

README

Create content drafts faster, brainstorm new ideas, and turn thoughts into brilliant text. Based on the latest findings in artificial intelligence.

Installation

NEOSidekick.AiAssistant is available via Packagist. Add "neosidekick/ai-assistant" : "^2.5" to the require section of the composer.json or run:

composer require neosidekick/ai-assistant

We use semantic versioning, so every breaking change will increase the major version number.

Configuration

API Key

You can use the free version, or get more features with a license. To configure your license key, add the following to your Settings.yaml:

NEOSidekick:
  AiAssistant:
    apikey: 'your-api-key-here'

Content Language

If you're using content dimensions in your Neos setup, we will retrieve the content language from the currently active content dimension. However, if you are not using this feature of Neos, you need to define the default content language in the configuration, like this:

NEOSidekick:
  AiAssistant:
    defaultLanguage: 'en'

English (en) is configured out of the box. Supported languages are:

  • English en
  • English (US) en_US
  • English (Australia) en_AU
  • English (UK) en_UK
  • French fr
  • French (Belgium) fr_BE
  • French (Switzerland) fr_CH
  • French (France) fr_FR
  • French (Canada) fr_CA
  • German de
  • German (Austria) de_AT
  • German (Germany) de_DE
  • German (Switzerland) de_CH
  • Italian it
  • Italian (Italy) it_IT
  • Italian (Switzerland) it_CH
  • Spanish es
  • Spanish (Spain) es_ES
  • Spanish (Mexico) es_MX
  • Spanish (Argentina) es_AR

Permissions

By default, every editor can use the assistant. However, if you want to restrict the access to certain roles, you can copy this configuration into your site package. It will give you an additional role AiAssistantEditor.

roles:
  'Neos.Neos:AbstractEditor':
    privileges:
      - privilegeTarget: NEOSidekick.AiAssistant:CanUse
        permission: ABSTAIN

  'NEOSidekick.AiAssistant:AiAssistantEditor':
    description: Grants access to the NEOSidekick AiAssistant sidebar
    privileges:
      - privilegeTarget: NEOSidekick.AiAssistant:CanUse
        permission: GRANT

  'Neos.Neos:Administrator':
    privileges:
      - privilegeTarget: NEOSidekick.AiAssistant:CanUse
        permission: GRANT

Of course, you can also define the privilege for any other role that you are using for example Neos.Neos:Administrator.

Reverse proxy / headless setups (Zebra, Next.js)

If you run Neos headless behind a frontend proxy — for example a Zebra Next.js frontend that renders the site and proxies backend requests to Neos — the proxy must forward the /neosidekick/ URL prefix to the Neos backend. All of this package's routes live under that prefix:

  • /neosidekick/api/* — the internal Agent API consumed by the NEOSidekick platform
  • /neosidekick/agent/* — the agent authorization flow (chat sidebar consent)
  • /neosidekick/aiassistant/* — the backend UI service

If the proxy only forwards /neos/ (and assets), every /neosidekick/* request is served by the frontend instead of Neos and returns the frontend's own 404, so the Agent API and the chat authorization silently break.

With Next.js this means adding the prefix to your middleware.ts matcher, next to the existing /neos/ entry, for example:

export const config = {
    matcher: [
        '/neos/:path*',
        '/neosidekick/:path*', // forward the AiAssistant routes to Neos
        // …your other proxied paths (assets, etc.)
    ],
};

Public host / trusted proxies. The plugin reports the site's public domain to the NEOSidekick platform so the authorization popup and platform callbacks target the correct URL. It first uses the matching Neos Domain record for the request; if none matches it falls back to the active request's base URI. For that fallback to yield the public host (and not the internal upstream host the proxy connects to), configure Flow's trusted proxies so the forwarded Host/Proto headers are honoured, or add a Neos Domain record for each public host you serve the backend on.

Page-specific AI briefings

By default, we add the mixin NEOSidekick.AiAssistant:Mixin.AiPageBriefing to the Neos.Neos:Document NodeType to allow editors to fine-tune the NEOSidekick AI Assistant behavior. Advanced users can also build their own based on the NEOSidekick YAML API.

AiPageBriefing.png

ImageAltTextEditor and ImageTitleEditor

With a few simple YAML configurations, you can configure NodeType properties for image alternative text and image titles. In addition to AI generation, it also offers the option to configure classic fallbacks:

  • If no text is set, use the title or description of the asset
  • If that is not set, use the file name

This allows you to easily implement the same behavior in the editor and frontend. And my personal favorite: every time the image changes or is set, it automatically generates new text.

Image-AltText-Editor.gif

Read the docs

Image Description Generator

With this tool, you can create image descriptions for the media browser and save them in the title or description field of the media asses. These help you better search for images in the media browser and can be used as fallback alternative text for an image. They are optimized as image alternative texts for SEO and accessibility.

Read the tutorial on how create dozens of image descriptions in no time, and use them as image fallback alternative texts.

Alternate-Image-Text-Generator.png

SEO Title and Meta Description Generator

We have designed a two-step process to help you create great SEO titles and meta descriptions, that are both search engine friendly and engaging for your readers. We designed a special backend module just to ease the to make it fast and efficient.

In the first step, we look at the pages and suggest a likely focus keyword for this page.

Focus-Keyword-Generator.gif

Next we create SEO titles and meta description optimized for the given focus keyword.

SEO-Title-and-Meta-Description-Generator.gif

SEO Image Alternative Text Generator

Images boost user engagement, but search engines can't interpret visuals—they rely on alt text.

The Image Description Generator helps you create effective descriptions for your media. This improves the searchability of extensive media libraries and by serving as a fallback alternative text for images it makes your site more accessible. To craft SEO-optimized alt texts, it's crucial to understand the page content and context. The same image can need different descriptions depending on how it's used. Since Neos NodeTypes do not automatically link image attributes to alt text properties, you must configure these details for NEOSidekick in YAML. After this setup, you can generate SEO-friendly alt texts directly in the Neos content editor. Here, you can also systematically apply these alt texts on bulk.

NEOSidekick can identify the most relevant pages for you and provide suggestions for each image title and alternative text of these pages.

SEO-Image-Alternative-Text-Generator.gif

License

You can use it for free with our free and paid plans. You are not allowed to modify, reuse or resell this code. For additional feature wishes, write us an email to support@neosidekick.com.

neosidekick/ai-assistant 适用场景与选型建议

neosidekick/ai-assistant 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 31.38k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2023 年 04 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「flow」 「Neos」 「writing」 「ai」 「openai」 「ChatGpt」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 neosidekick/ai-assistant 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 neosidekick/ai-assistant 我们能提供哪些服务?
定制开发 / 二次开发

基于 neosidekick/ai-assistant 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 31.38k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 26
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2023-04-04